{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./App/entries/default/main.js","webpack:///./App/mvvm/models/custom/common/fund-programme/performance.js","webpack:///./App/mvvm/models/custom/corporate/corporate.js","webpack:///./App/mvvm/models/custom/enterprise/contracts.js","webpack:///./App/mvvm/models/custom/enterprise/dashboard-performance-metrics.js","webpack:///./App/mvvm/models/custom/enterprise/enterprise.js","webpack:///./App/mvvm/models/custom/enterprise/mentor-rating.js","webpack:///./App/mvvm/models/custom/enterprise/overview-metric.js","webpack:///./App/mvvm/models/custom/enterprise/performance.js","webpack:///./App/mvvm/models/custom/enterprise/wagr-report.js","webpack:///./App/mvvm/models/custom/fund/fund.js","webpack:///./App/mvvm/models/custom/mentor/additional-info.js","webpack:///./App/mvvm/models/custom/mentor/enterprise-rating.js","webpack:///./App/mvvm/models/custom/mentor/mentor.js","webpack:///./App/mvvm/models/custom/mentor/timesheet.js","webpack:///./App/mvvm/models/custom/programme/programme.js","webpack:///./App/mvvm/models/custom/user/user.js","webpack:///./App/mvvm/viewmodels/views sync ^\\.\\/.*\\.js$","webpack:///./App/mvvm/viewmodels/views/custom/common/fund-programme/performance.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/active.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/add.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/dashboard.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/dashboard/active-users.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/dashboard/fund.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/dashboard/inactive-users.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/dashboard/overview.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/dashboard/programme.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/edit.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/enterprise.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/inactive.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/user/add.js","webpack:///./App/mvvm/viewmodels/views/custom/corporate/user/edit.js","webpack:///./App/mvvm/viewmodels/views/custom/edge/dashboard.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/active.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/add.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/bulk-upload.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/dashboard/active-users.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/dashboard/diagnostic.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/dashboard/growth-plan.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/dashboard/inactive-users.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/dashboard/news.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/dashboard/overview/overview.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/dashboard/performance.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/edit.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/inactive.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/report/confirmation.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/report/contracts.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/report/list-edit.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/report/list.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/report/mentor-rating.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/report/performance.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/report/super-edit.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/report/view.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/user/add.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/user/edit.js","webpack:///./App/mvvm/viewmodels/views/custom/enterprise/wagr/wagr-report.js","webpack:///./App/mvvm/viewmodels/views/custom/fund/active.js","webpack:///./App/mvvm/viewmodels/views/custom/fund/add.js","webpack:///./App/mvvm/viewmodels/views/custom/fund/closed.js","webpack:///./App/mvvm/viewmodels/views/custom/fund/dashboard/enterprise.js","webpack:///./App/mvvm/viewmodels/views/custom/fund/dashboard/news.js","webpack:///./App/mvvm/viewmodels/views/custom/fund/dashboard/overview.js","webpack:///./App/mvvm/viewmodels/views/custom/fund/edit.js","webpack:///./App/mvvm/viewmodels/views/custom/fund/inactive.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/active.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/add.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/dashboard.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/dashboard/enterprise.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/dashboard/profile.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/dashboard/timesheet.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/edit.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/inactive.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/report/additional-info.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/report/confirmation.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/report/document-upload.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/report/enterprise-rating.js","webpack:///./App/mvvm/viewmodels/views/custom/mentor/report/view.js","webpack:///./App/mvvm/viewmodels/views/custom/programme/active.js","webpack:///./App/mvvm/viewmodels/views/custom/programme/add.js","webpack:///./App/mvvm/viewmodels/views/custom/programme/closed.js","webpack:///./App/mvvm/viewmodels/views/custom/programme/dashboard/enterprise.js","webpack:///./App/mvvm/viewmodels/views/custom/programme/dashboard/news.js","webpack:///./App/mvvm/viewmodels/views/custom/programme/dashboard/overview.js","webpack:///./App/mvvm/viewmodels/views/custom/programme/edit.js","webpack:///./App/mvvm/viewmodels/views/custom/programme/inactive.js","webpack:///./App/mvvm/viewmodels/views/custom/setting/bulk-report-upload.js","webpack:///./App/mvvm/viewmodels/views/custom/setting/data-list.js","webpack:///./App/mvvm/viewmodels/views/custom/setting/system-users.js","webpack:///./App/mvvm/viewmodels/views/custom/system/notifications.js","webpack:///./App/mvvm/viewmodels/views/custom/system/terms-of-compliance.js","webpack:///./App/mvvm/viewmodels/views/custom/system/terms-of-use.js","webpack:///./App/mvvm/viewmodels/views/custom/user/active.js","webpack:///./App/mvvm/viewmodels/views/custom/user/add.js","webpack:///./App/mvvm/viewmodels/views/custom/user/edit.js","webpack:///./App/mvvm/viewmodels/views/custom/user/inactive.js","webpack:///./App/mvvm/viewmodels/views/default/base.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/assign-corporate-managers.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/assign-corporate.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/assign-edge-mentors.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/assign-enterprises.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/assign-mentors.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/assign-missing-middle-funding-reason.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/assign-project-managers.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/confirmation.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/procurement-growth-wagr-report-breakdown.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/profit-growth-wagr-report-breakdown.js","webpack:///./App/mvvm/viewmodels/views/default/common/modal/wagr-report-breakdown.js","webpack:///./App/mvvm/viewmodels/views/default/default.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/change-password.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/forgot-password.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/login.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/mfa.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/profile.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/register-mfa.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/reset-password.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/set-password.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/sso-login-error.js","webpack:///./App/mvvm/viewmodels/views/default/system/auth/sso-login.js","webpack:///./App/mvvm/viewmodels/views/default/system/footer/footer.js","webpack:///./App/mvvm/viewmodels/views/default/system/sidebar/entity-search.js","webpack:///./App/mvvm/viewmodels/views/default/system/sidebar/footer.js","webpack:///./App/mvvm/viewmodels/views/default/system/sidebar/navigation.js","webpack:///./App/mvvm/viewmodels/views/default/system/topbar/menu.js","webpack:///./App/mvvm/viewmodels/views/default/system/topbar/page-title.js","webpack:///./App/mvvm/viewmodels/views/default/system/usercontrols/user.js","webpack:///./App/mvvm/viewmodels/viewslayouts sync ^\\.\\/.*\\.js$","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/corporate/dashboard.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/corporate/manage-corporates.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/corporate/user-dashboard.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/enterprise/confirmation.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/enterprise/dashboard.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/enterprise/enterprise-report.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/enterprise/manage-enterprise-users.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/enterprise/manage-enterprises.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/enterprise/user-dashboard.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/fund/dashboard.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/fund/manage-funds.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/mentor/dashboard.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/mentor/manage-mentors.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/mentor/mentor-report.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/programme/dashboard.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/programme/manage-programmes.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/setting/manage-settings.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/system/dashboard.js","webpack:///./App/mvvm/viewmodels/viewslayouts/custom/user/manage-users.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/base.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/common/modal/assign-corporate-layout.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/common/modal/assign-corporate-managers-layout.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/common/modal/assign-enterprise-layout.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/common/modal/assign-mentor-tabs.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/common/modal/assign-missing-middle-funding-reason-layout.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/common/modal/assign-pm-layout.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/common/modal/confirmation.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/default.js","webpack:///./App/mvvm/viewmodels/viewslayouts/default/system/auth/user-profile.js","webpack:///./App/mvvm/views/viewcode sync ^\\.\\/.*\\.js$","webpack:///./App/mvvm/views/viewcode/custom/common/fund-programme/performance.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/active.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/add.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/dashboard.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/dashboard/active-users.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/dashboard/fund.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/dashboard/inactive-users.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/dashboard/overview.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/dashboard/programme.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/edit.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/enterprise.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/inactive.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/user/add.js","webpack:///./App/mvvm/views/viewcode/custom/corporate/user/edit.js","webpack:///./App/mvvm/views/viewcode/custom/edge/dashboard.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/active.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/add.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/bulk-upload.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/dashboard/active-users.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/dashboard/diagnostic.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/dashboard/growth-plan.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/dashboard/inactive-users.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/dashboard/news.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/dashboard/overview/overview.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/dashboard/performance.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/edit.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/inactive.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/report/confirmation.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/report/contracts.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/report/list.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/report/mentor-rating.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/report/performance.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/report/super-edit.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/report/view.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/user/add.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/user/edit.js","webpack:///./App/mvvm/views/viewcode/custom/enterprise/wagr/wagr-report.js","webpack:///./App/mvvm/views/viewcode/custom/fund/active.js","webpack:///./App/mvvm/views/viewcode/custom/fund/add.js","webpack:///./App/mvvm/views/viewcode/custom/fund/closed.js","webpack:///./App/mvvm/views/viewcode/custom/fund/dashboard/enterprise.js","webpack:///./App/mvvm/views/viewcode/custom/fund/dashboard/news.js","webpack:///./App/mvvm/views/viewcode/custom/fund/dashboard/overview.js","webpack:///./App/mvvm/views/viewcode/custom/fund/edit.js","webpack:///./App/mvvm/views/viewcode/custom/fund/inactive.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/active.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/add.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/dashboard.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/dashboard/enterprise.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/dashboard/profile.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/dashboard/timesheet.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/edit.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/inactive.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/report/additional-info.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/report/confirmation.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/report/document-upload.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/report/enterprise-rating.js","webpack:///./App/mvvm/views/viewcode/custom/mentor/report/list.js","webpack:///./App/mvvm/views/viewcode/custom/programme/active.js","webpack:///./App/mvvm/views/viewcode/custom/programme/add.js","webpack:///./App/mvvm/views/viewcode/custom/programme/closed.js","webpack:///./App/mvvm/views/viewcode/custom/programme/dashboard/enterprise.js","webpack:///./App/mvvm/views/viewcode/custom/programme/dashboard/news.js","webpack:///./App/mvvm/views/viewcode/custom/programme/dashboard/overview.js","webpack:///./App/mvvm/views/viewcode/custom/programme/edit.js","webpack:///./App/mvvm/views/viewcode/custom/programme/inactive.js","webpack:///./App/mvvm/views/viewcode/custom/setting/bulk-report-upload.js","webpack:///./App/mvvm/views/viewcode/custom/setting/data-list.js","webpack:///./App/mvvm/views/viewcode/custom/setting/system-users.js","webpack:///./App/mvvm/views/viewcode/custom/system/contact.js","webpack:///./App/mvvm/views/viewcode/custom/system/notifications.js","webpack:///./App/mvvm/views/viewcode/custom/system/terms-of-compliance.js","webpack:///./App/mvvm/views/viewcode/custom/system/terms-of-use.js","webpack:///./App/mvvm/views/viewcode/custom/user/active.js","webpack:///./App/mvvm/views/viewcode/custom/user/add.js","webpack:///./App/mvvm/views/viewcode/custom/user/edit.js","webpack:///./App/mvvm/views/viewcode/custom/user/inactive.js","webpack:///./App/mvvm/views/viewcode/default/base.js","webpack:///./App/mvvm/views/viewcode/default/default.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/change-password.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/forgot-password-confirmation.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/forgot-password.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/generic.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/login.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/mfa.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/profile.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/register-mfa.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/reset-password-confirmation.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/reset-password.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/set-password.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/sso-login-error.js","webpack:///./App/mvvm/views/viewcode/default/system/auth/sso-login.js","webpack:///./App/mvvm/views/viewhtml/desktop sync ^\\.\\/.*\\.html$","webpack:///./App/mvvm/views/viewhtml/desktop/custom/common/fund-programme/performance.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/active.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/add.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/dashboard.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/dashboard/active-users.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/dashboard/fund.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/dashboard/inactive-users.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/dashboard/overview.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/dashboard/programme.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/enterprise.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/inactive.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/user/add.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/corporate/user/edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/edge/dashboard.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/active.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/add.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/bulk-upload.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/dashboard/active-users.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/dashboard/diagnostic.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/dashboard/growth-plan.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/dashboard/inactive-users.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/dashboard/news.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/dashboard/overview/overview.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/dashboard/performance.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/inactive.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/report/confirmation.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/report/contracts.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/report/list-edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/report/list.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/report/mentor-rating.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/report/performance.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/report/super-edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/report/view.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/user/add.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/user/edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/enterprise/wagr/wagr-report.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/fund/active.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/fund/add.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/fund/closed.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/fund/dashboard/enterprise.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/fund/dashboard/news.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/fund/dashboard/overview.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/fund/edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/fund/inactive.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/active.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/add.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/dashboard.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/dashboard/enterprise.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/dashboard/profile.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/dashboard/timesheet.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/inactive.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/report/additional-info.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/report/confirmation.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/report/document-upload.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/report/enterprise-rating.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/mentor/report/list.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/product/product-list-view.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/programme/active.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/programme/add.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/programme/closed.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/programme/dashboard/enterprise.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/programme/dashboard/news.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/programme/dashboard/overview.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/programme/edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/programme/inactive.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/setting/bulk-report-upload.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/setting/data-list.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/setting/system-users.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/system/contact.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/system/notifications.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/system/terms-of-compliance.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/system/terms-of-use.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/user/active.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/user/add.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/user/edit.html","webpack:///./App/mvvm/views/viewhtml/desktop/custom/user/inactive.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/assign-corporate-managers.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/assign-corporate.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/assign-edge-mentors.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/assign-enterprises.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/assign-mentors.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/assign-missing-middle-funding-reason.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/assign-project-managers.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/confirmation.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/procurement-growth-wagr-report-breakdown.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/profit-growth-wagr-report-breakdown.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/common/modal/wagr-report-breakdown.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/default.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/examples/kitchen-sink.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/change-password.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/forgot-password-confirmation.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/forgot-password.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/generic.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/login.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/mfa.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/mfa/register-mfa.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/profile.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/reset-password-confirmation.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/reset-password.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/set-password.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/sso-login-error.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/auth/sso-login.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/errors/general.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/footer/footer.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/notifications/error.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/notifications/info.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/notifications/success.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/notifications/warning.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/sidebar/entity-search.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/sidebar/footer.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/sidebar/navigation.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/topbar/menu.html","webpack:///./App/mvvm/views/viewhtml/desktop/default/system/topbar/page-title.html","webpack:///./App/mvvm/viewslayouts/layoutcode sync ^\\.\\/.*\\.js$","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/corporate/dashboard.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/corporate/manage-corporate-users.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/corporate/manage-corporates.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/corporate/user-dashboard.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/confirmation.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/dashboard.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-overview.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-performance.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-report-list.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-report-super-edit.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-report.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/manage-enterprise-users.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/manage-enterprises.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/overview/enterprise-overview.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/enterprise/user-dashboard.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/fund/dashboard.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/fund/manage-funds.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/mentor/confirmation.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/mentor/dashboard.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/mentor/manage-mentors.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/mentor/mentor-report.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/programme/dashboard.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/programme/manage-programmes.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/setting/manage-settings.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/system/dashboard.js","webpack:///./App/mvvm/viewslayouts/layoutcode/custom/user/manage-users.js","webpack:///./App/mvvm/viewslayouts/layoutcode/default/base.js","webpack:///./App/mvvm/viewslayouts/layoutcode/default/default.js","webpack:///./App/mvvm/viewslayouts/layoutcode/default/system/auth/generic.js","webpack:///./App/mvvm/viewslayouts/layoutcode/default/system/auth/user-profile.js","webpack:///./App/mvvm/viewslayouts/layoutcode/default/system/master.js","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop sync ^\\.\\/.*\\.html$","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/corporate/dashboard.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/corporate/manage-corporates.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/corporate/user-dashboard.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/dashboard.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/enterprise-performance.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/enterprise-report-list.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/enterprise-report-super-edit.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/enterprise-report.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/manage-enterprises.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/overview/enterprise-overview.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/user-dashboard.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/fund/dashboard.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/fund/manage-funds.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/mentor/dashboard.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/mentor/manage-mentors.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/mentor/mentor-performance.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/mentor/mentor-report.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/programme/dashboard.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/programme/manage-programmes.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/setting/manage-settings.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/system/dashboard.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/custom/user/manage-users.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-corporate-layout.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-corporate-managers-layout.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-enterprise-layout.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-mentor-tabs.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-missing-middle-funding-reason-layout.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-pm-layout.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/confirmation.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/default.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/system/auth/generic.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/system/auth/user-profile.html","webpack:///./App/mvvm/viewslayouts/layouthtml/desktop/default/system/master.html","webpack:///./App/scripts/custom.js","webpack:///./App/settings/default/dev/settings.js","webpack:///./App/styles/sass/custom/app-styles.js","webpack:///./App/styles/sass/custom/custom.scss?44f7","webpack:///./App/styles/sass/default/app-styles.js","webpack:///./App/styles/sass/default/bower-bootstrap.scss?16c6","webpack:///./App/styles/sass/default/main.scss?c464","webpack:///./App/styles/sass/fonts/bootstrap/glyphicons-halflings-regular.eot","webpack:///./App/styles/sass/fonts/bootstrap/glyphicons-halflings-regular.svg","webpack:///./App/styles/sass/fonts/bootstrap/glyphicons-halflings-regular.ttf","webpack:///./App/styles/sass/fonts/bootstrap/glyphicons-halflings-regular.woff","webpack:///./App/styles/sass/fonts/bootstrap/glyphicons-halflings-regular.woff2","webpack:///./App/utilities/app-core-builder.js","webpack:///./App/utilities/app-core.js","webpack:///./App/utilities/app-utilities-builder.js","webpack:///./App/utilities/custom sync nonrecursive ^\\.\\/.*\\.js$","webpack:///./App/utilities/custom/app-breadcrumbs.js","webpack:///./App/utilities/custom/app-bulk-report-upload.js","webpack:///./App/utilities/custom/app-corporate-add-edit-shared.js","webpack:///./App/utilities/custom/app-corporate.js","webpack:///./App/utilities/custom/app-custom-routes.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-auth.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-corporate.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-enterprise.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-fund.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-general.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-mentor.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-programme.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-setting.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-user-dashboard.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-user.js","webpack:///./App/utilities/custom/app-custom-routes/app-routes-wagr.js","webpack:///./App/utilities/custom/app-dashboard-colors.js","webpack:///./App/utilities/custom/app-dashboard-labels.js","webpack:///./App/utilities/custom/app-dashboard.js","webpack:///./App/utilities/custom/app-data-lists.js","webpack:///./App/utilities/custom/app-enterprise-add-edit-shared.js","webpack:///./App/utilities/custom/app-enterprise-upload.js","webpack:///./App/utilities/custom/app-enterprise.js","webpack:///./App/utilities/custom/app-entities-search.js","webpack:///./App/utilities/custom/app-fund.js","webpack:///./App/utilities/custom/app-grids.js","webpack:///./App/utilities/custom/app-helper.js","webpack:///./App/utilities/custom/app-key-board-events.js","webpack:///./App/utilities/custom/app-mentor.js","webpack:///./App/utilities/custom/app-mfa.js","webpack:///./App/utilities/custom/app-product.js","webpack:///./App/utilities/custom/app-programme-fund-enterprise-shared.js","webpack:///./App/utilities/custom/app-programme.js","webpack:///./App/utilities/custom/app-terms-of-compliance.js","webpack:///./App/utilities/default sync nonrecursive ^\\.\\/.*\\.js$","webpack:///./App/utilities/default/app-ajax.js","webpack:///./App/utilities/default/app-auth.js","webpack:///./App/utilities/default/app-config.js","webpack:///./App/utilities/default/app-cookies.js","webpack:///./App/utilities/default/app-dialog.js","webpack:///./App/utilities/default/app-errors.js","webpack:///./App/utilities/default/app-exceptions.js","webpack:///./App/utilities/default/app-loading.js","webpack:///./App/utilities/default/app-nav.js","webpack:///./App/utilities/default/app-notify.js","webpack:///./App/utilities/default/app-render.js","webpack:///./App/utilities/default/app-render/app-render-process-code.js","webpack:///./App/utilities/default/app-render/app-render-process-html.js","webpack:///./App/utilities/default/app-render/app-render-process-viewmodel.js","webpack:///./App/utilities/default/app-render/app-render-views.js","webpack:///./App/utilities/default/app-render/app-render-viewslayout.js","webpack:///./App/utilities/default/app-router.js","webpack:///./App/utilities/default/app-routes.js","webpack:///./App/utilities/default/app-routes/app-routes-auth.js","webpack:///./App/utilities/default/app-routes/app-routes-general.js","webpack:///./App/utilities/default/app-startup.js","webpack:///./App/utilities/default/app-tag.js","webpack:///./App/utilities/default/app-try-parse.js","webpack:///./App/utilities/default/app-ui.js","webpack:///./App/utilities/default/app-user.js","webpack:///./App/utilities/default/app-user/app-user-current.js","webpack:///./App/utilities/default/app-user/app-user-verify.js","webpack:///./App/vendor/default/vendor-scripts.js","webpack:///./App/vendor/default/vendor-styles.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/bootstrap-checkbox/dist/js/bootstrap-checkbox.js","webpack:///./node_modules/bootstrap-sass/assets/javascripts/bootstrap.min.js","webpack:///./node_modules/buffer/index.js","webpack:///./App/styles/sass/custom/custom.scss","webpack:///./App/styles/sass/default/bower-bootstrap.scss","webpack:///./App/styles/sass/default/main.scss","webpack:///./static_assets/fontawesome/scss/font-awesome.scss","webpack:///./static_assets/jquery.scrollbar/sass/jquery.scrollbar.scss","webpack:///./static_assets/Croppie/croppie.css","webpack:///./static_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.css","webpack:///./static_assets/kendo-ui/styles/kendo.common-material.min.css","webpack:///./static_assets/kendo-ui/styles/kendo.default.mobile.min.css","webpack:///./static_assets/kendo-ui/styles/kendo.material.min.css","webpack:///./static_assets/magnific-popup/dist/magnific-popup.css","webpack:///./static_assets/owl.carousel/dist/compiledassets/owl.carousel.css","webpack:///./static_assets/owlcarousel/owl-carousel/owl.theme.css","webpack:///./static_assets/owlcarousel/owl-carousel/owl.transitions.css","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-arrows-fix.css","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-arrows-plain-buttons.css","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-arrows.css","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-dark.css","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-default.css","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-square-dark.css","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-square.css","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/css-loader/lib/url/escape.js","webpack:///./node_modules/error-stack-parser/error-stack-parser.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/iscroll/build/iscroll.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/jszip/lib/arrayReader.js","webpack:///./node_modules/jszip/lib/base64.js","webpack:///./node_modules/jszip/lib/compressedObject.js","webpack:///./node_modules/jszip/lib/compressions.js","webpack:///./node_modules/jszip/lib/crc32.js","webpack:///./node_modules/jszip/lib/dataReader.js","webpack:///./node_modules/jszip/lib/defaults.js","webpack:///./node_modules/jszip/lib/deprecatedPublicUtils.js","webpack:///./node_modules/jszip/lib/flate.js","webpack:///./node_modules/jszip/lib/index.js","webpack:///./node_modules/jszip/lib/load.js","webpack:///./node_modules/jszip/lib/nodeBuffer.js","webpack:///./node_modules/jszip/lib/nodeBufferReader.js","webpack:///./node_modules/jszip/lib/object.js","webpack:///./node_modules/jszip/lib/signature.js","webpack:///./node_modules/jszip/lib/stringReader.js","webpack:///./node_modules/jszip/lib/stringWriter.js","webpack:///./node_modules/jszip/lib/support.js","webpack:///./node_modules/jszip/lib/uint8ArrayReader.js","webpack:///./node_modules/jszip/lib/uint8ArrayWriter.js","webpack:///./node_modules/jszip/lib/utf8.js","webpack:///./node_modules/jszip/lib/utils.js","webpack:///./node_modules/jszip/lib/zipEntries.js","webpack:///./node_modules/jszip/lib/zipEntry.js","webpack:///./node_modules/jwt-decode/lib/atob.js","webpack:///./node_modules/jwt-decode/lib/base64_url_decode.js","webpack:///./node_modules/jwt-decode/lib/index.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/pako/index.js","webpack:///./node_modules/pako/lib/deflate.js","webpack:///./node_modules/pako/lib/inflate.js","webpack:///./node_modules/pako/lib/utils/common.js","webpack:///./node_modules/pako/lib/utils/strings.js","webpack:///./node_modules/pako/lib/zlib/adler32.js","webpack:///./node_modules/pako/lib/zlib/constants.js","webpack:///./node_modules/pako/lib/zlib/crc32.js","webpack:///./node_modules/pako/lib/zlib/deflate.js","webpack:///./node_modules/pako/lib/zlib/gzheader.js","webpack:///./node_modules/pako/lib/zlib/inffast.js","webpack:///./node_modules/pako/lib/zlib/inflate.js","webpack:///./node_modules/pako/lib/zlib/inftrees.js","webpack:///./node_modules/pako/lib/zlib/messages.js","webpack:///./node_modules/pako/lib/zlib/trees.js","webpack:///./node_modules/pako/lib/zlib/zstream.js","webpack:///./node_modules/papaparse/papaparse.min.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/promise-polyfill/dist/polyfill.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/stack-generator/node_modules/stackframe/stackframe.js","webpack:///./node_modules/stack-generator/stack-generator.js","webpack:///./node_modules/stackframe/stackframe.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/array-set.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/base64-vlq.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/base64.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/binary-search.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/mapping-list.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/quick-sort.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/source-map-consumer.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/source-map-generator.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/source-node.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/lib/util.js","webpack:///./node_modules/stacktrace-gps/node_modules/source-map/source-map.js","webpack:///./node_modules/stacktrace-gps/stacktrace-gps.js","webpack:///./node_modules/stacktrace-js/stacktrace.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js","webpack:///./static_assets/Croppie/croppie.css?4c3b","webpack:///./static_assets/Croppie/croppie.js","webpack:///./static_assets/PubSubJS/src/pubsub.js","webpack:///./static_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.css?df97","webpack:///./static_assets/fontawesome/fonts/fontawesome-webfont.eot","webpack:///./static_assets/fontawesome/fonts/fontawesome-webfont.eot?1921","webpack:///./static_assets/fontawesome/fonts/fontawesome-webfont.svg","webpack:///./static_assets/fontawesome/fonts/fontawesome-webfont.ttf","webpack:///./static_assets/fontawesome/fonts/fontawesome-webfont.woff2","webpack:///./static_assets/fontawesome/fonts/fontawesome-webfont.woff","webpack:///./static_assets/fontawesome/scss/font-awesome.scss?506d","webpack:///./static_assets/jquery.scrollbar/jquery.scrollbar.js","webpack:///./static_assets/jquery.scrollbar/sass/jquery.scrollbar.scss?d570","webpack:///./static_assets/js-cookie/src/js.cookie.js","webpack:///./static_assets/jwt-decode/build/jwt-decode.esm.js","webpack:///./static_assets/kendo-ui/js/kendo.autocomplete.min.js","webpack:///./static_assets/kendo-ui/js/kendo.binder.min.js","webpack:///./static_assets/kendo-ui/js/kendo.button.min.js","webpack:///./static_assets/kendo-ui/js/kendo.calendar.min.js","webpack:///./static_assets/kendo-ui/js/kendo.color.min.js","webpack:///./static_assets/kendo-ui/js/kendo.colorpicker.min.js","webpack:///./static_assets/kendo-ui/js/kendo.columnmenu.min.js","webpack:///./static_assets/kendo-ui/js/kendo.columnsorter.min.js","webpack:///./static_assets/kendo-ui/js/kendo.combobox.min.js","webpack:///./static_assets/kendo-ui/js/kendo.core.min.js","webpack:///./static_assets/kendo-ui/js/kendo.data.min.js","webpack:///./static_assets/kendo-ui/js/kendo.data.odata.min.js","webpack:///./static_assets/kendo-ui/js/kendo.data.xml.min.js","webpack:///./static_assets/kendo-ui/js/kendo.dataviz.chart.funnel.min.js","webpack:///./static_assets/kendo-ui/js/kendo.dataviz.chart.min.js","webpack:///./static_assets/kendo-ui/js/kendo.dataviz.chart.polar.min.js","webpack:///./static_assets/kendo-ui/js/kendo.dataviz.core.min.js","webpack:///./static_assets/kendo-ui/js/kendo.dataviz.themes.min.js","webpack:///./static_assets/kendo-ui/js/kendo.dateinput.min.js","webpack:///./static_assets/kendo-ui/js/kendo.datepicker.min.js","webpack:///./static_assets/kendo-ui/js/kendo.datetimepicker.min.js","webpack:///./static_assets/kendo-ui/js/kendo.draganddrop.min.js","webpack:///./static_assets/kendo-ui/js/kendo.drawing.min.js","webpack:///./static_assets/kendo-ui/js/kendo.dropdownlist.min.js","webpack:///./static_assets/kendo-ui/js/kendo.editable.min.js","webpack:///./static_assets/kendo-ui/js/kendo.editor.min.js","webpack:///./static_assets/kendo-ui/js/kendo.excel.min.js","webpack:///./static_assets/kendo-ui/js/kendo.filebrowser.min.js","webpack:///./static_assets/kendo-ui/js/kendo.filtercell.min.js","webpack:///./static_assets/kendo-ui/js/kendo.filtermenu.min.js","webpack:///./static_assets/kendo-ui/js/kendo.fx.min.js","webpack:///./static_assets/kendo-ui/js/kendo.grid.min.js","webpack:///./static_assets/kendo-ui/js/kendo.groupable.min.js","webpack:///./static_assets/kendo-ui/js/kendo.imagebrowser.min.js","webpack:///./static_assets/kendo-ui/js/kendo.list.min.js","webpack:///./static_assets/kendo-ui/js/kendo.listview.min.js","webpack:///./static_assets/kendo-ui/js/kendo.menu.min.js","webpack:///./static_assets/kendo-ui/js/kendo.mobile.actionsheet.min.js","webpack:///./static_assets/kendo-ui/js/kendo.mobile.loader.min.js","webpack:///./static_assets/kendo-ui/js/kendo.mobile.pane.min.js","webpack:///./static_assets/kendo-ui/js/kendo.mobile.popover.min.js","webpack:///./static_assets/kendo-ui/js/kendo.mobile.scroller.min.js","webpack:///./static_assets/kendo-ui/js/kendo.mobile.shim.min.js","webpack:///./static_assets/kendo-ui/js/kendo.mobile.view.min.js","webpack:///./static_assets/kendo-ui/js/kendo.multiselect.min.js","webpack:///./static_assets/kendo-ui/js/kendo.notification.min.js","webpack:///./static_assets/kendo-ui/js/kendo.numerictextbox.min.js","webpack:///./static_assets/kendo-ui/js/kendo.ooxml.min.js","webpack:///./static_assets/kendo-ui/js/kendo.pager.min.js","webpack:///./static_assets/kendo-ui/js/kendo.pdf.min.js","webpack:///./static_assets/kendo-ui/js/kendo.popup.min.js","webpack:///./static_assets/kendo-ui/js/kendo.progressbar.min.js","webpack:///./static_assets/kendo-ui/js/kendo.reorderable.min.js","webpack:///./static_assets/kendo-ui/js/kendo.resizable.min.js","webpack:///./static_assets/kendo-ui/js/kendo.router.min.js","webpack:///./static_assets/kendo-ui/js/kendo.selectable.min.js","webpack:///./static_assets/kendo-ui/js/kendo.slider.min.js","webpack:///./static_assets/kendo-ui/js/kendo.sortable.min.js","webpack:///./static_assets/kendo-ui/js/kendo.tabstrip.min.js","webpack:///./static_assets/kendo-ui/js/kendo.timepicker.min.js","webpack:///./static_assets/kendo-ui/js/kendo.tooltip.min.js","webpack:///./static_assets/kendo-ui/js/kendo.upload.min.js","webpack:///./static_assets/kendo-ui/js/kendo.userevents.min.js","webpack:///./static_assets/kendo-ui/js/kendo.validator.min.js","webpack:///./static_assets/kendo-ui/js/kendo.view.min.js","webpack:///./static_assets/kendo-ui/js/kendo.virtuallist.min.js","webpack:///./static_assets/kendo-ui/js/kendo.window.min.js","webpack:///./static_assets/kendo-ui/styles/Material/indeterminate.gif","webpack:///./static_assets/kendo-ui/styles/Material/loading-image.gif","webpack:///./static_assets/kendo-ui/styles/Material/loading.gif","webpack:///./static_assets/kendo-ui/styles/Material/slider-h.gif","webpack:///./static_assets/kendo-ui/styles/Material/slider-v.gif","webpack:///./static_assets/kendo-ui/styles/Material/sprite.png","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSans-Bold.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSans-BoldOblique.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSans-Oblique.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSans.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSansMono-Bold.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSansMono-BoldOblique.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSansMono-Oblique.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSansMono.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSerif-Bold.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSerif-BoldItalic.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSerif-Italic.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/DejaVu/DejaVuSerif.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/glyphs/WebComponentsIcons.eot","webpack:///./static_assets/kendo-ui/styles/fonts/glyphs/WebComponentsIcons.svg","webpack:///./static_assets/kendo-ui/styles/fonts/glyphs/WebComponentsIcons.ttf","webpack:///./static_assets/kendo-ui/styles/fonts/glyphs/WebComponentsIcons.woff","webpack:///./static_assets/kendo-ui/styles/images/kendoui.svg","webpack:///./static_assets/kendo-ui/styles/images/kendoui.ttf","webpack:///./static_assets/kendo-ui/styles/images/kendoui.woff","webpack:///./static_assets/kendo-ui/styles/images/wp8_icons.png","webpack:///./static_assets/kendo-ui/styles/images/wp8_inverseicons.png","webpack:///./static_assets/kendo-ui/styles/kendo.common-material.min.css?5855","webpack:///./static_assets/kendo-ui/styles/kendo.default.mobile.min.css?1c53","webpack:///./static_assets/kendo-ui/styles/kendo.material.min.css?f277","webpack:///./static_assets/kendo-ui/styles/textures/highlight.png","webpack:///./static_assets/kendo-ui/styles/textures/transparency.png","webpack:///./static_assets/kendo-ui/styles/textures/transtexture.png","webpack:///./static_assets/magnific-popup/dist/jquery.magnific-popup.js","webpack:///./static_assets/magnific-popup/dist/magnific-popup.css?ad5d","webpack:///./static_assets/owl.carousel/dist/compiledassets/owl.carousel.css?c071","webpack:///./static_assets/owl.carousel/dist/compiledassets/owl.video.play.png","webpack:///./static_assets/owl.carousel/dist/owl.carousel.js","webpack:///./static_assets/owlcarousel/owl-carousel/AjaxLoader.gif","webpack:///./static_assets/owlcarousel/owl-carousel/owl.theme.css?7c12","webpack:///./static_assets/owlcarousel/owl-carousel/owl.transitions.css?8310","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-arrows-fix.css?136e","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-arrows-plain-buttons.css?44da","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-arrows.css?3e37","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-dark.css?6fef","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-default.css?f60a","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-square-dark.css?eb7b","webpack:///./static_assets/tether-shepherd/dist/css/shepherd-theme-square.css?7b28","webpack:///./static_assets/tether-shepherd/dist/js/shepherd.js","webpack:///./static_assets/tether-shepherd/dist/js/tether.js","webpack:///./static_assets/typeahead/dist/typeahead.bundle.min.js"],"names":[],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,QAAQ,mBAAO,CAAC,oDAAQ;AACxB,oCAAa;AACb;;AAEA;;AAEA,mBAAO,CAAC,iFAAmC;;AAE3C,mBAAO,CAAC,sDAAuB;AAC/B,mBAAO,CAAC,oFAAsC;;AAE9C;;AAEA,mBAAO,CAAC,+EAAkC;;AAE1C,mBAAO,CAAC,mFAAoC;AAC5C,mBAAO,CAAC,iFAAmC;;AAE3C;;AAEA;;AAEA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA,uD;AACA;AACA,CAAC;;;;;;;;;;;;;;;;ACnED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;ACnDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AC/CA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;ACpBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,S;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;ACzDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AC/FA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AC1BA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,CAAC;;AAED,uB;;;;;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,uB;;;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AC1BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,S;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AClCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,S;AACA;;AAEA,CAAC;;AAED,uB;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,iF;;;;;;;;;;;AChIA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,mBAAmB,mBAAO,CAAC,+HAA0D;;AAErF;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qCAAqC;AAC3F,2CAA2C,0BAA0B;AACrE,2CAA2C,0BAA0B;AACrE,sCAAsC,qBAAqB;AAC3D;AACA;AACA,0DAA0D,2CAA2C;AACrG,gDAAgD,iCAAiC;AACjF,gCAAgC,eAAe;AAC/C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA,gCAAgC,eAAe,OAAO;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;;AAErB,aAAa;;AAEb,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;;;AAGjB;AACA;AACA;;AAEA,SAAS;AACT,qCAAqC,kCAAkC;AACvE;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,6CAA6C,kCAAkC;AAC/E;AACA,iBAAiB;AACjB,SAAS;AACT;AACA,qCAAqC,kCAAkC;AACvE;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA,kCAAkC,EAAE;AACpC;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,gEAAgE,2DAA2D,OAAO,wDAAwD;AAC1L;;;AAGA,aAAa;;AAEb,SAAS;;AAET;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,8CAA8C,MAAM,OAAO,MAAM;AACjE,sFAAsF,2DAA2D,OAAO,wDAAwD;AAChN;AACA,aAAa;;AAEb,SAAS;;AAET;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,GAAG;;;AAGH;;AAEA;AACA;;AAEA,sDAAsD;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,wDAAwD;AACxD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA,gDAAgD,UAAU;AAC1D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;;;AAIA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ACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gEAAgE,4CAA4C;AAC5G;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;ACz7CA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uC;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,iCAAiC,eAAe;AAChD,iCAAiC,iBAAiB;AAClD,qDAAqD;AACrD;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA,qD;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,2E;AACA;AACA,qBAAqB;AACrB;AACA,qB;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,KAAK,E;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA,4CAA4C;;AAE5C;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK,E;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;ACvUA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,mGAA4C;;AAEhE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA,8BAA8B,eAAe;;AAE7C,+CAA+C,gCAAgC;;AAE/E;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,sCAAsC,cAAc,WAAW,gBAAgB,aAAa,KAAK;AACjG;;AAEA;AACA;;AAEA,yEAAyE;AACzE;AACA;AACA;AACA,iC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;;;AAGA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AClOA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,mBAAmB,mBAAO,CAAC,+HAA0D;AACrF,cAAc,mBAAO,CAAC,wHAA4D;AAClF;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,qCAAqC;AACzF,yCAAyC,0BAA0B;AACnE,yCAAyC,0BAA0B;AACnE;AACA,8BAA8B,eAAe;AAC7C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,mDAAmD;AACrF,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL,+BAA+B,kCAAkC;AACjE;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C,mGAAmG;;;AAGlJ;;AAEA;AACA;AACA;;AAEA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,kCAAkC,MAAM,OAAO,MAAM;AACrD,oDAAoD,2DAA2D,OAAO,uDAAuD;AAC7K;;AAEA,KAAK;;AAEL,GAAG;;AAEH;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,oBAAoB,EAAE;AACtB;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,oBAAoB,EAAE;AACtB;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAAS,4BAA4B;AACrC;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,yFAAyF;AAC9G;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yFAAyF;AAC9G;AACA;AACA;;AAEA,OAAO;AACP;AACA,qBAAqB,yFAAyF;AAC9G,2BAA2B,oCAAoC;AAC/D;AACA;AACA;;AAEA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,2DAA2D,MAAM,OAAO,gCAAgC;AACxG;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,6DAA6D,MAAM,OAAO,qCAAqC;AAC/G;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,0EAA0E,MAAM,OAAO,kDAAkD;AACzI;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,yDAAyD,MAAM,OAAO,8BAA8B;AACpG;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,mEAAmE,MAAM,OAAO,wCAAwC;AACxH;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,mEAAmE,MAAM,OAAO,wCAAwC;AACxH;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,uDAAuD,MAAM,OAAO,4BAA4B;AAChG;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,uDAAuD,MAAM,OAAO,mDAAmD;AACvH;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,gEAAgE,MAAM,OAAO,4DAA4D;AACzI;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,sDAAsD,MAAM,OAAO,kDAAkD;AACrH;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,8DAA8D,MAAM,OAAO,0DAA0D;AACrI;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,uDAAuD,MAAM,OAAO,mDAAmD;AACvH;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,+DAA+D,MAAM,OAAO,2DAA2D;AACvI;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,4BAA4B;AAClD;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACtzBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;AACpC,mCAAmC;AACnC,0CAA0C;AAC1C,0CAA0C,oBAAoB;AAC9D,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;;AAET;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,uBAAuB,6CAA6C,GAAG,gCAAgC,GAAG,oCAAoC;AAC9I,0BAA0B;AAC1B;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA,S;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;ACxfA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,gCAAgC,eAAe;AAC/C,8BAA8B,eAAe;AAC7C,sCAAsC,iBAAiB;AACvD,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B;;AAEtE;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;;AAEX;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;AClTA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,mCAAmC;AACnC,wCAAwC;AACxC,2CAA2C,oBAAoB;AAC/D,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,uBAAuB,sCAAsC,GAAG,oCAAoC;AACpG,0BAA0B;AAC1B;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;ACteA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,mGAA4C;;AAEhE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,iC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,eAAe;AAC/C,wCAAwC,uBAAuB;AAC/D,mCAAmC,kBAAkB;AACrD,4CAA4C,2CAA2C;AACvF,0CAA0C,qDAAqD;AAC/F;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA,qC;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,K;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;AChjBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,gCAAgC,eAAe;AAC/C,8BAA8B,eAAe;AAC7C,sCAAsC,iBAAiB;AACvD,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B;;AAEtE;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;;AAEX;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;ACxVA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,uGAA8C;;;AAGlE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6BAA6B,YAAY,G;AACzC,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C,iDAAiD,gCAAgC;AACjF;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;;AAGP,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,yEAAyE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,0CAA0C,6CAA6C;AACvF;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sB;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC7TA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC,uBAAuB,iBAAiB;AACxC,uBAAuB,iBAAiB;AACxC,wBAAwB,iBAAiB;AACzC,0BAA0B,iBAAiB;AAC3C,8BAA8B,iBAAiB;AAC/C,6BAA6B,iBAAiB;AAC9C,yBAAyB,kBAAkB;AAC3C,oDAAoD,kBAAkB;AACtE,uBAAuB,iBAAiB;AACxC,iCAAiC,iBAAiB;AAClD,oBAAoB,iBAAiB;AACrC,yBAAyB,iBAAiB;AAC1C,yBAAyB;AACzB;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;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,6BAA6B,gCAAgC;AAC7D;;AAEA;AACA;;AAEA;;AAEA;;AAEA,iBAAiB;;AAEjB;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,iBAAiB;AACjB,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,iBAAiB;AACjB,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,mC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;;AC7iBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,qDAAqD;AACrD;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,KAAK,E;;AAEL;AACA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA,wCAAwC;;AAExC;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;ACjSA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA,iC;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,+BAA+B,cAAc;AAC7C,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA,8BAA8B,eAAe;;AAE7C,kCAAkC,mBAAmB;AACrD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,YAAY;AACpD;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE;AACA,kC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF,yD;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,8B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D,K;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;;AC3RA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,mCAAmC,uFAAuF;AAC1H,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA,8BAA8B,eAAe;;AAE7C,kCAAkC,mBAAmB;;AAErD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6B;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,4B;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,wCAAwC,YAAY;AACpD;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;;ACxUA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,mBAAmB,mBAAO,CAAC,+HAA0D;;AAErF;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,qCAAqC;AACzF,yCAAyC,0BAA0B;AACnE,yCAAyC,0BAA0B;AACnE,uCAAuC,wBAAwB;AAC/D,oCAAoC,0BAA0B;AAC9D,oCAAoC,qBAAqB;AACzD,0DAA0D,2CAA2C;AACrG,gDAAgD,iCAAiC;AACjF;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,2BAA2B;;AAE3B,sCAAsC,UAAU;;AAEhD;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,eAAe,OAAO;;AAEhD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL,+BAA+B,kCAAkC;AACjE;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;;AAGA;AACA;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA,sBAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,0EAA0E,2DAA2D,OAAO,wDAAwD;AACpM;;AAEA,KAAK;;AAEL,GAAG;;AAEH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B;;AAE3B;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;;AAEzB;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,4BAA4B;AACrC;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,yFAAyF;AAC9G,2BAA2B,oCAAoC;AAC/D;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,yFAAyF;AAC9G,2BAA2B,oCAAoC;AAC/D;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA,qBAAqB,yFAAyF;AAC9G,2BAA2B,oCAAoC;AAC/D;AACA;AACA;;AAEA,OAAO;AACP;AACA,qBAAqB,yGAAyG;AAC9H,2BAA2B,oCAAoC;AAC/D,2DAA2D,MAAM,OAAO,gCAAgC;AACxG,oEAAoE,KAAK,mF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AEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gEAAgE,4CAA4C;AAC5G;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA,OAAO;;AAEP,KAAK;AACL;AACA,C;;;;;;;;;;;;AC3jDA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,iD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,+BAA+B,iBAAiB;AAChD,+BAA+B,iBAAiB;AAChD,gCAAgC,iBAAiB;AACjD,kCAAkC,iBAAiB;AACnD,sCAAsC,iBAAiB;AACvD,qCAAqC,iBAAiB;AACtD,6BAA6B,iBAAiB;AAC9C,+BAA+B,iBAAiB;AAChD,yCAAyC,iBAAiB;AAC1D,4BAA4B,iBAAiB;AAC7C,iCAAiC,iBAAiB;AAClD,iCAAiC;AACjC;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,qCAAqC;AAC7F,6CAA6C,6CAA6C;AAC1F,qCAAqC,gCAAgC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,yBAAyB;;AAEzB;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;;AAET,KAAK;;;;AAIL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2BAA2B,oBAAoB;AAC/C;AACA;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;;AAEA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;ACzuBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,uGAA8C;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;;AAE/C,2BAA2B;AAC3B;AACA,4DAA4D,6CAA6C;AACzG;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;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,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,uCAAuC,iDAAiD;AACxF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qDAAqD,aAAa;AAClE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;AC/ZA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iBAAiB;AACrD,iCAAiC;AACjC;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa,wDAAwD;AACrE,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,sCAAsC;AACtC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;AClIA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,mCAAmC;AACnC,0CAA0C;AAC1C,2CAA2C,oBAAoB;AAC/D,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;AACrB;AACA;AACA,iB;;AAEA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA,yCAAyC,UAAU;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA,wBAAwB,6CAA6C,GAAG,gCAAgC,GAAG,8CAA8C,GAAG,mDAAmD,GAAG,oCAAoC;AACtP,2BAA2B;AAC3B;AACA,UAAU;AACV,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL,E;;;;;;;;;;;;ACxvBA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;AC/BA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;AC/BA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,mBAAmB;AACvD,mCAAmC,kBAAkB;AACrD,wCAAwC,uBAAuB;AAC/D,2CAA2C,oBAAoB,yBAAyB;AACxF,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,uBAAuB,sCAAsC,GAAG,oCAAoC;AACpG,0BAA0B;AAC1B;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;ACleA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;AChCA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,uGAA8C;AAClE,mBAAmB,mBAAO,CAAC,iHAAmD;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,8BAA8B;AAC9B;AACA,oCAAoC,mBAAmB;AACvD,uCAAuC,sBAAsB;;AAE7D;AACA,gCAAgC,eAAe;AAC/C,kDAAkD,iCAAiC;AACnF,kCAAkC,iBAAiB;AACnD,6CAA6C,2CAA2C;AACxF,6CAA6C,qDAAqD;AAClG,2CAA2C,sDAAsD;AACjG;;AAEA,yCAAyC;AACzC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,K;;AAEA,+G;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI;;AAET;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C,GAAG,GAAG,KAAK,KAAK,OAAO;AACtE;AACA;AACA;AACA,KAAK;;AAEL;AACA,yDAAyD,GAAG,GAAG,KAAK,MAAM,OAAO;AACjF;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,aAAa;;AAEb;;AAEA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA,SAAS;AACT;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA;AACA;AACA;AACA,yF;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,O;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,kJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA,sEAAsE;AACtE;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;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,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL,sDAAsD;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET,KAAK;AACL;;;;;;;;;;;;;AC53DA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,mBAAmB,mBAAO,CAAC,6IAAiE;AAC5F;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qCAAqC;AAC3F,+CAA+C,8BAA8B;AAC7E,oDAAoD,qCAAqC;AACzF,0DAA0D,2CAA2C;AACrG,iDAAiD,gCAAgC;AACjF,2CAA2C,0BAA0B;AACrE;AACA,gCAAgC,eAAe;;;AAG/C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA,8BAA8B,eAAe,OAAO;AACpD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,mD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;;AAEf;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA,WAAW;;AAEX,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;;AAEb,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,+BAA+B,kCAAkC;AACjE;AACA,KAAK;;;AAGL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;;AAGA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA,kFAAkF,2DAA2D,OAAO,wDAAwD;AAC5M;;AAEA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;;;AAGT;;AAEA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;;;AAGA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,qBAAqB,gIAAgI;AACrJ,2BAA2B,oCAAoC;AAC/D;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,gJAAgJ;AACrK,2BAA2B,oCAAoC;AAC/D,6CAA6C,MAAM,OAAO,kBAAkB;AAC5E;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,gJAAgJ;AACrK,2BAA2B,oCAAoC;AAC/D,2CAA2C,MAAM,OAAO,uCAAuC;AAC/F;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,gJAAgJ;AACrK,2BAA2B,oCAAoC;AAC/D,2CAA2C,MAAM,OAAO,2CAA2C;AACnG;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,gJAAgJ;AACrK,2BAA2B,oCAAoC;AAC/D,4CAA4C,MAAM,OAAO,wCAAwC;AA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ACA,uBAAuB,gJAAgJ;AACvK,6BAA6B,oCAAoC;AACjE,yDAAyD,MAAM,OAAO,4BAA4B;AAClG;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,gJAAgJ;AACvK,6BAA6B,oCAAoC;AACjE,qDAAqD,MAAM,OAAO,2BAA2B;AAC7F;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,gJAAgJ;AACvK,6BAA6B,oCAAoC;AACjE,2DAA2D,MAAM,OAAO,uDAAuD;AAC/H;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;;;;;;AAOA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA,4DAA4D,2DAA2D,OAAO,uDAAuD;AACrL;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,C;;;;;;;;;;;;AChoDA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,uGAA8C;;AAElE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,+BAA+B,cAAc;AAC7C,oCAAoC,mBAAmB;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA,4DAA4D,6CAA6C;AACzG;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,eAAe,OAAO;AACtE;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA,uEAAuE;AACvE;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,uCAAuC,iDAAiD;AACxF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D;AAC7D;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,qDAAqD,aAAa;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,C;;;;;;;;;;;;AC9lBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,+BAA+B,iBAAiB;AAChD,+BAA+B,iBAAiB;AAChD,gCAAgC,iBAAiB;AACjD,kCAAkC;AAClC;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,qCAAqC;AAC7F,6CAA6C,6CAA6C;AAC1F,uDAAuD,2CAA2C;;AAElG;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;;AAEA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;AC9TA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,qBAAqB;AAC3D,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6B;;AAEA;;AAEA;;AAEA,6D;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,4C;AACA,8E;AACA;;AAEA;AACA,+E;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA,qD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC/HA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,qGAA6C;;AAEjE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,uBAAuB;AAC/D,4CAA4C,6BAA6B;AACzE;;AAEA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;;AAEA;AACA;;AAEA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB;;AAErB;AACA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,SAAS;AACT,iB;AACA,S;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;;;;;;;;;;;;AC5VA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,yBAAyB;AACnE,kDAAkD,iCAAiC;AACnF,gDAAgD,+BAA+B;AAC/E,8CAA8C,6BAA6B;AAC3E;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3FA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,yBAAyB;AACnE,kDAAkD,iCAAiC;AACnF,gDAAgD,+BAA+B;AAC/E,8CAA8C,6BAA6B;AAC3E,sCAAsC,qBAAqB;AAC3D;AACA;AACA;AACA;AACA;AACA,0CAA0C,yBAAyB;AACnE,gCAAgC,eAAe;AAC/C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4D;;;AAGA;AACA;AACA;AACA;AACA;AACA,oF;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;;AAEb;AACA;;;AAGA;AACA;AACA;;AAEA;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,aAAa;AACb;;;;AAIA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA,6BAA6B;AAC7B;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,yBAAyB;AACzB;AACA;;AAEA,qBAAqB;AACrB;AACA;;AAEA,iBAAiB;AACjB;AACA;;AAEA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA,iD;;AAEA;AACA,mC;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb,SAAS;;AAET;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,aAAa,E;;AAEb;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gDAAgD;AAChD;AACA,oBAAoB;AACpB,2CAA2C;AAC3C;AACA,oBAAoB;AACpB;AACA;AACA,SAAS;AACT,4CAA4C;AAC5C;AACA,mBAAmB;AACnB,sCAAsC;AACtC;AACA,mBAAmB;AACnB;AACA;AACA,SAAS;AACT,6BAA6B,yBAAyB;AACtD,2BAA2B,sBAAsB;AACjD,SAAS;AACT,yBAAyB,oCAAoC;AAC7D;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0CAA0C;AAC1C;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA,oBAAoB;AACpB,0DAA0D;AAC1D;AACA,oBAAoB;AACpB,sCAAsC;AACtC;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK,E;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,qD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+C;AACA,kD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA,0F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,uF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB;AACjB;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AC70BA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,6GAAiD;;AAErE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,sBAAsB;AAC7D,6BAA6B,YAAY;AACzC,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,8C;AACA,uD;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yG;AACA;AACA;AACA,sCAAsC,wBAAwB;AAC9D,SAAS;AACT,KAAK;AACL,yC;AACA;AACA,yG;AACA;AACA,sCAAsC,wBAAwB;AAC9D,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,E;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;;AAGT,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+B;AACA;AACA,KAAK,E;AACL;AACA;AACA;AACA,2B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA,KAAK;AACL;AACA;AACA;AACA,kCAAkC,wBAAwB;AAC1D,KAAK;;AAEL;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;;AAGA;AACA,C;;;;;;;;;;;;ACzTA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,yGAA+C;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,qBAAqB;AACzD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,0CAA0C,IAAI;AAC9C,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,WAAW;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxeA;AACA;AACA;;;AAGA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,uGAA8C;;AAElE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;AACA;AACA,6BAA6B,YAAY;AACzC,+BAA+B,cAAc;AAC7C,kDAAkD,iCAAiC;AACnF,oDAAoD,mCAAmC;;AAEvF,gCAAgC,eAAe,G;;;AAG/C;;;;AAIA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,6B;AACA,wD;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA,uD;AACA;AACA;AACA;;AAEA,aAAa;AACb,kC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;AACA,yBAAyB;;AAEzB,iBAAiB,O;AACjB;AACA;AACA;AACA;AACA;AACA,kB;;;AAGA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA,yC;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,kB;;;AAGA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,6BAA6B,8BAA8B,kBAAkB,mCAAmC;AAChH,uCAAuC,4BAA4B,kBAAkB,mCAAmC;AACxH,8BAA8B,8BAA8B,0BAA0B,kBAAkB;AACxG,+BAA+B,8BAA8B,0BAA0B,kBAAkB;AACzG,kCAAkC,8BAA8B,0BAA0B,kBAAkB;;AAE5G,sCAAsC,8BAA8B,0BAA0B,kBAAkB;AAChH,yCAAyC,8BAA8B,0BAA0B,kBAAkB;AACnH,kCAAkC,8BAA8B,0BAA0B,kBAAkB;AAC5G,uCAAuC,8BAA8B,0BAA0B,kBAAkB;;AAEjH,uCAAuC,8BAA8B,0BAA0B,kBAAkB;AACjH,yCAAyC,8BAA8B,0BAA0B,kBAAkB;AACnH,yCAAyC,8BAA8B,0BAA0B,kBAAkB;;AAEnH,yCAAyC,8BAA8B,0BAA0B,kBAAkB;AACnH,sCAAsC,8BAA8B,0BAA0B,kBAAkB;AAChH;AACA;AACA;AACA,KAAK,E;;;AAGL;;;AAGA;;AAEA;AACA;;AAEA,gC;AACA;AACA;AACA;AACA,S;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,6BAA6B;AACnD,qBAAqB,kCAAkC;AACvD,kCAAkC;AAClC,aAAa;AACb,a;AACA;AACA;AACA,6BAA6B,qCAAqC;AAClE;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,8DAA8D,MAAM,OAAO,2BAA2B;AACtG;AACA,aAAa;AACb;AACA;AACA;AACA,8DAA8D,MAAM,OAAO,2BAA2B;AACtG;AACA,aAAa;AACb;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD,mDAAmD,MAAM,OAAO,kBAAkB;AAClF;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oDAAoD,MAAM,OAAO,mBAAmB;AACpF;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,uDAAuD,MAAM,OAAO,sBAAsB;AAC1F;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,6DAA6D,MAAM,OAAO,0BAA0B;AACpG;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,gEAAgE,MAAM,OAAO,6BAA6B;AAC1G;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,yDAAyD,MAAM,OAAO,sBAAsB;AAC5F;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,8DAA8D,MAAM,OAAO,2BAA2B;AACtG;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,4DAA4D,MAAM,OAAO,2BAA2B;AACpG;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,8DAA8D,MAAM,OAAO,2BAA2B;AACtG;AACA,aAAa;AACb;AACA;AACA;AACA,2DAA2D,MAAM,OAAO,wBAAwB;AAChG;AACA;AACA;AACA,mBAAmB;AACnB,KAAK,E;;AAEL,iB;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,0C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,+B;AACA,gC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+B;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,oC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,mB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA,C;;;;;;;;;;;;ACvqBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,0BAA0B;AACrE,wDAAwD,uCAAuC;AAC/F,8BAA8B,eAAe;AAC7C,oCAAoC,qBAAqB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,yE;AACA;;AAEA;AACA,iC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,E;;AAEjB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,E;AACjB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,uBAAuB,4CAA4C;AACnE,0BAA0B;AAC1B;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,aAAa;;AAEb;;AAEA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,E;;;;;;;;;;;;ACvYA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,+BAA+B,cAAc;AAC7C,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;;ACjRA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,mCAAmC,wFAAwF;AAC3H,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;;AC9TA;AACA;AACA;;AAEA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,yGAA+C,E;;AAEnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,sCAAsC,qBAAqB;AAC3D;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qE;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACtXA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,wCAAwC,iBAAiB;AACzD,mCAAmC,iBAAiB;AACpD,gCAAgC,eAAe;AAC/C,8BAA8B,eAAe;AAC7C,sCAAsC,iBAAiB;AACvD,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B;AACtE;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,qC;;AAEA;AACA;;AAEA;AACA,wD;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,mBAAmB;AACnB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;;AAEX;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL,kE;;AAEA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;ACpWA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA,mC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6B;AACA,yB;AACA,qB;AACA,gC;AACA,iBAAiB;AACjB;AACA,iE;AACA;AACA;AACA;AACA;AACA;AACA,6B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4BAA4B,iBAAiB,mBAAmB;AAChG,6BAA6B,8BAA8B,iBAAiB;AAC5E;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,sBAAsB,6BAA6B;AACnD,sBAAsB,kCAAkC;AACxD,8BAA8B;AAC9B;AACA;AACA,mBAAmB;AACnB,KAAK;;AAEL;;AAEA;AACA,0BAA0B,kCAAkC;AAC5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4B;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;;AAGA,C;;;;;;;;;;;;ACrsBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA,iC;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,gCAAgC,eAAe;AAC/C,8BAA8B,eAAe;AAC7C,sCAAsC,iBAAiB;AACvD,4BAA4B;AAC5B;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B;;AAEtE;AACA,iBAAiB;;AAEjB;AACA,aAAa;AACb,SAAS;AACT;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;;;;;;;;;;;;;;;;;;ACzOA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,uCAAuC;AACvC,8BAA8B,eAAe;;AAE7C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC,qBAAqB,iBAAiB;AACtC,sBAAsB,iBAAiB;AACvC,wBAAwB,iBAAiB;AACzC,mBAAmB,iBAAiB;AACpC,kDAAkD,kBAAkB;AACpE;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,qCAAqC;AACnF,6CAA6C,2CAA2C;;AAExF;AACA,SAAS;;AAET;AACA;AACA,KAAK;AACL;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;ACrjBA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;AChCA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;AACtD,mBAAmB,mBAAO,CAAC,+HAA0D;;;AAGrF;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qCAAqC;AAC3F,2CAA2C,0BAA0B;AACrE,2CAA2C,0BAA0B;AACrE,sCAAsC,qBAAqB;AAC3D;;AAEA;AACA,4DAA4D,2CAA2C;AACvG,kDAAkD,iCAAiC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gDAAgD;AACrF,mCAAmC,kBAAkB;AACrD,qCAAqC,oBAAoB;AACzD;AACA,8BAA8B,eAAe;;AAE7C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,K;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA,gC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sC;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC;AAClC;;AAEA,KAAK,iCAAiC;AACtC;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA,KAAK;AACL,+BAA+B,kCAAkC;AACjE;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,mCAAmC,kCAAkC;AACrE;AACA,SAAS;AACT,KAAK;AACL;AACA,+BAA+B,kCAAkC;AACjE;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;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;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA,sBAAsB,EAAE;AACxB;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,sDAAsD,2DAA2D,OAAO,wDAAwD;AAChL;;;AAGA,OAAO;;AAEP,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;;AAEA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;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;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,oCAAoC,MAAM,OAAO,MAAM;AACvD,4EAA4E,2DAA2D,OAAO,wDAAwD;AACtM;AACA,OAAO;;AAEP,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;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;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,GAAG;;;AAGH;;AAEA;;AAEA;AACA;;AAEA,sDAAsD;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA,wCAAwC,UAAU;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,uBAAuB,kGAAkG;AACzH;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,kGAAkG;AACzH;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,6KAA6K;AACpM,6FAA6F,2DAA2D,OAAO,SAAS;AACxK;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,kHAAkH;AACzI,+DAA+D,MAAM,OAAO,qCAAqC;AACjH,sEAAsE,KAAK,qFAAqF,UAAU,OAAO,8CAA8C;AAC/N;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,kHAAkH;AACzI,8DAA8D,MAAM,OAAO,oCAAoC;AAC/G,sEAAsE,KAAK,oFAAoF,UAAU,OAAO,6CAA6C;AAC7N;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,kHAAkH;AACzI,4EAA4E,MAAM,OAAO,kDAAkD;AAC3I;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,kHAAkH;AACzI,6DAA6D,MAAM,OAAO,gCAAgC;AAC1G,sEAAsE,KAAK,mFAAmF,UAAU,OAAO,2CAA2C;AAC1N;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,kHAAkH;AACzI,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ACvG;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,yMAAyM;AAChO,kEAAkE,MAAM,OAAO,6DAA6D;AAC5I;AACA;AACA;AACA,SAAS;AACT;AACA,uBAAuB,yMAAyM;AAChO,iEAAiE,MAAM,OAAO,4DAA4D;AAC1I;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gEAAgE,4CAA4C;AAC5G;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;;AAGA;;AAEA;AACA;;;;;;;;;;;;;;ACrlEA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,+BAA+B,cAAc;AAC7C,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,oCAAoC,eAAe,OAAO;AAC1D;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0B;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,M;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,K;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4BAA4B,iBAAiB,mBAAmB;AAChG,6BAA6B,8BAA8B,iBAAiB;AAC5E;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,sBAAsB,6BAA6B;AACnD,sBAAsB,kCAAkC;AACxD,8BAA8B;AAC9B;AACA;AACA,mBAAmB;AACnB,KAAK;;AAEL;;AAEA;AACA,0BAA0B,kCAAkC;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6B;AACA;AACA,qB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;;;;;;;;;;;;;;;ACxyBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA,iC;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,gCAAgC,eAAe;AAC/C,8BAA8B,eAAe;AAC7C,sCAAsC,iBAAiB;AACvD,4BAA4B;AAC5B;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B;;AAEtE;AACA,iBAAiB;;AAEjB;AACA,aAAa;AACb,SAAS;;AAET;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;AChTA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kCAAkC,iBAAiB;AACnD,sCAAsC,iBAAiB;AACvD,mCAAmC,iBAAiB;AACpD,+BAA+B,iBAAiB;AAChD,oCAAoC,iBAAiB;AACrD,sCAAsC;AACtC;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,6CAA6C;;AAE1F;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,E;;;;;;;;;;;;AC7bA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,uFAAsC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,0B;;AAEA;;AAEA;;AAEA;;AAEA;AACA,qDAAqD;;AAErD,SAAS;AACT;AACA,S;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gC;;AAEA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,uDAAuD;;AAEvD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,E;;;;;;;;;;;;ACrZA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,mBAAmB,mBAAO,CAAC,+HAA0D;;AAErF;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qCAAqC;AAC3F,2CAA2C,0BAA0B;AACrE,2CAA2C,0BAA0B;AACrE;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,eAAe,OAAO;;AAElD;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;;;AAGA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA,SAAS;AACT,qCAAqC,kCAAkC;AACvE;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAiD,mGAAmG;AACpJ;;AAEA;AACA;AACA;;AAEA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,8BAA8B,EAAE;AAChC;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,0CAA0C,MAAM,OAAO,MAAM;AAC7D,4DAA4D,2DAA2D,OAAO,uDAAuD;AACrL;;AAEA,SAAS;;AAET,KAAK;;AAEL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,8BAA8B,EAAE;AAChC;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,8BAA8B,EAAE;AAChC;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,yBAAyB,kEAAkE;AAC3F;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,iEAAiE,MAAM,OAAO,qCAAqC;AACnH;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,gEAAgE,MAAM,OAAO,oCAAoC;AACjH;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,8EAA8E,MAAM,OAAO,kDAAkD;AAC7I;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,+DAA+D,MAAM,OAAO,gCAAgC;AAC5G;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,6DAA6D,MAAM,OAAO,8BAA8B;AACxG;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,uEAAuE,MAAM,OAAO,wCAAwC;AAC5H;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,uEAAuE,MAAM,OAAO,wCAAwC;AAC5H;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,2DAA2D,MAAM,OAAO,4BAA4B;AACpG;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;;AAE3G,2DAA2D,MAAM,OAAO,mDAAmD;AAC3H;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,0DAA0D,MAAM,OAAO,kDAAkD;AACzH;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,oEAAoE,MAAM,OAAO,4DAA4D;AAC7I;AACA;AACA;AACA,SAAS;AACT;;AAEA,iEAAiE,MAAM,OAAO,uDAAuD;AACrI,2BAA2B,kFAAkF;;AAE7G;AACA;AACA;AACA,WAAW;AACX;AACA,2BAA2B,kFAAkF;;AAE7G,wEAAwE,MAAM,OAAO,8DAA8D;AACnJ;AACA;AACA;AACA,WAAW;AACX;AACA,2BAA2B,kFAAkF;;AAE7G,qEAAqE,MAAM,OAAO,2DAA2D;AAC7I;AACA;AACA;AACA,WAAW;AACX;AACA,2BAA2B,kFAAkF;;AAE7G,sEAAsE,MAAM,OAAO,4DAA4D;AAC/I;AACA;AACA;AACA,WAAW;AACX;;AAEA,iEAAiE,MAAM,OAAO,uDAAuD;AACrI,2BAA2B,kFAAkF;;AAE7G;AACA;AACA;AACA,WAAW;AACX;AACA,yBAAyB,kFAAkF;AAC3G,0DAA0D,MAAM,OAAO,kDAAkD;AACzH;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,kEAAkE,MAAM,OAAO,0DAA0D;AACzI;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,2DAA2D,MAAM,OAAO,mDAAmD;AAC3H;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,kFAAkF;AAC3G,mEAAmE,MAAM,OAAO,2DAA2D;AAC3I;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;ACvyBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA,yCAAyC;AACzC,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;;AAGT;;AAEA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,+BAA+B,iBAAiB;AAChD,gCAAgC,iBAAiB;AACjD,kCAAkC,iBAAiB;AACnD,6BAA6B;AAC7B;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,qCAAqC;AAC7F,uDAAuD,2CAA2C;;AAElG;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,wBAAwB;AACxB,cAAc;AACd;AACA,UAAU;AACV;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;;AAEA;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA,2G;AACA,SAAS,O;AACT;AACA;;AAEA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACzaA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,uFAAsC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,eAAe;AAC/C,qCAAqC,oBAAoB;AACzD,mCAAmC,kBAAkB;;AAErD,yCAAyC,2CAA2C;AACpF,mCAAmC,kBAAkB;AACrD,yCAAyC,kDAAkD;AAC3F;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,4C;;AAEA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,aAAa;;AAEb;;AAEA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACtTA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,6FAAyC;;AAE7D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,eAAe;AAC/C,uCAAuC,sBAAsB;AAC7D,kCAAkC,iBAAiB;AACnD,sCAAsC,qBAAqB;AAC3D,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,sBAAsB,kBAAkB,GAAG,mBAAmB;AAC9D;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,U;AACA;AACA,UAAU;;AAEV;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB;;AAEpB;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,0CAA0C,GAAG,0CAA0C;AAC9G,0BAA0B;AAC1B;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4DAA4D;AAC5D,qE;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA,KAAK;AACL;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,SAAS;AACT;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClkBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,uFAAsC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,cAAc;AAC7C,6BAA6B,YAAY;AACzC,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,oCAAoC,eAAe,OAAO;AAC1D;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,KAAK;AACL;AACA,K;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B,uBAAuB;;AAElD;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,qDAAqD;;AAErD,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA,2F;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oC;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB,aAAa;AACb;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8EAA8E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,E;;;;;;;;;;;;AChiBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kCAAkC,iBAAiB;AACnD,sCAAsC,iBAAiB;AACvD,mCAAmC,iBAAiB;AACpD,+BAA+B,iBAAiB;AAChD,oCAAoC,iBAAiB;AACrD,sCAAsC;AACtC;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,6CAA6C;;AAEvG;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA,KAAK,E;;AAEL;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA,+B;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;AC/cA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;AAEA,YAAY,mBAAO,CAAC,yGAA+C;;AAEnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,0CAA0C,yBAAyB;AACnE,8CAA8C,+BAA+B;;AAE7E,gCAAgC,wBAAwB;AACxD,kCAAkC,0BAA0B;;AAE5D,gCAAgC,iBAAiB;AACjD,kCAAkC,mBAAmB;;AAErD,qCAAqC,oBAAoB;AACzD,iCAAiC,gBAAgB;AACjD,6BAA6B,YAAY;AACzC,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,8B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,8B;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;;AAEhB,SAAS;AACT;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;;AAER;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;;AAER;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA,E;;;;;;;;;;;;ACnnBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC,qBAAqB;AAC3D,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACtDA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,uGAA8C;AAClE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,iCAAiC,gBAAgB;AACjD,+BAA+B,cAAc;AAC7C,gCAAgC,eAAe;;AAE/C,qCAAqC,sBAAsB;AAC3D;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,qEAAqE;AACrE;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA,oEAAoE,mBAAmB;AACvF;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,4CAA4C;AACjE,qBAAqB,oCAAoC;AACzD,qBAAqB,wCAAwC;AAC7D,8BAA8B;AAC9B;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;;AAEA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;;AAGrB;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA,2DAA2D;AAC3D;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;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,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA,SAAS;AACT;AACA;;;AAGA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC,sBAAsB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,aAAa;;AAEb;;AAEA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;AC11BA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,6GAAiD;;AAErE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,uBAAuB;AAC9D,6BAA6B,YAAY;AACzC,+BAA+B,cAAc;AAC7C,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,wBAAwB;AAC9D,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,sCAAsC,wBAAwB;AAC9D,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA,KAAK;AACL;AACA;AACA;AACA,kCAAkC,wBAAwB;AAC1D,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0E;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,C;;;;;;;;;;;;ACjgBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA,4EAA4E;;AAE5E;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA,E;;;;;;;;;;;;AC1TA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,wCAAwC,iBAAiB;AACzD,mCAAmC,iBAAiB;AACpD,gCAAgC,eAAe;AAC/C,8BAA8B,eAAe;AAC7C,sCAAsC,iBAAiB;AACvD,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B;;AAEtE;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;AChVA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,mGAA4C;;AAEhE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA,mC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,c;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;AACA;AACA,yB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4BAA4B,iBAAiB,mBAAmB;AAChG,6BAA6B,8BAA8B,iBAAiB;AAC5E;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4BAA4B,iBAAiB,mBAAmB;AAChG,6BAA6B,8BAA8B,iBAAiB;AAC5E;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,sBAAsB,6BAA6B;AACnD,sBAAsB,kCAAkC;AACxD,8BAA8B;AAC9B;AACA;AACA,mBAAmB;AACnB,KAAK;;AAEL;;AAEA;AACA,0BAA0B,kCAAkC;AAC5D;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,sBAAsB,6BAA6B;AACnD,sBAAsB,kCAAkC;AACxD,8BAA8B;AAC9B;AACA;AACA,mBAAmB;AACnB,KAAK;;AAEL;;AAEA;AACA,0BAA0B,kCAAkC;AAC5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;;AAGA;;;;;;;;;;;;;ACrzBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,gCAAgC,eAAe;AAC/C,8BAA8B,eAAe;AAC7C,sCAAsC,iBAAiB;AACvD,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B;;AAEtE;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;AACA,KAAK,E;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,cAAc;;AAEd;AACA;AACA,cAAc;;AAEd;AACA;;;;;;;;;;;;;;ACnOA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,yCAAyC;AACzC,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,8F;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,+BAA+B,iBAAiB;AAChD,gCAAgC,iBAAiB;AACjD,kCAAkC,iBAAiB;AACnD,6BAA6B,iBAAiB;AAC9C,4DAA4D,kBAAkB;AAC9E;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,qCAAqC;AAC7F,uDAAuD,2CAA2C;;AAElG;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,2BAA2B;AAC3B,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;;ACljBA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;AChCA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,mGAA4C;;AAEhE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,qDAAqD;AAC/F,mCAAmC,kBAAkB;AACrD,qCAAqC,oBAAoB;AACzD;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA,6D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA,sD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,K;;AAEA;AACA,kD;AACA,KAAK;AACL;AACA;AACA,K;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA,K;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC;AAClC;;AAEA,KAAK,iCAAiC;AACtC;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;ACvuBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,mGAA4C;;AAEhE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,+BAA+B,cAAc;AAC7C;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC,eAAe,OAAO;AAC1D;;AAEA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,K;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,K;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4BAA4B,iBAAiB,mBAAmB;AAChG,6BAA6B,8BAA8B,iBAAiB;AAC5E;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4BAA4B,iBAAiB,mBAAmB;AAChG,6BAA6B,8BAA8B,iBAAiB;AAC5E;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,sBAAsB,6BAA6B;AACnD,sBAAsB,kCAAkC;AACxD,8BAA8B;AAC9B;AACA;AACA,mBAAmB;AACnB,KAAK;;AAEL;;AAEA;AACA,0BAA0B,kCAAkC;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,sBAAsB,6BAA6B;AACnD,sBAAsB,kCAAkC;AACxD,8BAA8B;AAC9B;AACA;AACA,mBAAmB,qCAAqC;AACxD,KAAK;;;AAGL;;AAEA;AACA,0BAA0B,kCAAkC;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;AACA;AACA,yB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA,C;;;;;;;;;;;;ACt6BA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,gCAAgC,eAAe;AAC/C,8BAA8B,eAAe;AAC7C,sCAAsC,iBAAiB;AACvD,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B;;AAEtE;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;;;;;;AC5SA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qCAAqC,4GAA4G;AACjJ;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,qCAAqC,kCAAkC;AACvE,SAAS;AACT;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iBAAiB;AACrD,iCAAiC;AACjC;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa,wDAAwD;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,sCAAsC;AACtC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;AC5MA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,mBAAmB;AACvD,oCAAoC,mBAAmB;AACvD,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,4BAA4B,eAAe,OAAO;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;;AAEjB,SAAS;AACT;AACA;AACA,SAAS;;AAET;;AAEA,wBAAwB;;AAExB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA,mDAAmD,yDAAyD;;AAE5G,qBAAqB;AACrB;AACA;AACA,iDAAiD,kCAAkC;;AAEnF,qBAAqB;AACrB,aAAa;AACb;AACA,mC;AACA;AACA;AACA;AACA,uDAAuD,uDAAuD;AAC9G;AACA,yBAAyB;AACzB;AACA;AACA,qDAAqD,kCAAkC;AACvF,yBAAyB;AACzB;AACA;AACA;AACA;;;AAGA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,gCAAgC,kCAAkC;AAClE,kCAAkC,iBAAiB;AACnD,iCAAiC;AACjC;AACA;AACA;;AAEA,KAAK;;AAEL;;;AAGA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,mDAAmD,yDAAyD;AAC5G;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iDAAiD,kCAAkC;AACnF,qBAAqB;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,mDAAmD,yDAAyD;AAC5G;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iDAAiD,kCAAkC;AACnF,qBAAqB;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,mDAAmD,uDAAuD;AAC1G;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iDAAiD,kCAAkC;AACnF,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,gCAAgC,kCAAkC;AAClE,kCAAkC,cAAc,iBAAiB,EAAE;AACnE,iCAAiC,8BAA8B,iBAAiB,EAAE;AAClF,mCAAmC,cAAc,iBAAiB;AAClE;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,aAAa,8CAA8C;AAC3D,aAAa,uDAAuD;AACpE,aAAa,6DAA6D;AAC1E;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa,kCAAkC,GAAG;AAClD;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,iBAAiB,+BAA+B;AAChD,iBAAiB,eAAe,GAAG;AACnC,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,iBAAiB,+BAA+B;AAChD,iBAAiB,6CAA6C,GAAG;AACjE;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;;;;;;;;;;;;ACvUA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,eAAe;AAC7C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;;;;;;;AC5LA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA,iC;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;AChCA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB,aAAa,mBAAO,CAAC,iFAAmC;;AAExD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC,eAAe;AAC/C,+BAA+B,UAAU;AACzC,6BAA6B,YAAY;AACzC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,E;;;;;;;;;;;;AChJA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB,aAAa,mBAAO,CAAC,iFAAmC;;AAExD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;;;;;;AC5BA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA,iC;AACA,oCAAoC;AACpC,mCAAmC;AACnC,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,uBAAuB,6CAA6C,GAAG,gCAAgC,GAAG,oCAAoC;AAC9I,0BAA0B;AAC1B;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;;AAEA;;AAEA;;AAEA;;AAEA,uD;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA,E;;;;;;;;;;;;ACrXA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;;ACrOA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B,YAAY;AACzC,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;AACtB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;;ACnUA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC;AACpC,oCAAoC;AACpC,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,uBAAuB,sCAAsC,GAAG,oCAAoC;AACpG,0BAA0B;AAC1B;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uEAAuE;;AAEvE;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA,E;;;;;;;;;;;;AC7UA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qG;;;;;;;;;;;ACpBA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,iFAAmC;AAC5D,oBAAoB,mBAAO,CAAC,qFAAqC;;AAEjE,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,uCAAuC;;AAEvC;;AAEA;AACA;AACA;AACA,yDAAyD,qBAAqB;AAC9E,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;;;;;;;;;;;;;AClRA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,iFAAmC;AAC5D,oBAAoB,mBAAO,CAAC,qFAAqC;;AAEjE,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,K;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,yCAAyC;;AAEzC;;AAEA;;AAEA;;AAEA;AACA,8B;AACA,gDAAgD,qBAAqB;;AAErE,SAAS;;AAET;AACA;AACA,SAAS;;;AAGT,KAAK;;AAEL;;AAEA;AACA;AACA,gDAAgD,qBAAqB,U;AACrE,SAAS;;AAET;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA,gC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,YAAY;AACZ;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;;;AAGP;;;;;;;;;;;;;ACpSA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,sCAAsC;AACtC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;AACA,8B;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;;AAEb;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,gBAAgB;AAChB;AACA,YAAY;AACZ;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;;;;;;;;;;;;;AC7RA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,iFAAmC;AAC5D,oBAAoB,mBAAO,CAAC,qFAAqC;;AAEjE,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C;;AAE7C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,+BAA+B,iBAAiB;AAChD,gCAAgC,iBAAiB;AACjD,kCAAkC;AAClC;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,qCAAqC;AAC7F,uDAAuD,2CAA2C;;AAElG;AACA,iBAAiB;;AAEjB;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,0CAA0C;;AAE1C;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,yDAAyD,qBAAqB;AAC9E;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,yDAAyD,qBAAqB;AAC9E;AACA,aAAa;AACb;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA,iC;;AAEA,qC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS,E;AACT;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,yBAAyB;AACzB,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;;;;;;;;;;;;ACxYA;AACA;AACA;;;AAGA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;;AAIL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,sCAAsC,iBAAiB;AACvD,gCAAgC,iBAAiB;AACjD,mCAAmC,iBAAiB;AACpD,sCAAsC;AACtC;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6CAA6C,qBAAqB;AAClE,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;;AAGA,SAAS;AACT;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,gBAAgB;AAChB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,wBAAwB;AACxB,cAAc;AACd;AACA,UAAU;AACV;AACA;AACA;AACA,wBAAwB;AACxB,cAAc;AACd;AACA,UAAU;AACV;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;;ACpVA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD;;AAEzD;AACA;;AAEA,6DAA6D,qBAAqB;;AAElF;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,yBAAyB;AACzB;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;;;;;;;;;;;;AChOA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,iFAAmC;AAC5D,oBAAoB,mBAAO,CAAC,qFAAqC;;AAEjE,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,oC;AACA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;;AAEnD;AACA,kC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA,8B;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA,6B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,uCAAuC;;AAEvC;;AAEA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,6CAA6C,qBAAqB;AAClE,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb,KAAK;;AAEL;AACA;AACA;AACA,6CAA6C,qBAAqB;AAClE,aAAa;;AAEb;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS,E;AACT;AACA;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,YAAY;AACZ;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;;;AAGA;;;;;;;;;;;;;AC3TA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,E;;;;;;;;;;;;AC1GA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;AClCA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,eAAe;AAC7C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;AClCA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;AClCA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;AC/BA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA,iC;AACA;AACA;AACA;;AAEA,uCAAuC,sBAAsB;AAC7D,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,+C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+DAA+D,GAAG,GAAG;AACrE;AACA;AACA,E;;;;;;;;;;;;AC/HA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,aAAa,mBAAO,CAAC,+EAAkC;;;AAGvD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uCAAuC,sBAAsB;AAC7D,gCAAgC,eAAe;;AAE/C;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,SAAS;;AAET;;AAEA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb,uD;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;ACvJA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,aAAa,mBAAO,CAAC,iFAAmC;AACxD,mBAAmB,mBAAO,CAAC,qFAAqC;;AAEhE,cAAc,mBAAO,CAAC,6GAAiD;AACvE,mBAAmB,mBAAO,CAAC,mFAAoC;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,qBAAqB;AACzD,4BAA4B,aAAa;AACzC,8BAA8B,eAAe;AAC7C;;;AAGA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gBAAgB,eAAe,YAAY;AAC3G;AACA,SAAS;;;AAGT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;;;AAGA;AACA,GAAG;AACH,CAAC;AACD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACzSA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB,cAAc,mBAAO,CAAC,6GAAiD;AACvE;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB,mBAAmB,mBAAO,CAAC,mFAAoC;AAC/D,mBAAmB,mBAAO,CAAC,qFAAqC;AAChE,aAAa,mBAAO,CAAC,iFAAmC;AACxD,cAAc,mBAAO,CAAC,6GAAiD;;AAEvE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,eAAe;AAC7C;;AAEA,+CAA+C,gCAAgC;AAC/E,mCAAmC,oBAAoB;AACvD,4CAA4C,6BAA6B;AACzE;AACA,gCAAgC;AAChC;;AAEA;AACA;AACA;AACA,uC;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX,OAAO;AACP;AACA;AACA;;AAEA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACxRA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,YAAY,mBAAO,CAAC,+EAAkC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B,YAAY;AACzC,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6B;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA,4B;AACA;AACA,YAAY;;AAEZ;AACA;AACA,YAAY;;AAEZ;AACA;;AAEA;AACA;;AAEA;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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,sCAAsC,6CAA6C;AACnF;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mD;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;;ACxSA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB,cAAc,mBAAO,CAAC,6GAAiD;AACvE;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB,mBAAmB,mBAAO,CAAC,mFAAoC;AAC/D,mBAAmB,mBAAO,CAAC,qFAAqC;AAChE,aAAa,mBAAO,CAAC,iFAAmC;AACxD,cAAc,mBAAO,CAAC,6GAAiD;;AAEvE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA,qCAAqC,oBAAoB;AACzD,sCAAsC,qBAAqB;AAC3D,kCAAkC,iBAAiB;AACnD,qCAAqC,oBAAoB;;AAEzD;AACA,kCAAkC;AAClC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,gBAAgB;AAClF;;AAEA,KAAK;AACL;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,G;;;;;;;;;;;;ACzMA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC;AACzC,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,6DAA6D,GAAG,GAAG;AACnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;AC/MA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,mBAAmB;AACvD,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,wF;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6B;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+DAA+D,GAAG,GAAG;AACrE;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;;AAEA;AACA,KAAK;AACL,C;;;;;;;;;;;;AC1MA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,aAAa,mBAAO,CAAC,iFAAmC;AACxD,mBAAmB,mBAAO,CAAC,qFAAqC;AAChE,aAAa,mBAAO,CAAC,+EAAkC;AACvD,cAAc,mBAAO,CAAC,6GAAiD;AACvE,mBAAmB,mBAAO,CAAC,mFAAoC;;AAE/D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,eAAe;;AAE7C,sCAAsC,uBAAuB;AAC7D;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,E;;;;;;;;;;;AC9CA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,aAAa,mBAAO,CAAC,iFAAmC;AACxD,mBAAmB,mBAAO,CAAC,qFAAqC;AAChE,aAAa,mBAAO,CAAC,+EAAkC;AACvD,cAAc,mBAAO,CAAC,6GAAiD;AACvE,mBAAmB,mBAAO,CAAC,mFAAoC;;AAE/D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,eAAe;AAC7C;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,SAAS;AACT;AACA;AACA;AACA,OAAO;;AAEP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;AClKA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,uC;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACxCA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;AACvB,aAAa,mBAAO,CAAC,+FAA0C;;AAE/D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yC;AACA,SAAS;AACT;AAC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ACA;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,wF;;;;;;;;;;;AClDA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA,C;;;;;;;;;;;;AC/GA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;AC1EA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gE;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA,aAAa,yKAAyK;AACtL,YAAY,wKAAwK;AACpL,WAAW,0KAA0K;AACrL,WAAW,uLAAuL;AAClM,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,0BAA0B,EAAE;AAC5B;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,sBAAsB,EAAE;AACxB;AACA;AACA,KAAK;AACL,C;;;;;;;;;;;;AC5MA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;AC/BA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6B;AACA,kB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,UAAU;AAC3D,KAAK,E;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oD;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;;AAElB,KAAK;AACL,kBAAkB;;AAElB,KAAK;AACL,kBAAkB;;AAElB,KAAK;AACL,kBAAkB;;AAElB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC5PA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC1HA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;AC1EA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;AC1EA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA,aAAa,yKAAyK;AACtL,YAAY,wKAAwK;AACpL,WAAW,0KAA0K;AACrL,WAAW,uLAAuL;AAClM,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,0BAA0B,EAAE;AAC5B;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,sBAAsB,EAAE;AACxB;AACA;AACA,KAAK;AACL,C;;;;;;;;;;;;AC5MA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB,KAAK;AACL,gBAAgB;AAChB,KAAK;AACL,kBAAkB;AAClB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;AC3NA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;ACtFA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA,yB;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA,C;;;;;;;;;;;;AC1IA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;AC1EA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AChJA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK,E;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB,KAAK;AACL,gBAAgB;AAChB,KAAK;AACL,kBAAkB;AAClB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACjLA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;ACtFA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;AC9DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA,aAAa,yKAAyK;AACtL,YAAY,wKAAwK;AACpL,WAAW,0KAA0K;AACrL,WAAW,uLAAuL;AAClM,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,0BAA0B,EAAE;AAC5B;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,sBAAsB,EAAE;AACxB;AACA;AACA,KAAK;AACL,C;;;;;;;;;;;;ACzMA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;AC1EA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qG;;;;;;;;;;;ACpBA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,K;;;AAGA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;;;;;;;;;;;ACpDA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;;;;;;;;;;;AC5CA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;;AAEL;;;;;;;;;;;;AC9CA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;;;;;;;;;;;;AC3EA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;;;;;;;;;;;AC3CA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;;;;;;;;;;;AC5CA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,E;;;;;;;;;;;;AC1GA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;AC/BA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA,gCAAgC,eAAe;AAC/C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,+E;;;;;;;;;;;ACjHA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;;;;;;;ACpFA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;;;;;;;ACnFA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;ACnFA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;ACnDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC5DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,E;;AAEP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;AC7FA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;;;;;;;AC/FA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;ACxDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;ACxDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;ACxDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;ACnFA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;;;;;;ACnFA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;;;;;;;ACnFA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;ACxDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;ACxDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;ACxDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;ACnDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC7DA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC7DA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACxDA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC5DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;AClDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;ACxDA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC9DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC9DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC7DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAAmD;;AAEnD;;AAEA;AACA;AACA;;AAEA;AACA,wB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8B;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C;;AAE/C;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;;AAEA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;;AAEzB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;;;;;;AClIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC9DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC9DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,E;;;;;;;;;;;;AC9DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC7DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,yF;;;;;;;;;;;ACzIA,k3OAAk3O,oBAAoB,q0CAAq0C,uryCAAuryC,qDAAqD,OAAO,kEAAkE,uEAAuE,qDAAqD,OAAO,+DAA+D,qEAAqE,qDAAqD,OAAO,6DAA6D,+EAA+E,qDAAqD,OAAO,uEAAuE,+EAA+E,qDAAqD,OAAO,uEAAuE,mEAAmE,qDAAqD,OAAO,2DAA2D,mEAAmE,qDAAqD,OAAO,4DAA4D,kEAAkE,qDAAqD,OAAO,2DAA2D,uEAAuE,qDAAqD,OAAO,gEAAgE,8EAA8E,qDAAqD,OAAO,uEAAuE,2EAA2E,qDAAqD,OAAO,oEAAoE,4EAA4E,qDAAqD,OAAO,qEAAqE,uEAAuE,qDAAqD,OAAO,gEAAgE,uEAAuE,qDAAqD,OAAO,+DAA+D,yEAAyE,qDAAqD,OAAO,kEAAkE,wEAAwE,qDAAqD,OAAO,iEAAiE,oEAAoE,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AEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8B;AACA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;;AC5DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;;;;;;;;;;;;ACrEA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;;;;;;;;;;;;ACzEA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;ACvEA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;ACvEA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,KAAK;AACL;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;AChGA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;;;;;;;;;;;;ACrEA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8B;AACA,E;;;;;;;;;;;;AC3DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;;;;;;;;;;;;AC1DA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;;AC5DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,wCAAK;;;AAGvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,8B;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,OAAO;;AAEP;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,OAAO,E;AACP;;;;;;;;;;;;;ACtFA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;;;;;;;ACrFA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;AClDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;ACxDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wB;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8B;AACA,E;;;;;;;;;;;ACzDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4B;AACA,E;;;;;;;;;;;;AC1DA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,iFAAmC;;AAExD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C;;AAE/C;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;;AAEA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;;AAEzB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,kG;;;;;;;;;;;ACtDA,4wB;;;;;;;;;;;ACAA,+vB;;;;;;;;;;;ACAA,s8V;;;;;;;;;;;ACAA,o7BAAo7B,+BAA+B,4+C;;;;;;;;;;;ACAn9B,2f;;;;;;;;;;;ACAA,sH;;;;;;;;;;;ACAA,4H;;;;;;;;;;;ACAA,mGAAmG,kGAAkG,oBAAoB,kBAAkB,2sD;;;;;;;;;;;ACA3O,m0B;;;;;;;;;;;ACAA,oP;;;;;;;;;;;ACAA,w8V;;;;;;;;;;;ACAA,uGAAuG,+dAA+d,+BAA+B,m7B;;;;;;;;;;;ACArmB,y0B;;;;;;;;;;;ACAA,o2B;;;;;;;;;;;ACAA,gvB;;;;;;;;;;;ACAA,2f;;;;;;;;;;;ACAA,mGAAmG,kGAAkG,oBAAoB,kBAAkB,y9C;;;;;;;;;;;ACA3O,w+B;;;;;;;;;;;ACAA,u1B;;;;;;;;;;;ACAA,6uB;;;;;;;;;;;ACAA,gxe;;;;;;;;;;;ACAA,0uB;;;;;;;;;;;ACAA,y4B;;;;;;;;;;;ACAA,25B;;;;;;;;;;;ACAA,61B;;;;;;;;;;;ACAA,8mD;;;;;;;;;;;ACAA,m6B;;;;;;;;;;;ACAA,k4B;;;;;;;;;;;ACAA,yEAAyE,YAAY,i9B;;;;;;;;;;;ACArF,oB;;;;;;;;;;;ACAA,83B;;;;;;;;;;;ACAA,ivB;;;;;;;;;;;ACAA,8xCAA8xC,k7E;;;;;;;;;;;ACA9xC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;AACrB;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;;AAGL,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;;AAGL,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,sD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,yDAAyD;AACzD;AACA,SAAS,OAAO;AAChB;AACA,S;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;;AAGL,CAAC,U;;;;;;;;;;;;AC1RD;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EA;;AAEA,mBAAmB,yBAAyB;;AAE5C;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA,iBAAiB;AACjB;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,6BAA6B,mBAAO,CAAC,sEAAwB;AAC7D;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;ACzLA;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,kE;;;;;;;;;;;AC5CA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,mB;AACA;AACA,qBAAqB,oCAAoC;AACzD;AACA;AACA,qBAAqB,oCAAoC;AACzD;AACA;AACA,qBAAqB,2CAA2C;AAChE;AACA;AACA,qBAAqB,2CAA2C;AAChE,kB;AACA;AACA;AACA,qBAAqB,mEAAmE;AACxF;AACA;AACA,qBAAqB,oDAAoD;AACzE;AACA;AACA,qBAAqB,2CAA2C;AAChE;AACA;AACA,qBAAqB,2CAA2C;AAChE;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;AACA,qBAAqB,yCAAyC;AAC9D;AACA;AACA,qBAAqB,yCAAyC;AAC9D;AACA;AACA,qBAAqB,yCAAyC;AAC9D;AACA;AACA,qBAAqB,sCAAsC;AAC3D;AACA;AACA,iBAAiB,sCAAsC;AACvD;AACA;AACA;AACA,iBAAiB,8DAA8D;AAC/E;AACA;AACA,iBAAiB,gDAAgD;AACjE;AACA;AACA,iBAAiB,sCAAsC;AACvD;AACA;AACA,iBAAiB,sCAAsC;AACvD;AACA;AACA,qBAAqB,mCAAmC;AACxD;AACA;AACA,qBAAqB,mCAAmC;AACxD;AACA;AACA,qBAAqB,mCAAmC;AACxD;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA,qBAAqB,4BAA4B;AACjD;;AAEA;AACA;;AAEA;AACA,E;;;;;;;;;;;AChIA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,2EAAgC;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;ACzCA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,K;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;;;;;;;;;;;;;;;;ACnEA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB,aAAa,mBAAO,CAAC,iFAAmC;AACxD,WAAW,mBAAO,CAAC,6GAAiD;AACpE,UAAU,mBAAO,CAAC,yEAA+B;AACjD,aAAa,mBAAO,CAAC,+EAAkC;AACvD,iBAAiB,mBAAO,CAAC,2EAAgC;;AAEzD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA,SAAS;;;AAGT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yB;AACA,yBAAyB,iBAAiB;AAC1C,4CAA4C,4BAA4B,iBAAiB,mBAAmB;AAC5G;AACA;AACA,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,2BAA2B;AAC3B;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,sBAAsB,6BAA6B;AACnD,qBAAqB,kCAAkC;AACvD,8BAA8B;AAC9B;AACA;;AAEA,mBAAmB;AACnB,KAAK;;AAEL;AACA,0BAA0B,8CAA8C;AACxE;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA,E;;;;;;;;;;;;ACjnBA;AACA;AACA;;AAEA,mBAAO,CAAC,iIAA2D;AACnE,mBAAO,CAAC,2HAAwD;AAChE,mBAAO,CAAC,uIAA8D;AACtE,mBAAO,CAAC,2HAAwD;AAChE,mBAAO,CAAC,2HAAwD;AAChE,mBAAO,CAAC,qIAA6D;AACrE,mBAAO,CAAC,qIAA6D;AACrE,mBAAO,CAAC,+HAA0D;AAClE,mBAAO,CAAC,iIAA2D;AACnE,mBAAO,CAAC,qIAA6D;AACrE,mBAAO,CAAC,+IAAkE;AAC1E,mBAAO,CAAC,2HAAwD;;AAEhE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;AChCA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;;AAGA;AACA;AACA,qG;;;;;;;;;;;ACpBA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED,mE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA,qG;;;;;;;;;;;AC3EA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,cAAc,mBAAO,CAAC,2EAAgC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK,O;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;;AAEA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED,wG;;AAEA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;;AAGD;AACA;AACA,qG;;;;;;;;;;;;ACpLA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,cAAc,mBAAO,CAAC,2EAAgC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT,K;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;;;AAGH;AACA;AACA,qG;;;;;;;;;;;ACzEA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,cAAc,mBAAO,CAAC,2EAAgC;AACtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA,qG;;;;;;;;;;;ACnDA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK,E;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA,qG;;;;;;;;;;;ACpFA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,cAAc,mBAAO,CAAC,2EAAgC;;AAEtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT,K;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;;;AAGH;AACA;AACA,qG;;;;;;;;;;;ACzEA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;AAGD;;AAEA,GAAG;;;;AAIH;AACA;AACA,qG;;;;;;;;;;;AClDA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,cAAc,mBAAO,CAAC,2EAAgC;AACtD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,qD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,CAAC;;AAED;AACA;AACA,qG;;;;;;;;;;;ACjEA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,E;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA,qG;;;;;;;;;;;AC5CA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;;;AAG1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,E;AACL,CAAC;;;AAGD;AACA;AACA,qG;;;;;;;;;;;AC7BA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;;;;;;AClCA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qG;;;;;;;;;;;ACzBA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,2EAAgC;AACzD,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;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;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;;AAGL;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA;AACA;;AAEA;;AAEA,qGAAqG;AACrG;;AAEA;;AAEA;AACA;;AAEA;AACA,eAAe,iCAAiC;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA,eAAe,wBAAwB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C,GAAG;AACjD,GAAG;AACH,wDAAwD,GAAG;AAC3D;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK;;AAEL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC,gI;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA,KAAK,8BAA8B;AACnC,wH;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT,wBAAwB,kCAAkC;AAC1D;AACA,SAAS;;;AAGT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,SAAS,oBAAoB;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gDAAgD;AAChD;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sEAAsE,EAAE;AACxE;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wEAAwE,EAAE;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wEAAwE,EAAE;AAC1E;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,SAAS;AACT;AACA;;AAEA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACn5BA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,2EAAgC;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yB;AACA;AACA;;AAEA;AACA,SAAS;AACT,qB;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AACxH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,qBAAqB,EAAE,oBAAoB,2BAA2B,EAAE;AAC3H;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4JAA4J;AAC5J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC/bA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,wCAAK;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,8BAA8B,kBAAkB,kBAAkB;AACnG,oCAAoC,4BAA4B,iBAAiB,mBAAmB;AACpG,+BAA+B,8BAA8B,iBAAiB,mBAAmB;AACjG,2BAA2B,8BAA8B,kBAAkB,mBAAmB;AAC9F;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,+HAA+H,oCAAoC,OAAO,OAAO;AACjL,aAAa;AACb;AACA,sBAAsB,6BAA6B;AACnD,qBAAqB,kCAAkC;AACvD,8BAA8B;AAC9B;AACA;AACA,mBAAmB;AACnB,KAAK;;AAEL;AACA;AACA,0BAA0B,sCAAsC,GAAG,0BAA0B;AAC7F;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,0DAA0D;AAC1D;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,4BAA4B;AAC5B;;AAEA,2BAA2B,oGAAoG;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA,OAAO;;AAEP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACraA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,2EAAgC;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;AC3CA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,iFAAmC;AACxD,WAAW,mBAAO,CAAC,6GAAiD;AACpE,UAAU,mBAAO,CAAC,yEAA+B;AACjD,aAAa,mBAAO,CAAC,+EAAkC;AACvD,iBAAiB,mBAAO,CAAC,2EAAgC;AACzD,UAAU,mBAAO,CAAC,wCAAK;AACvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAA0B,KAAK,YAAY,SAAS,UAAU,OAAO,SAAS,MAAM,aAAa,UAAU,WAAW,QAAQ,cAAc,WAAW,UAAU,OAAO,cAAc,WAAW;AACjM;AACA,gBAAgB,QAAQ,GAAG,MAAM;AACjC;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;;AAGL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,iBAAiB;AACjB;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C,2BAA2B,iBAAiB;AAC5C,gCAAgC,4BAA4B,iBAAiB,mBAAmB;AAChG,6BAA6B,8BAA8B,iBAAiB,mBAAmB;AAC/F,6BAA6B,iBAAiB;AAC9C,8CAA8C,kBAAkB;AAChE;AACA,yBAAyB,MAAM,iBAAiB;AAChD;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa,iDAAiD;AAC9D;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,sBAAsB,6BAA6B;AACnD,qBAAqB,kCAAkC;AACvD,8BAA8B;AAC9B;AACA;AACA,mBAAmB;AACnB,KAAK;;AAEL;AACA,0BAA0B,kCAAkC;;;AAG5D;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,kC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;;;;;AC71CA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,2EAAgC;;;AAGzD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;ACzCA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,iFAAmC;AACxD,WAAW,mBAAO,CAAC,6GAAiD;AACpE,UAAU,mBAAO,CAAC,yEAA+B;AACjD,aAAa,mBAAO,CAAC,+EAAkC;AACvD,iBAAiB,mBAAO,CAAC,2EAAgC;;AAEzD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;;;;;;;;;;;ACrdA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,2EAAgC;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA,C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;;AAEA,qCAAqC;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,8BAA8B;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;;AAEL;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,uCAAuC,+BAA+B,EAAE;AACxE,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,uCAAuC,wCAAwC,EAAE;AACjF,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,uCAAuC,kBAAkB,EAAE;AAC3D,yBAAyB,+BAA+B;AACxD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;;AAEP,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA,+BAA+B,8BAA8B;;AAE7D;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa,2BAA2B;AACxC;AACA,aAAa,2BAA2B;AACxC;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa,4BAA4B;AACzC;AACA,aAAa,4B;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC,8BAA8B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,qCAAqC;AAChE;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA,+BAA+B,8BAA8B;;AAE7D;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC,8BAA8B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,qCAAqC;AAChE;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,uCAAuC,0BAA0B,EAAE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,uCAAuC,mCAAmC,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,8BAA8B;AACtD;AACA;AACA,2BAA2B,8BAA8B;;AAEzD;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,qCAAqC;AAC9D;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA,+BAA+B,8BAA8B;;AAE7D;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,qCAAqC;AAChE;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mCAAmC,6BAA6B,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,8BAA8B;AACtD;AACA;AACA,2BAA2B,8BAA8B;;AAEzD;AACA;AACA,OAAO;AACP;AACA,OAAO,2BAA2B;AAClC;AACA,OAAO,2BAA2B;AAClC;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,qCAAqC;AAC9D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mCAAmC,+BAA+B,EAAE;AACpE;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA,+BAA+B,8BAA8B;;AAE7D;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,qCAAqC;AAChE;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mCAAmC,kCAAkC,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA,+BAA+B,8BAA8B;;AAE7D;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,qCAAqC;AAChE;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,C;;;;;;;;;;;;ACrkDA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,iFAAmC;AACxD,WAAW,mBAAO,CAAC,6GAAiD;AACpE,UAAU,mBAAO,CAAC,yEAA+B;AACjD,aAAa,mBAAO,CAAC,+EAAkC;AACvD,iBAAiB,mBAAO,CAAC,2EAAgC;AACzD,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA,iEAAiE;AACjE;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;;AAEA;AACA,8C;AACA;AACA,uB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;;;;AAIA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA,kC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,iE;AACA,KAAK;AACL;AACA;AACA;;;AAGA;;AAEA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,K;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,SAAS,E;;AAET;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,E;;;AAGL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,mBAAmB,+BAA+B;;AAElD;;AAEA;;AAEA;AACA;AACA;;AAEA,sDAAsD;AACtD;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uD;;;AAGA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA,yCAAyC;AACzC;AACA;;AAEA;;AAEA;AACA;;AAEA,U;;AAEA;AACA;AACA;;AAEA;AACA;;;;;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW;AACX;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;AAKA;AACA;AACA,C;;;;;;;;;;;;ACjmBA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;AACL,E;;;;;;;;;;;;ACpCA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,iFAAmC;AACxD,WAAW,mBAAO,CAAC,6GAAiD;AACpE,UAAU,mBAAO,CAAC,yEAA+B;AACjD,aAAa,mBAAO,CAAC,+EAAkC;AACvD,iBAAiB,mBAAO,CAAC,2EAAgC;;AAEzD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,uCAAuC;AACzF,mBAAmB,4BAA4B;AAC/C,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;AC3xBA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,iFAAmC;AACxD,WAAW,mBAAO,CAAC,6GAAiD;AACpE,UAAU,mBAAO,CAAC,yEAA+B;AACjD,aAAa,mBAAO,CAAC,+EAAkC;AACvD,iBAAiB,mBAAO,CAAC,2EAAgC;AACzD,mBAAmB,mBAAO,CAAC,0DAAY;AACvC,iBAAiB,mBAAO,CAAC,2EAAgC;AACzD,cAAc,mBAAO,CAAC,2EAAgC;AACtD;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;;;;;;;;;;;;;;;ACrIA,oDAAW,mBAAO,CAAC,wCAAK;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,C;;;;;;;;;;;;AClFA,2DAAkB,mBAAO,CAAC,2EAAgC;;;AAG1D;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;;;;;;;;;;;;;AC7CA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,iFAAmC;AACxD,WAAW,mBAAO,CAAC,6GAAiD;AACpE,UAAU,mBAAO,CAAC,yEAA+B;AACjD,aAAa,mBAAO,CAAC,+EAAkC;AACvD,iBAAiB,mBAAO,CAAC,2EAAgC;;AAEzD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;;;;;;;;;;;;ACxcA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,iFAAmC;AACxD,WAAW,mBAAO,CAAC,6GAAiD;AACpE,UAAU,mBAAO,CAAC,yEAA+B;AACjD,aAAa,mBAAO,CAAC,+EAAkC;AACvD,iBAAiB,mBAAO,CAAC,2EAAgC;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnDA;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,mE;;;;;;;;;;;ACvCA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,+EAAkC;AACvD,aAAa,mBAAO,CAAC,iFAAmC;AACxD,mBAAmB,mBAAO,CAAC,0DAAY;;;AAGvC;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,YAAY;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,yBAAyB,MAAM,GAAG,KAAK,GAAG,YAAY;AACtD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;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,OAAO;;AAEP;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL,GAAG;AACH,mDAAmD,mBAAmB;AACtE;AACA;AACA;AACA,KAAK;AACL,mEAAmE,mBAAmB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,oDAAoD,YAAY;AAChE;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA,C;;;;;;;;;;;;AClYA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,iFAAmC;AACxD,WAAW,mBAAO,CAAC,6GAAiD;AACpE,UAAU,mBAAO,CAAC,yEAA+B;AACjD,aAAa,mBAAO,CAAC,+EAAkC;AACvD,iBAAiB,mBAAO,CAAC,2EAAgC;AACzD,mBAAmB,mBAAO,CAAC,0DAAY;AACvC,UAAU,mBAAO,CAAC,wCAAK;;AAEvB;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;;AAEA,SAAS;AACT;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACpjBA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACvBA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,4FAA0C;AAChE,WAAW,mBAAO,CAAC,6GAAiD;;AAEpE;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;;AAEA;;AAEA,yCAAyC,+BAA+B;AACxE;;;AAGA;AACA;;AAEA;AACA,E;;;;;;;;;;;ACnDA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;;;AAG1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;;AAEL,4BAA4B,oBAAoB,SAAS;;AAEzD;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;;AAEL;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;;;;;;AC7KA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;;AAE1D,gBAAgB,mBAAO,CAAC,iEAAe;AACvC,qBAAqB,mBAAO,CAAC,mFAAoB;;AAEjD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;;AAEX;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;ACrGA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,iEAAe;AACvC,qBAAqB,mBAAO,CAAC,mFAAoB;;AAEjD;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B,mBAAmB;AAChD,oCAAoC,eAAe;AACnD;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,WAAW;;AAEX;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;AChFA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,KAAK;AACL;;;;;;;;;;;;;;ACxGA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,2EAAgC;;AAE1D;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,yC;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;;AAEA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpEA;AACA;AACA;;AAEA,4BAA4B,mBAAO,CAAC,4IAA2D;AAC/F,2BAA2B,mBAAO,CAAC,0IAA0D;AAC7F,8BAA8B,mBAAO,CAAC,gJAA6D;AACnG,8BAA8B,mBAAO,CAAC,gJAA6D;;AAEnG;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA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AC5E,iBAAiB,mBAAO,CAAC,iFAAmC;AAC5D,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,YAAY,mBAAO,CAAC,uEAA8B;AAClD,WAAW,mBAAO,CAAC,2EAAgC;AACnD,aAAa,mBAAO,CAAC,iFAAmC;AACxD,qBAAqB,mBAAO,CAAC,uGAA8C;;AAE3E;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,SAAS;AACT;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ,6CAAmB;;AAE3B;;AAEA;AACA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A;AACA;;AAEA;AACA;;;;;;;;;;;;;AC7IA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;;;;ACrDA;AACA;AACA;;;;AAIA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;;;;;ACxDA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,gBAAgB,mBAAO,CAAC,+EAAkC;AAC1D,cAAc,mBAAO,CAAC,2EAAgC;;AAEtD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,C;;;;;;;;;;;;ACjIA;AACA;AACA;;AAEA,qBAAqB,mBAAO,CAAC,6GAAiD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACvCA;AACA;AACA;;;;AAIA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,iFAAmC;;;AAGxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA,uBAAuB;;AAEvB,kCAAkC,UAAU;;AAE5C;;AAEA,0CAA0C;AAC1C;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;AC3GA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;;AAEA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;AAEA,E;;;;;;;;;;;;;AC7FA,mBAAO,CAAC,6HAAoD;;AAE5D;AACA;AACA;AACA;AACA;AACA,mBAAO,CAAC,qEAAc;AACtB,mBAA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AAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACrJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEa;;AAEb;AACA,MAAM,IAA0C;AAChD;AACA,IAAI,iCAAO,CAAC,yEAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAC/B,GAAG,MAAM,EAMN;AACH,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,mCAAmC;AACnC;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,kCAAkC;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;A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ACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;AC5vDA,2BAA2B,mBAAO,CAAC,sGAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,UAAU,uBAAuB,yBAAyB,yBAAyB,6BAA6B,gCAAgC,EAAE,qBAAqB,cAAc,EAAE,mDAAmD,wBAAwB,mBAAmB,0BAA0B,EAAE,yBAAyB,iBAAiB,kBAAkB,sBAAsB,uBAAuB,EAAE,4CAA4C,6BAA6B,mBAAmB,gBAAgB,gBAAgB,uBAAuB,qBAAqB,EAAE,+CAA+C,6BAA6B,iB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CA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb,SAAS;;AAET;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,CAAC;;;;;;;;;;;;;ACvND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;;AAEnB;AACA;AACA,QAAQ,UAAU;;AAElB;AACA;;;;;;;;;;;;ACpFA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wCAAwC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,OAAO;AAChB;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA,+CAA+C,6BAA6B;;AAE5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B;AAC5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,UAAU;AAC9B,mBAAmB,UAAU;;AAE7B;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA,0CAA0C;;AAE1C;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA4B,8CAA8C;;AAE1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B,IAAI;AACJ,+BAA+B;AAC/B,IAAI;AACJ,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oLAAoL;AACpL,mLAAmL;AACnL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA,qCAAqC;;AAErC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,OAAO;AAChB;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;AACA,wCAAwC,KAAK;AAC7C;AACA;AACA;;;AAGA;;AAEA,EAAE;;AAEF;AACA;;;AAGA;AACA,wCAAwC,KAAK;AAC7C;AACA;AACA;;;AAGA;;AAEA,EAAE;;AAEF;AACA;;AAEA;;AAEA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA,uCAAuC,KAAK;AAC5C;AACA;AACA;;;AAGA;;AAEA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,UAAU;AACV,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kCAAkC,KAAK;AACvC;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,KAAK;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;;;AAGA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C,2DAA2D,2BAA2B,sBAAsB,kBAAkB,2BAA2B,uCAAuC;AAChM;;AAEA;;AAEA;AACA;AACA,gCAAgC,WAAW,SAAS,UAAU;AAC9D;AACA;AACA;AACA,EAAE;AACF;AACA,gCAAgC,UAAU,WAAW,QAAQ;AAC7D;AACA;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA,KAAK,KAA4B;AACjC;AACA,CAAC,WAAW,IAAyC;AACrD,QAAQ,mCAAQ,aAAa,gBAAgB,EAAE;AAAA,oGAAE;AACjD,CAAC,MAAM,EAEN;;AAED,CAAC;;;;;;;;;;;;AC1iED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,MAAM,KAA0B;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,YAAY;;AAEpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF,6CAA6C;AAC7C;AACA;AACA,kBAAkB,kCAAkC;AACpD,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,SAAS;AAClB;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,YAAY;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,YAAY;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,kCAAkC,IAAI;AACtC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,0BAA0B;AAC1B;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA,gBAAgB,IAAI;;AAEpB;AACA;;AAEA;;AAEA;AACA;AACA,0CAA0C,IAAI;AAC9C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS;;AAET;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ,6BAA6B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,eAAe;;AAEf,SAAS;;AAET;AACA,QAAQ,iCAAiC;AACzC,QAAQ,oBAAoB;AAC5B,QAAQ,sCAAsC;AAC9C,QAAQ;AACR,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA,8DAA8D;;AAE9D;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,iEAAiE,UAAU;AAC3E,sCAAsC,2BAA2B;AACjE;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,UAAU;AACpB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,YAAY,uEAAuE;AACnF;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,4DAA4D;;AAE5D;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,QAAQ,SAAS;AACjB;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iDAAiD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD,UAAU,4CAA4C;AACtD;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA,CAAC;;;;AAID;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,QAAQ,GAAG;AACX;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;;AAIA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,OAAO;AACjB,0BAA0B,wBAAwB;;AAElD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,0CAA0C;AAC1C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;;;AAIA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA,OAAO;AACP,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wCAAwC,sCAAsC;AAC9E,oCAAoC,uCAAuC;AAC3E,oCAAoC,sCAAsC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,OAAO;AACP;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oCAAoC;AACpC,qCAAqC;AACrC,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;;;;AAKA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,aAAa;AACpC,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;AAGA;;AAEA;;;;AAIA;AACA;AACA,GAAG;AACH,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA;;AAEA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,gBAAgB;AAClB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA,WAAW;;AAEX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc,sBAAsB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+DAA+D;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,cAAc;;AAExB;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uCAAuC;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,uDAAuD;AAC9E;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,qCAAqC;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,OAAO;AACjB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,+BAA+B;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,SAAS,qCAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA,SAAS,8BAA8B;AACvC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,WAAW;AACpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;;AAIA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+CAA+C,cAAc,WAAW;AACxE,mBAAmB,UAAU;AAC7B;AACA,sBAAsB,cAAc,sBAAsB,gBAAgB;AAC1E,gBAAgB,WAAW,YAAY;AACvC,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,cAAc;AAC3D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,+DAA+D;AAC3E;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;;AAEf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,QAAQ,OAAO;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,iDAAiD,0BAA0B;AAC3E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,gBAAgB;AAC1B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;;AAEA,6CAA6C;AAC7C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,gBAAgB;AACzB;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;AAED;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,cAAc;AAClC,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,UAAU,kBAAkB;AAC5B,WAAW,kBAAkB;AAC7B,cAAc;AACd,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA,QAAQ,mBAAmB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;AAKD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA,iCAAiC;AACjC;AACA;;AAEA,IAAI;AACJ;;AAEA,IAAI;AACJ;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA,WAAW,SAAS;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;;;AAGA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;;AAEA;;AAEA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA,UAAU,KAAK;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAqC;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA,aAAa;;AAEb;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb,KAAK;AACL;;AAEA,WAAW;AACX,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB,gDAAgD;AAChD;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;;AAEA;AACA;;AAEA;AACA,iBAAiB;AACjB,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA,sBAAsB;AACtB,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA,mDAAmD;AACnD;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA,cAAc,sDAAsD;AACpE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA,cAAc,mCAAmC;AACjD;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,EAAE;AACF,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK,IAA0C;AAC/C,CAAC,iCAAkB,EAAE,mCAAE;AACvB;AACA,EAAE;AAAA,oGAAE;AACJ;;;;;AAKA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA,CAAC;;;;;;;;;;;;;AChoVY;AACb,iBAAiB,mBAAO,CAAC,4DAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClDa;AACb;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;;;;;;;;;;;;ACrEa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA,oBAAoB;AACpB,KAAK;AACL;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;;;;;;;;;;;;;AC3Ba;AACb;AACA;AACA;AACA,uBAAuB;AACvB,KAAK;AACL;AACA,uBAAuB;AACvB,KAAK;AACL;AACA;AACA;AACA,kBAAkB,mBAAO,CAAC,kDAAS;;;;;;;;;;;;;ACZtB;;AAEb,YAAY,mBAAO,CAAC,kDAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,UAAU;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACrGa;AACb,YAAY,mBAAO,CAAC,kDAAS;;AAE7B;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB,KAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;;;;;;;;;;;;AC3Ga;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACVa;AACb,YAAY,mBAAO,CAAC,kDAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACvGa;AACb;;AAEA,WAAW,mBAAO,CAAC,0CAAM;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;;;;;;;;;;;ACfa;;AAEb,aAAa,mBAAO,CAAC,oDAAU;;AAE/B;AACA;AACA;AACA;AACA,uDAAuD,aAAa;AACpE,uCAAuC,8CAA8C;AACrF;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,iCAAiC;AAC5C,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,IAAI;AAC1B,8BAA8B;AAC9B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAO,CAAC,oDAAU;AACpC,uBAAuB,mBAAO,CAAC,gDAAQ;AACvC,gBAAgB,mBAAO,CAAC,sDAAW;AACnC,iBAAiB,mBAAO,CAAC,wDAAY;;AAErC;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,kFAAyB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,gEAAgB;AAC7C;;;;;;;;;;;;;AC9Ea;AACb,aAAa,mBAAO,CAAC,oDAAU;AAC/B,WAAW,mBAAO,CAAC,gDAAQ;AAC3B,YAAY,mBAAO,CAAC,kDAAS;AAC7B,iBAAiB,mBAAO,CAAC,4DAAc;AACvC;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACtCA,8CAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNa;AACb,uBAAuB,mBAAO,CAAC,wEAAoB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpBa;AACb,cAAc,mBAAO,CAAC,sDAAW;AACjC,YAAY,mBAAO,CAAC,kDAAS;AAC7B,YAAY,mBAAO,CAAC,kDAAS;AAC7B,gBAAgB,mBAAO,CAAC,0DAAa;AACrC,eAAe,mBAAO,CAAC,wDAAY;AACnC,aAAa,mBAAO,CAAC,oDAAU;AAC/B,mBAAmB,mBAAO,CAAC,gEAAgB;AAC3C,uBAAuB,mBAAO,CAAC,wEAAoB;AACnD,iBAAiB,mBAAO,CAAC,4DAAc;AACvC,WAAW,mBAAO,CAAC,gDAAQ;AAC3B,mBAAmB,mBAAO,CAAC,gEAAgB;AAC3C,uBAAuB,mBAAO,CAAC,wEAAoB;;AAEnD;AACA;AACA,WAAW,UAAU;AACrB,YAAY,qCAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,qCAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,kBAAkB;AAC7B,WAAW,OAAO;AAClB,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;AAKA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,WAAW,uBAAuB;AAClC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,KAAK,OAAO;AACZ,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;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;;;AAGA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAqC;AACpD,eAAe,OAAO;AACtB;AACA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,SAAS;AACxB,sCAAsC;AACtC;AACA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA,iBAAiB,qCAAqC;AACtD,iBAAiB,OAAO;AACxB,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,kBAAkB;AAClB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,iBAAiB,cAAc;AAC/B,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,2BAA2B,iBAAiB;AAC5C;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,gBAAgB,0CAA0C;AAC1D;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;;AAEA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACr2Ba;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACNa;AACb,iBAAiB,mBAAO,CAAC,4DAAc;AACvC,YAAY,mBAAO,CAAC,kDAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpCa;;AAEb,YAAY,mBAAO,CAAC,kDAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC7BA,8CAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCa;AACb,kBAAkB,mBAAO,CAAC,8DAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACzBa;;AAEb,YAAY,mBAAO,CAAC,kDAAS;;AAE7B;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACnCa;;AAEb,YAAY,mBAAO,CAAC,kDAAS;AAC7B,cAAc,mBAAO,CAAC,sDAAW;AACjC,iBAAiB,mBAAO,CAAC,4DAAc;;AAEvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,wBAAwB,aAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,kBAAkB;;AAE7C;AACA;AACA,oDAAoD,OAAO;;AAE3D;AACA;AACA,kBAAkB,YAAY;;AAE9B;AACA;AACA,oBAAoB,YAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,OAAO;AAC3B;AACA;AACA,uBAAuB,qBAAqB,UAAU;;AAEtD;AACA;AACA,wBAAwB,0BAA0B,cAAc,UAAU;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,0BAA0B,UAAU;;AAE5D;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,wBAAwB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AC9Ma;AACb,cAAc,mBAAO,CAAC,sDAAW;AACjC,mBAAmB,mBAAO,CAAC,gEAAgB;AAC3C,iBAAiB,mBAAO,CAAC,4DAAc;AACvC;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,oCAAoC;AAC/C,YAAY,oCAAoC;AAChD;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,oCAAoC;AAC/C,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C,YAAY,oCAAoC;AAChD;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,2CAA2C;AACtD,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACA;AACA,mBAAmB;AACnB,eAAe,sBAAsB,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACtVa;AACb,mBAAmB,mBAAO,CAAC,gEAAgB;AAC3C,uBAAuB,mBAAO,CAAC,wEAAoB;AACnD,uBAAuB,mBAAO,CAAC,wEAAoB;AACnD,kBAAkB,mBAAO,CAAC,8DAAe;AACzC,YAAY,mBAAO,CAAC,kDAAS;AAC7B,UAAU,mBAAO,CAAC,0DAAa;AAC/B,eAAe,mBAAO,CAAC,wDAAY;AACnC,cAAc,mBAAO,CAAC,sDAAW;AACjC,iBAAiB,mBAAO,CAAC,oDAAU;AACnC;AACA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,qCAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;;;;;;;;;;;;ACvRa;AACb,mBAAmB,mBAAO,CAAC,gEAAgB;AAC3C,YAAY,mBAAO,CAAC,kDAAS;AAC7B,uBAAuB,mBAAO,CAAC,wEAAoB;AACnD,iBAAiB,mBAAO,CAAC,oDAAU;AACnC,cAAc,mBAAO,CAAC,sDAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,WAAW;AAC1B,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,WAAW;AAC1B,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,kBAAkB;AACjC,eAAe,OAAO;AACtB,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,eAAe,WAAW;AAC1B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9TA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;;;;;;;;;;;ACrCA,WAAW,mBAAO,CAAC,qDAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;AChCa;;AAEb,wBAAwB,mBAAO,CAAC,+EAAqB;;AAErD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,6E;;;;;;;;;;;ACnSA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,cAAc;AACd,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACjFD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtKD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACjED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,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;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrLD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AClED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACnHD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACjED;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,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;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACvMD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChHD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxJD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACjGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC7DD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC3ID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACjID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,IAAI;AACvC;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AClLD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;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;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChKD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9GD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,qDAAqD;AACrD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;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,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9LD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACzED;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;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,mCAAmC;AACnC,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC5GD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC/DD;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACzFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtFD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACpGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,gCAAgC;AAChC,+BAA+B;AAC/B,+BAA+B;AAC/B,8BAA8B;AAC9B;AACA;AACA;AACA,yDAAyD;AACzD;AACA,0DAA0D;AAC1D;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACpHD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC1ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC1ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9ED;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9ED;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;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,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtHD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;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,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxHD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;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,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxHD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;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,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxHD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC3ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC3HD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtID;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACpED;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACnED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACpFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtHD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACzGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACzGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACpID;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;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,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AClLD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;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,SAAS;AACT;AACA;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;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtKD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI,IAAI,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxGD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,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,iBAAiB;AACjB;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;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtJD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC1ED;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;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,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACpHD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;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,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9JD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8CAA8C,IAAI,IAAI,IAAI;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC5FD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,sCAAsC,IAAI;AAC1C;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACjHD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtID;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9FD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,iBAAiB;AACjB;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACnJD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,yCAAyC,IAAI;AAC7C;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC5ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA,aAAa;AACb;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACvID;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACxGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;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,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC/HD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,IAAI;AAC3D,6DAA6D,IAAI;AACjE,4DAA4D,IAAI;AAChE,kEAAkE,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtED;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,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,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC5FD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9GD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrND;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AClED;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrGD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACnID;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChHD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AClHD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC/FD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACpID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;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;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtJD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,8CAA8C;AAC9C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACpED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,8CAA8C;AAC9C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACzED;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtFD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;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,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC/ND;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC3FD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACnED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC/ED;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;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,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC3JD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;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;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrLD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC3ED;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;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,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACzID;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;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,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC3ID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9FD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACjED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,gCAAgC;AAChC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC7ID;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AClGD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC/HD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC3ED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACrGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACnED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACtID;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACpHD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;ACnGD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;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;;AAET,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACzHD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACjLD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC5FD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AChED;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC7DD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC1FD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;ACnFD;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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,0CAA0C,IAAI;AAC9C;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC/DD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;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,SAAS;AACT,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AClID;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;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,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC/GD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;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,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC9GD;AACA;AACA;AACA;;AAEA,CAAC;AACD,GAAG,KACoC,WAAW,mBAAO,CAAC,kDAAW;AACrE,GAAG,SACsB;AACzB,CAAC,2BAA2B;;AAE5B;;AAEA;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,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;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,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;AC7GD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,IAAI,KAA4D;AAChE,IAAI,SACyB;AAC7B,CAAC,qBAAqB;;AAEtB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,IAAI;AACxB;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wGAAwG,IAAI,wBAAwB,IAAI,uDAAuD,IAAI;AACnM,qEAAqE,IAAI;AACzE,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0CAA0C,YAAY;AACtD;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,IAAI;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mCAAmC;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,EAAE;AACvB,qBAAqB,EAAE;AACvB,0BAA0B,EAAE;AAC5B;AACA;AACA;AACA,wBAAwB,IAAI;AAC5B,wBAAwB,IAAI;AAC5B,6BAA6B,IAAI;AACjC;AACA;AACA;AACA;AACA,wCAAwC,IAAI;AAC5C;AACA;AACA;AACA,mBAAmB,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI;AACjK;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;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;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB;AACpB,2BAA2B;AAC3B;;AAEA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,8EAAe,IAAW,OAAO,CAAC;AAClD;AACA,aAAa;AACb;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;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,2BAA2B,EAAE;AAC7B,yBAAyB,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;AACjM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;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,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,gBAAgB;AACnC;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC,kBAAkB;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,cAAc;AACjC;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;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,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,2GAA2G;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,sBAAsB;AACtB;AACA;AACA,sBAAsB;AACtB;AACA;AACA,sBAAsB;AACtB;AACA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,uBAAuB;AAC1D;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,uBAAuB;AAC1D;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,OAAO;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,OAAO;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;ACpjLD;AACa;;AAEb,gBAAgB,mBAAO,CAAC,mEAAoB;;AAE5C,gBAAgB,mBAAO,CAAC,yDAAe;AACvC,gBAAgB,mBAAO,CAAC,yDAAe;AACvC,gBAAgB,mBAAO,CAAC,uEAAsB;;AAE9C;;AAEA;;AAEA;;;;;;;;;;;;;ACba;;;AAGb,mBAAmB,mBAAO,CAAC,+DAAgB;AAC3C,mBAAmB,mBAAO,CAAC,+DAAgB;AAC3C,mBAAmB,mBAAO,CAAC,iEAAiB;AAC5C,mBAAmB,mBAAO,CAAC,iEAAiB;AAC5C,mBAAmB,mBAAO,CAAC,+DAAgB;;AAE3C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA,8BAA8B;AAC9B;AACA,qBAAqB,8BAA8B;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;;AAElB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB;AAClB,mBAAmB;AACnB,sBAAsB;AACtB,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,cAAc;;AAEjC;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,yCAAyC;;AAE9D;AACA;;;AAGA;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;;;AAGA;AACA;AACA;AACA;;;;;;;;;;;;;AC/Ya;;;AAGb,mBAAmB,mBAAO,CAAC,+DAAgB;AAC3C,mBAAmB,mBAAO,CAAC,+DAAgB;AAC3C,mBAAmB,mBAAO,CAAC,iEAAiB;AAC5C,mBAAmB,mBAAO,CAAC,mEAAkB;AAC7C,mBAAmB,mBAAO,CAAC,iEAAiB;AAC5C,mBAAmB,mBAAO,CAAC,+DAAgB;AAC3C,mBAAmB,mBAAO,CAAC,iEAAiB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA,8BAA8B;AAC9B;AACA,qBAAqB,8BAA8B;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,eAAe;;AAElB;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB,mBAAmB;AACnB,sBAAsB;AACtB,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,cAAc;AACjC;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;;AAEtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,kEAAkE;;AAEvF;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,yCAAyC;;AAE9D;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;;;;;;;;;;;ACtaa;;;AAGb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,UAAU;;AAE5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,4BAA4B,YAAY;AACxC,qBAAqB,8BAA8B;AACnD;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACxGA;AACa;;;AAGb,YAAY,mBAAO,CAAC,yDAAU;;;AAG9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,wCAAwC,EAAE,aAAa,sBAAsB;AAClF,KAAK,oDAAoD,EAAE,aAAa,0BAA0B;;;AAGlG;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA,kCAAkC;;;AAGlC;AACA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB,aAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,mCAAmC,SAAS;AAC5C;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA,mBAAmB,qBAAqB,UAAU;;AAElD;AACA;AACA,oBAAoB,0BAA0B,gBAAgB,UAAU;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B,UAAU;;AAExD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,kBAAkB;;AAE3C;AACA;AACA,kDAAkD,OAAO;;AAEzD;AACA;AACA,gBAAgB,YAAY;;AAE5B;AACA;AACA,kBAAkB,YAAY;;AAE9B;AACA;;;;;;;;;;;;;AC1La;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;;AAGA;;;;;;;;;;;;;AClDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;ACnEa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;;AAEA,sBAAsB;AACtB;;;AAGA;;;;;;;;;;;;;AC1Da;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,gEAAiB;AACvC,cAAc,mBAAO,CAAC,sDAAS;AAC/B,cAAc,mBAAO,CAAC,0DAAW;AACjC,cAAc,mBAAO,CAAC,sDAAS;AAC/B,cAAc,mBAAO,CAAC,4DAAY;;AAElC;AACA;;;AAGA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;AAChC;;;AAGA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;;AAE1B,mBAAmB;;AAEnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,sBAAsB,qBAAqB,cAAc,EAAE;;;AAG/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,QAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAY;AAC/B,kBAAkB,UAAU;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,wBAAwB;AACxB,YAAY;AACZ,UAAU;AACV,+BAA+B;AAC/B,gCAAgC;AAChC;AACA;;AAEA,sBAAsB;;AAEtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0BAA0B;;AAE3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,aAAa;;AAEb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;;AAEnE;AACA,yDAAyD;AACzD;;AAEA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,aAAa;;AAEb;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,EAAE;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,mBAAmB;;AAEnB;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,EAAE;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,mBAAmB;AACnB,kBAAkB;AAClB,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,mBAAmB;AACnB,gBAAgB;AAChB,qBAAqB;AACrB,mBAAmB;AACnB,2BAA2B;AAC3B,uBAAuB;;AAEvB,kBAAkB;AAClB,kBAAkB;AAClB,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;;AAEnB,iBAAiB;AACjB,qBAAqB;AACrB,qBAAqB;AACrB,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB,sBAAsB;AACtB,2BAA2B;AAC3B,oBAAoB;AACpB,uBAAuB;AACvB,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,oBAAoB;;AAEpB;AACA;;AAEA,sBAAsB;;AAEtB;;AAEA;;AAEA,2CAA2C;AAC3C,6CAA6C;AAC7C,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB;AACvB,uBAAuB;AACvB,uBAAuB;;AAEvB;AACA;AACA;;AAEA,0BAA0B;AAC1B,+CAA+C;AAC/C;;AAEA,oBAAoB;AACpB,oBAAoB;AACpB;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;AACA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB,sBAAsB;AACtB,mBAAmB;AACnB,kBAAkB;;;AAGlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,6BAA6B,uBAAuB;AACpD,8BAA8B,uBAAuB;AACrD;AACA;AACA;;;AAGA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB;;AAErB,sCAAsC;;AAEtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB,qBAAqB;AACrB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;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;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;;AAEP;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B,2BAA2B,aAAa;AACxC,oBAAoB,qBAAqB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD;AACA;;AAEA,aAAa;;AAEb;AACA;AACA,qBAAqB;AACrB,yBAAyB;AACzB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACj1Da;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACzDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,WAAW;AACX,WAAW;AACX,UAAU;AACV,UAAU;AACV;AACA,WAAW;AACX;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ;AACA,eAAe;AACf,WAAW;AACX,WAAW;AACX,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,WAAW;AACX,SAAS;AACT;AACA,UAAU;AACV,WAAW;AACX,WAAW;AACX;;;AAGA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,gCAAgC;AAChC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mBAAmB;AACnB,qCAAqC;AACrC;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA,qBAAqB;AACrB,uCAAuC;AACvC;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mBAAmB;AACnB,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,kBAAkB;AAClB;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxVa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,mBAAO,CAAC,gEAAiB;AAC7C,oBAAoB,mBAAO,CAAC,0DAAW;AACvC,oBAAoB,mBAAO,CAAC,sDAAS;AACrC,oBAAoB,mBAAO,CAAC,0DAAW;AACvC,oBAAoB,mBAAO,CAAC,4DAAY;;AAExC;AACA;AACA;;AAEA;AACA;;;AAGA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;;AAGA,gBAAgB;AAChB,iBAAiB;AACjB,gBAAgB;AAChB,cAAc;AACd,iBAAiB;AACjB,iBAAiB;AACjB,gBAAgB;AAChB,mBAAmB;AACnB,gBAAgB;AAChB,mBAAmB;AACnB,iBAAiB;AACjB,qBAAqB;AACrB,uBAAuB;AACvB,uBAAuB;AACvB,sBAAsB;AACtB,qBAAqB;AACrB,sBAAsB;AACtB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,wBAAwB;AACxB,2BAA2B;AAC3B,yBAAyB;AACzB,4BAA4B;AAC5B,0BAA0B;AAC1B,wBAAwB;AACxB,kBAAkB;AAClB,mBAAmB;AACnB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;;AAEjB;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,gBAAgB;AAChB,oBAAoB;AACpB,gBAAgB;AAChB,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB;AACA,mBAAmB;;AAEnB;AACA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,qBAAqB;;AAErB;AACA,gBAAgB;AAChB,gBAAgB;;AAEhB;AACA,kBAAkB;AAClB,kBAAkB;;AAElB;AACA,iBAAiB;;AAEjB;AACA,sBAAsB;AACtB,uBAAuB;AACvB,mBAAmB;AACnB,oBAAoB;;AAEpB;AACA,iBAAiB;AACjB,gBAAgB;AAChB,iBAAiB;AACjB,gBAAgB;AAChB,mBAAmB;;AAEnB,mCAAmC;AACnC,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,sBAAsB;AACtB,gBAAgB;AAChB,gBAAgB;AAChB,eAAe;AACf;;AAEA;AACA;;AAEA,6BAA6B,uBAAuB;AACpD;AACA;AACA,gBAAgB;AAChB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,uBAAuB;AACpD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,uBAAuB;AACrC,sBAAsB;;AAEtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;;AAEpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uBAAuB,uBAAuB;AAC9C,uBAAuB,uBAAuB;AAC9C,uBAAuB,uBAAuB;AAC9C,uBAAuB,uBAAuB;;AAE9C,uEAAuE,UAAU;;AAEjF;AACA;AACA,sBAAsB,uBAAuB;;AAE7C,uEAAuE,UAAU;;AAEjF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iBAAiB;AACzD,sCAAsC,qBAAqB;AAC3D;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB,WAAW;AACX,UAAU;AACV,iBAAiB;AACjB,WAAW;AACX,WAAW;AACX,gBAAgB;AAChB,WAAW;AACX,WAAW;AACX;AACA,eAAe;AACf,mCAAmC;AACnC,aAAa;AACb,mCAAmC;AACnC,UAAU;AACV,UAAU;AACV,+BAA+B;AAC/B;;AAEA,QAAQ;;AAER;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,qBAAqB,EAAE;;;AAGnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;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;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;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,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;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,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,iBAAiB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,aAAa;AACzC,4BAA4B,aAAa;AACzC,2BAA2B,iBAAiB;AAC5C,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,oEAAoE;AACpE;AACA;AACA;;AAEA,sCAAsC,OAAO;AAC7C;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC,OAAO;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,kEAAkE;AAClE;AACA;AACA;;AAEA,kCAAkC,OAAO;AACzC;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,OAAO;AACzD;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,oEAAoE;AACpE;AACA;AACA;;AAEA,oCAAoC,OAAO;AAC3C;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,OAAO;AACzD;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;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,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,qBAAqB;AAC3D,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA,aAAa;AACb,qCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,qBAAqB;AACzD;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;AACA;AACA;AACA,SAAS;AACT,iCAAiC,kBAAkB;AACnD;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,6BAA6B,uBAAuB;AACpD;AACA,+BAA+B,uBAAuB;;AAEtD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6DAA6D,uBAAuB;AACpF;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnhDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY,mBAAO,CAAC,gEAAiB;;AAErC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;;AAEzB,cAAc;AACd,cAAc;AACd,uBAAuB;AACvB,eAAe;AACf,eAAe;AACf,eAAe;AACf,eAAe;AACf,eAAe;AACf,eAAe;AACf,WAAW;AACX,WAAW;AACX,UAAU;AACV,WAAW;AACX,WAAW;AACX,kBAAkB;AAClB;AACA,iBAAiB;AACjB,UAAU;AACV,2CAA2C,eAAe;AAC1D,0CAA0C,eAAe;AACzD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA,eAAe,aAAa;AAC5B;AACA;;AAEA;AACA;AACA,qBAAqB,UAAU;AAC/B,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA,kBAAkB;AAClB,sCAAsC,2BAA2B;AACjE,uCAAuC;AACvC,wCAAwC;AACxC;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA,eAAe,WAAW;AAC1B,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;;AAEA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG,OAAO;AACV;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,UAAU;AACV,YAAY;AACZ,qBAAqB;AACrB,cAAc;AACd,WAAW;AACX,WAAW;AACX,mBAAmB;AACnB,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACtVa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC/Ba;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,YAAY,mBAAO,CAAC,gEAAiB;;AAErC;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;;AAEA;;;AAGA,oBAAoB,sBAAsB,qBAAqB,cAAc,EAAE;;AAE/E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA,kCAAkC;AAClC,iCAAiC;AACjC,iCAAiC;AACjC,4BAA4B;AAC5B,iCAAiC;;AAEjC;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA,2BAA2B;AAC3B,oBAAoB;AACpB,6BAA6B;AAC7B;;;;AAIA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,WAAW;AACX,WAAW;AACX,YAAY;AACZ,QAAQ;AACR,mBAAmB;;AAEnB,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;AACA;AACA,+CAA+C;;AAE/C,0BAA0B,eAAe;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,UAAU,EAAE;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;;AAE/B;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C,uBAAuB;AACvB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,yBAAyB,YAAY;AACrC;AACA;AACA;AACA,yBAAyB,UAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB,qBAAqB;AACrB;AACA,0CAA0C;AAC1C,eAAe;AACf,WAAW;AACX,QAAQ;;AAER;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,gBAAgB;AAC7B;AACA,oBAAoB,UAAU;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAQ;AACR,WAAW;AACX,aAAa;AACb,WAAW;AACX,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,yBAAyB;AACzC;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;AACA,aAAa;AACb,QAAQ,gBAAgB;AACxB;AACA,eAAe,oCAAoC;AACnD;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA,aAAa,aAAa,QAAQ,iCAAiC;AACnE,aAAa,aAAa,QAAQ,iCAAiC;AACnE,aAAa,cAAc,OAAO,+BAA+B;;AAEjE;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,eAAe;AACf,kBAAkB;AAClB;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,YAAY;AACZ;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;;AAEtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B;AACA,WAAW;AACX,SAAS;AACT,aAAa;AACb,WAAW;AACX,YAAY;;AAEZ;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,OAAO;AACP;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA,kCAAkC;AAClC;AACA,eAAe;AACf;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;AACA,oCAAoC;AACpC;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,oBAAoB;AACpB,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,WAAW;AACxB;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,QAAQ,OAAO,wBAAwB;;AAE9E;AACA;AACA;AACA,eAAe;AACf;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA,8BAA8B;;AAE9B,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB;AACA,QAAQ;AACR,mBAAmB;AACnB,aAAa;;AAEb,wCAAwC;;AAExC,gBAAgB;AAChB,oBAAoB;AACpB,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD,aAAa,eAAe;AAC5B;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;;AAEL,+BAA+B,kCAAkC;AACjE;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB;AACA,QAAQ;AACR,mBAAmB;AACnB,aAAa;;AAEb,wCAAwC;;AAExC,gBAAgB;AAChB,oBAAoB;AACpB,oBAAoB;;AAEpB,+BAA+B;AAC/B;AACA;AACA;AACA;;AAEA,aAAa,eAAe;AAC5B;AACA;;AAEA;AACA;;AAEA,KAAK;AACL,UAAU,iCAAiC,EAAE;;AAE7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,gCAAgC;AAChC,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;;AAEA,wCAAwC;AACxC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,IAAI,MAAM,GAAG,MAAM,GAAG;AAChD;AACA;AACA;AACA,SAAS,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,MAAM,IAAI;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,iBAAiB;AACjB,WAAW;AACX;AACA,wDAAwD;AACxD,uCAAuC;AACvC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,iBAAiB;AACjB,WAAW;AACX;AACA,4BAA4B;AAC5B,sBAAsB;;AAEtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC,wBAAwB;;AAE1D,GAAG;AACH;AACA,4CAA4C;AAC5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AA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AAkB,uBAAuB,KAAK,8BAA8B,UAAU,cAAc,kCAAkC,uCAAuC,mCAAmC,OAAO,iBAAiB,mBAAmB,wBAAwB,YAAY,EAAE,mBAAmB,kBAAkB,YAAY,sCAAsC,mEAAmE,QAAQ,KAAK,iBAAiB,wEAAwE,wCAAwC,gBAAgB,WAAW,+DAA+D,aAAa,oCAAoC,cAAc,yCAAyC,6BAA6B,4BAA4B,SAAS,gBAAgB,kBAAkB,sBAAsB,cAAc,2BAA2B,mCAAmC,aAAa,kDAAkD,2CAA2C,mEAAmE,EAAE,oEAAoE,gCAAgC,kBAAkB,2CAA2C,GAAG,gOAAgO,E;;;;;;;;;;;ACNx4kB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;ACvLtC;AACA,CAAC,KAA4D;AAC7D,CAAC,SACW;AACZ,CAAC,qBAAqB;;AAEtB;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,SAAS;AACtB;AACA,aAAa,kBAAkB;AAC/B;AACA,aAAa,kBAAkB;AAC/B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC,SAAS;AAC9C;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA,eAAe,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;AACA;;AAEA,CAAC;;;;;;;;;;;;;AC5SD;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,sBAAsB,EAAE;AAClE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;;;;;;ACzLD;AACA;AACA;;AAEA;AACA,QAAQ,IAA0C;AAClD,QAAQ,iCAAqB,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACzC,KAAK,MAAM,EAIN;AACL,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,CAAC;;;;;;;;;;;;AC9ID;AACA;AACA;;AAEA;AACA,QAAQ,IAA0C;AAClD,QAAQ,iCAA0B,CAAC,6GAAY,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAC1D,KAAK,MAAM,EAIN;AACL,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,iBAAiB;AAC/C;AACA;AACA;AACA,+CAA+C,iDAAiD;AAChG,iBAAiB;AACjB,+CAA+C,WAAW;AAC1D;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AC5CD;AACA;AACA;;AAEA;AACA,QAAQ,IAA0C;AAClD,QAAQ,iCAAqB,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACzC,KAAK,MAAM,EAIN;AACL,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA,2DAA2D,UAAU;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;AC1GD,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,iFAAQ;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,SAAS;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvGA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,qFAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;;;;;;;;;;;AC3IA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;;AAEhB,mBAAmB;AACnB,oBAAoB;;AAEpB,gBAAgB;AAChB,gBAAgB;;AAEhB,gBAAgB;AAChB,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;AClEA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AC9GA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,iFAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9EA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjHA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,iFAAQ;AAC3B,mBAAmB,mBAAO,CAAC,mGAAiB;AAC5C,eAAe,mBAAO,CAAC,2FAAa;AACpC,gBAAgB,mBAAO,CAAC,6FAAc;AACtC,gBAAgB,mBAAO,CAAC,6FAAc;;AAEtC;AACA;AACA;AACA,sDAAsD;AACtD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,MAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sDAAsD,YAAY;AAClE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wCAAwC;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,mBAAmB,EAAE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA,6BAA6B,MAAM;AACnC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C,qBAAqB,+CAA+C;AACpE;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA,qBAAqB,4BAA4B;AACjD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzjCA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,6FAAc;AACtC,WAAW,mBAAO,CAAC,iFAAQ;AAC3B,eAAe,mBAAO,CAAC,2FAAa;AACpC,kBAAkB,mBAAO,CAAC,iGAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,SAAS;AACnD;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnZA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,mBAAO,CAAC,iHAAwB;AACzD,WAAW,mBAAO,CAAC,iFAAQ;;AAE3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;;AAEA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH,UAAU;AACV;;AAEA;;;;;;;;;;;;ACtZA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;AChaA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mBAAO,CAAC,qHAA4B;AACjE,4BAA4B,mBAAO,CAAC,mHAA2B;AAC/D,qBAAqB,mBAAO,CAAC,mGAAmB;;;;;;;;;;;;ACPhD;AACA;AACA;;AAEA;AACA,QAAQ,IAA0C;AAClD,QAAQ,iCAAyB,CAAC,4GAAY,EAAE,gFAAY,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvE,KAAK,MAAM,EAIN;AACL,CAAC;AACD;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,qBAAqB,KAAK,EAAE,KAAK;AACjC;AACA,YAAY,KAAK,cAAc,KAAK;AACpC;AACA,YAAY,KAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,eAAe,OAAO;AACtB,gCAAgC,qBAAqB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qDAAqD,WAAW;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,qBAAqB;AACrB,8DAA8D,cAAc;AAC5E;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,CAAC;;;;;;;;;;;;AC9SD;AACA;AACA;;AAEA;AACA,QAAQ,IAA0C;AAClD,QAAQ,iCAAqB,CAAC,wGAAoB,EAAE,+FAAiB,EAAE,4FAAgB,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAClG,KAAK,MAAM,EAIN;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,qBAAqB,MAAM;AAC3B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,mBAAmB,OAAO;AAC1B,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS;;AAET;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,mBAAmB,SAAS;AAC5B,mBAAmB,SAAS;AAC5B,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,mBAAmB;AAC5D,aAAa;AACb;AACA;AACA,CAAC;;;;;;;;;;;;AC7LD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,uDAAQ;;AAE9B;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA,mBAAmB,2BAA2B;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAmB;AACnC;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;;AAEA,QAAQ,uBAAuB;AAC/B;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd,kDAAkD,sBAAsB;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA,KAAK,KAAwC,EAAE,EAE7C;;AAEF,QAAQ,sBAAiB;AACzB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD;;AAEA,6BAA6B,mBAAmB;;AAEhD;;AAEA;;AAEA;AACA;;;;;;;;;;;;;AC9YA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,WAAW,EAAE;AACrD,wCAAwC,WAAW,EAAE;;AAErD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,sCAAsC;AACtC,GAAG;AACH;AACA,8DAA8D;AAC9D;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;;;;;;;;;;;ACxFA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAO,CAAC,iEAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC9DA;AACA;AACA;;;;;;;;;;;;ACFA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;ACpBA,cAAc,mBAAO,CAAC,4HAAwD;;AAE9E,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,sGAAmD;;AAExE;;AAEA,GAAG,KAAU,EAAE,E;;;;;;;;;;;ACnBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAA0C;AAClD;AACA,QAAQ,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AACvB,KAAK,MAAM,EAMN;AACL,CAAC;;AAED;AACA;AACA;AACA,qBAAqB,gBAAgB,kBAAkB,sBAAsB,cAAc,sFAAsF,+DAA+D,8EAA8E,cAAc,WAAW,yEAAyE,0CAA0C,+DAA+D,MAAM,IAAI,cAAc,SAAS,wBAAwB,aAAa,EAAE,cAAc,IAAI,6EAA6E,oDAAoD,aAAa,mEAAmE,0CAA0C,SAAS,gBAAgB,cAAc,0CAA0C,aAAa,qCAAqC,IAAI,oCAAoC,qBAAqB,oBAAoB,wHAAwH,kBAAkB,SAAS,IAAI,cAAc,eAAe,aAAa,eAAe,EAAE,SAAS,YAAY,WAAW,+EAA+E,OAAO,8BAA8B,4DAA4D,iCAAiC,yBAAyB,gCAAgC,WAAW,2BAA2B,yBAAyB,EAAE,kBAAkB,+FAA+F,2BAA2B,gBAAgB,IAAI,oDAAoD,aAAa,0DAA0D,OAAO,IAAI,qBAAqB,SAAS,MAAM,6BAA6B,uBAAuB,WAAW,cAAc,EAAE,uBAAuB,qEAAqE,KAAK,EAAE,sBAAsB,2BAA2B,KAAK,EAAE,oBAAoB,2BAA2B,uBAAuB,IAAI,mBAAmB,EAAE,+BAA+B,IAAI,CAAC,KAA2B,2DAA2D;AAC53E;;AAEA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B,OAAO;AACpC;AACA;;AAEA,4CAA4C,0BAA0B;AACtE;AACA,SAAS;AACT;AACA;;AAEA;AACA,gGAAgG;AAChG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,8BAA8B;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,8CAA8C,4CAA4C;AAC1F;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb,6CAA6C;AAC7C,aAAa;AACb,yCAAyC;AACzC,aAAa;AACb,wCAAwC;AACxC,aAAa;AACb;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,+DAA+D;AAC/D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,eAAe;AAC/D,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,+IAA+I;;AAEzK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA,mFAAmF,sBAAsB,EAAE;AAC3G;AACA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,oCAAa;AACtD,gBAAgB,oCAAa;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC,oCAAoC;AAC1E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;ACnmDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,2BAA2B,eAAe,EAAE;;AAE5C;AACA,KAAK,UAAU,IAA2B;AAC1C;AACA,8CAA8C;AAC9C;AACA,gCAAgC;AAChC,0CAA0C;AAC1C;;AAEA,CAAC;AACD;;AAEA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gBAAgB;AAChB,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gBAAgB;AAChB,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,WAAW;AAC1B,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,WAAW;AAC1B,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;;;;;;;ACzSD,cAAc,mBAAO,CAAC,wKAAuE;;AAE7F,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,yGAAsD;;AAE3E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;;;;;;ACnBf,0D;;;;;;;;;;;ACAA,0D;;;;;;;;;;;ACAA,0D;;;;;;;;;;;ACAA,0D;;;;;;;;;;;ACAA,4D;;;;;;;;;;;ACAA,2D;;;;;;;;;;;;ACCA,cAAc,mBAAO,CAAC,mVAAqL;;AAE3M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,yGAAsD;;AAE3E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;;;;;;ACnBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAA0C;AAClD,QAAQ,iCAAO,CAAC,yEAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACnC,KAAK,MAAM,EAIN;AACL,CAAC;AACD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,kCAAkC,+CAA+C;AACjF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD,qBAAqB,iCAAiC;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,6BAA6B;AAC7B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,yBAAyB;;AAEzB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;AACT;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,qBAAqB,OAAO;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,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,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,4BAA4B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,qBAAqB;AACrB,SAAS;AACT;AACA,CAAC;;;;;;;;;;;;;AC7zBD,cAAc,mBAAO,CAAC,gWAAyL;;AAE/M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,yGAAsD;;AAE3E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;;;;;;ACnBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK,IAA0C;AAC/C,EAAE,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AACjB;AACA;AACA,KAAK,IAA2B;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,QAAQ,sBAAsB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D;AAC3D,6BAA6B,EAAE;AAC/B;;AAEA,SAAS,oBAAoB;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;AACA;;AAEA,2BAA2B;AAC3B,CAAC;;;;;;;;;;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ACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,YAAY,oCAAa;AACzB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA,e;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA,4B;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;AAIA,4BAA4B,mC;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH,iB;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB;AACvB;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,iCAAiC;AACjC;AACA,sB;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,4DAA4D,EAAE;;AAE9D;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;;;AAGF;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,GAAG;AACH;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,0CAA0C,cAAc,kBAAkB,oBAAoB,cAAc;AAC5G;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE;;;;;AAKF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,8EAA8E;;AAE9E;;AAEA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B,GAAG;AACH;AACA;AACA;;AAEA,EAAE;AACF;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,MAAM;;AAEN;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,MAAM;AACN;;AAEA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,MAAM;;AAEd,OAAO,YAAY;;AAEnB,MAAM,MAAM;;;AAGZ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;;AAEA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;AAID;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB;AACvB,MAAM;AACN,2BAA2B;AAC3B;AACA,KAAK;AACL;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;;;AAID;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA,wBAAwB;;AAExB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,IAAI;;;AAGJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,aAAa,qDAAqD;AAClE;AACA;AACA,aAAa,qDAAqD;AAClE;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kDAAkD,kBAAkB,EAAE;AACtE,GAAG;AACH;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,kBAAkB,EAAE,G;;;;;;;;;;;;;ACl0DpB,cAAc,mBAAO,CAAC,yJAAkE;;AAExF,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,yGAAsD;;AAE3E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;;;;;;;AClBf,cAAc,mBAAO,CAAC,qKAAmE;;AAEzF,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,4GAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;;;;;;ACnBf,qD;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,YAAY,mBAAmB;AAC/B,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,OAAO;AACnD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;;AAEJ,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,YAAY,oCAAoC,EAAE;AAC5E;AACA;AACA;AACA,2BAA2B,YAAY,yCAAyC,EAAE;AAClF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA,uCAAuC,gBAAgB;;AAEvD;AACA;AACA;AACA;;AAEA,4BAA4B,sBAAsB;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,UAAU;AACtB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yEAAyE,eAAe;AACxF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,wDAAwD,cAAc,EAAE;AACxE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,uCAAuC,YAAY,oCAAoC,EAAE;;AAEzF;AACA;AACA;;AAEA;;AAEA;;AAEA,4BAA4B,YAAY,yCAAyC,EAAE;AACnF;;AAEA;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,WAAW;AAC7D;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,aAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,aAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA,8CAA8C,gBAAgB;AAC9D;;AAEA,6CAA6C,wCAAwC;AACrF;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,0BAA0B;AACtC,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,uCAAuC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,yBAAyB,uCAAuC;AAChE;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,qDAAqD;;AAE/E;AACA;AACA;;AAEA;;AAEA,2BAA2B,oCAAoC;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,EAAE;AACd,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB,cAAc,MAAM;AACpB;AACA;AACA;AACA,UAAU;AACV,GAAG;AACH,kDAAkD,WAAW;AAC7D;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ,kBAAkB,mCAAmC;AACrD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,cAAc,OAAO;AACrB;AACA;AACA,gBAAgB;;AAEhB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,0DAA0D;AACtE,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,oCAAoC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC,kBAAkB,oCAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,kBAAkB,oCAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,eAAe;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA+B,8BAA8B;;AAE7D;AACA;AACA;AACA,mCAAmC,8BAA8B;AACjE,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,mCAAmC,8BAA8B;AACjE,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,kBAAkB,oCAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,kBAAkB,oCAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,0BAA0B,0DAA0D;AACpF;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,8BAA8B;AAChH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,0DAA0D;AAC1D;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,kBAAkB,oCAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,aAAa;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,kBAAkB,oCAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,kBAAkB,oCAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA,CAAC,kBAAkB,oCAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,kCAAkC;;AAElC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,kBAAkB,oCAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;A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;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,+CAA+C;;AAE/C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,OAAO;AACP;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA,0EAA0E;;AAE1E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA,GAAG;AACH;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,gCAAgC,aAAa;AAC7C;;AAEA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED,kBAAkB,2CAA2C;AAC7D;;AAEA,CAAC;;;;;;;;;;;;ACxuBD;;;AAGA;AACA,MAAM,IAA0C;AAChD,IAAI,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AACnB,GAAG,MAAM,EAIN;AACH,CAAC;;AAED;AACA;AACA,kBAAkB;AAClB,8CAA8C,iCAAiC,OAAO,OAAO,6CAA6C,EAAE,WAAW,EAAE;AACzJ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;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,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;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;;AAEA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,WAAW;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,WAAW;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,WAAW;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,WAAW;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,YAAY;AAChD;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;AAED;AACA;AACA;AACA,8BAA8B,mBAAmB,gCAAgC,GAAG;;AAEpF;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,WAAW;AAChD;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,WAAW;AAChD;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;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;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;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;AACA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;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,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,WAAW;AACtD;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,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;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;;AAEA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA,8CAA8C,iCAAiC,OAAO,OAAO,6CAA6C,EAAE,WAAW;;AAEvJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,WAAW;AAC9D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,WAAW;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,YAAY;AACzD;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA,wCAAwC,YAAY;AACpD;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,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;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,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;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,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;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,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,YAAY;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,yC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","file":"main.b6600db76b1962caefb2.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./App/entries/default/main.js\");\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Vendor -------------------------------------------------------------------------------------------\r\n\r\n//console.log(\"starting application...\");\r\n\r\n//console.log(\"loading jQuery...\");\r\n\r\nvar $ = require(\"jquery\");\r\nwindow.jQuery = $;\r\nwindow.$ = $;\r\n\r\n//console.log(\"loaded jQuery!\");\r\n\r\nrequire(\"app_vendor/default/vendor-scripts\");\r\n\r\nrequire(\"app_scripts/custom.js\");\r\nrequire(\"app_settings/default/dev/settings.js\");\r\n\r\n//console.log(\"loading styles...\");\r\n\r\nrequire(\"app_vendor/default/vendor-styles\");\r\n\r\nrequire(\"app_styles/sass/default/app-styles\");\r\nrequire(\"app_styles/sass/custom/app-styles\");\r\n\r\n//console.log(\"loaded styles!\");\r\n\r\n// App ----------------------------------------------------------------------------------------------\r\n\r\n//console.log(\"loading app...\");\r\n\r\nvar app = require(\"app\");\r\n\r\nvar appInitPromise = app.init();\r\n\r\nappInitPromise.done(function () {\r\n //console.log(app);\r\n //console.log(\"loaded app!\");\r\n});\r\n\r\n// Other --------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Startup\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappInitPromise.done(function () {\r\n\r\n //console.log(\"starting app...\");\r\n\r\n app.AppStartup.startup()\r\n .done(\r\n function () {\r\n //console.log(\"starting router...\");\r\n\r\n app.AppRouter.startRouter();\r\n\r\n //console.log(\"started router!\");\r\n }),\r\n function (error) {\r\n console.log(\"starting app failed!\", error); \r\n };\r\n});\r\n\r\n\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n jobsCreated: {\r\n type: \"string\"\r\n },\r\n revenueGrowth: {\r\n type: \"string\"\r\n },\r\n profitGrowth: {\r\n type: \"string\"\r\n },\r\n headcountGrowth: {\r\n type: \"string\"\r\n },\r\n procurementspend: {\r\n type: \"string\"\r\n },\r\n headcount: {\r\n type: \"string\"\r\n },\r\n permanentEmployment: {\r\n type: \"string\"\r\n },\r\n temporaryEmployment: {\r\n type: \"string\"\r\n },\r\n netJobs: {\r\n type: \"string\"\r\n },\r\n numberOfEnterprises: {\r\n type: \"string\"\r\n },\r\n totalNumberOfContracts: {\r\n type: \"string\"\r\n },\r\n totalContractsRandValue: {\r\n type: \"string\"\r\n },\r\n procurementSpendGrowthRate: {\r\n type: \"string\"\r\n }\r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n Id: {\r\n type: \"string\"\r\n },\r\n name: {\r\n type: \"string\" \r\n },\r\n status: {\r\n type: \"string\"\r\n }, \r\n logo: {\r\n type: \"string\"\r\n },\r\n telephone: {\r\n type: \"string\"\r\n },\r\n email: {\r\n type: \"string\"\r\n },\r\n websiteUrl: {\r\n type: \"string\"\r\n },\r\n complexBuilding: {\r\n type: \"string\"\r\n },\r\n street: {\r\n type: \"string\"\r\n },\r\n suburb: {\r\n type: \"string\"\r\n },\r\n province: {\r\n type: \"string\"\r\n },\r\n postalCode: {\r\n type: \"string\"\r\n }\r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n details: {\r\n type: \"string\"\r\n },\r\n contractLength: {\r\n type: \"string\"\r\n },\r\n rand: {\r\n type: \"string\"\r\n }\r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n jobsCreated: {\r\n type: \"string\"\r\n },\r\n revenueGrowth: {\r\n type: \"string\"\r\n },\r\n profitGrowth: {\r\n type: \"string\"\r\n },\r\n BBBEELevel: {\r\n type: \"string\" \r\n },\r\n headcountGrowth: {\r\n type: \"string\"\r\n },\r\n SMEEngagementScore: {\r\n type: \"string\"\r\n },\r\n procurementspend: {\r\n type: \"string\"\r\n },\r\n SMEInvestment: {\r\n type: \"string\"\r\n },\r\n supportProvided: {\r\n type: \"string\"\r\n },\r\n headcount: {\r\n type: \"string\"\r\n },\r\n permanentEmployment: {\r\n type: \"string\"\r\n },\r\n temporaryEmployment: {\r\n type: \"string\"\r\n },\r\n revenue: {\r\n type: \"string\"\r\n },\r\n profit: {\r\n type: \"string\"\r\n },\r\n netJobs: {\r\n type: \"string\"\r\n } \r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n Id: {\r\n type: \"string\"\r\n },\r\n name: {\r\n type: \"string\" \r\n },\r\n registeredName: {\r\n type: \"string\"\r\n },\r\n registrationNumber: {\r\n type: \"string\"\r\n }, \r\n permanentEmployees: {\r\n type: \"string\"\r\n },\r\n temporaryEmployees: {\r\n type: \"string\"\r\n },\r\n headCount: {\r\n type: \"string\"\r\n },\r\n logo: {\r\n type: \"string\"\r\n },\r\n officephone: {\r\n type: \"string\"\r\n },\r\n email: {\r\n type: \"string\"\r\n },\r\n websiteUrl: {\r\n type: \"string\"\r\n },\r\n complexBuilding: {\r\n type: \"string\"\r\n },\r\n street: {\r\n type: \"string\"\r\n },\r\n suburb: {\r\n type: \"string\"\r\n },\r\n province: {\r\n type: \"string\"\r\n },\r\n postalCode: {\r\n type: \"string\"\r\n },\r\n keyContactName: {\r\n type: \"string\"\r\n },\r\n keyContactCellNo: {\r\n type: \"string\"\r\n },\r\n keyContactEmail: {\r\n type: \"string\"\r\n },\r\n overview: {\r\n type: \"string\"\r\n }, \r\n industry: {\r\n type: \"string\" \r\n },\r\n DisableBbeeCertificateReminders: {\r\n type: \"boolean\"\r\n },\r\n BBEELevel: {\r\n type: \"string\"\r\n },\r\n BlackWomanOwned: {\r\n type: \"string\"\r\n },\r\n BlackOwnership: {\r\n type: \"string\"\r\n },\r\n maturity: {\r\n type: \"string\"\r\n },\r\n previousMaturity: {\r\n type: \"string\"\r\n },\r\n productNames: {\r\n type: \"string\"\r\n }\r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n enterpriseMentorRatingQuestionId: {\r\n type: \"string\"\r\n },\r\n questionName: {\r\n type: \"string\" \r\n },\r\n answer: {\r\n type: \"string\"\r\n },\r\n enterpriseMentorRatingId: {\r\n type: \"string\"\r\n },\r\n id: {\r\n type: \"string\"\r\n }\r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n maturityDifference: {\r\n type: \"string\"\r\n },\r\n maturityCompare: {\r\n type: \"string\"\r\n },\r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n Id: {\r\n type: \"string\"\r\n },\r\n enterpriseId: {\r\n type: \"string\"\r\n },\r\n performanceMonth: {\r\n type: \"string\"\r\n },\r\n revenue: {\r\n type: \"string\" \r\n },\r\n expenses: {\r\n type: \"string\"\r\n },\r\n accountPayable: {\r\n type: \"string\"\r\n },\r\n accountReceivable: {\r\n type: \"string\"\r\n },\r\n totalAssets: {\r\n type: \"string\"\r\n },\r\n totalLiabilities: {\r\n type: \"string\"\r\n },\r\n procurementSpend: {\r\n type: \"string\"\r\n },\r\n permanentEmployees: {\r\n type: \"string\"\r\n },\r\n temporaryEmployees: {\r\n type: \"string\"\r\n },\r\n proposalsSubmitted: {\r\n type: \"string\"\r\n },\r\n salesPitchesMade: {\r\n type: \"string\"\r\n },\r\n totalNumberOfContracts: {\r\n type: \"string\"\r\n },\r\n totalContractsRandValue: {\r\n type: \"string\"\r\n }\r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","var model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n WeightedAverageGrowthRate: {\r\n AllEnterprisesWithMoreThanTwelveReports: {\r\n type: \"number\"\r\n },\r\n AllEnterprisesWithLessThanOrEqualToTwelveReports: {\r\n type: \"number\"\r\n },\r\n },\r\n NumberOfEnterprises: {\r\n AllEnterprisesWithMoreThanTwelveReports: {\r\n type: \"number\"\r\n },\r\n AllEnterprisesWithLessThanOrEqualToTwelveReports: {\r\n type: \"number\"\r\n },\r\n },\r\n EnterprisesGrowingGreaterThanTwentyPercent: {\r\n AllEnterprisesWithMoreThanTwelveReports: {\r\n type: \"number\"\r\n },\r\n AllEnterprisesWithLessThanOrEqualToTwelveReports: {\r\n type: \"number\"\r\n },\r\n }, \r\n GrowthRatePecentageFilter: {\r\n type: \"number\"\r\n }\r\n }\r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n Id: {\r\n type: \"string\"\r\n },\r\n name: {\r\n type: \"string\"\r\n },\r\n startDate: {\r\n type: \"string\"\r\n },\r\n endDate: {\r\n type: \"string\"\r\n },\r\n reportingStartDate: {\r\n type: \"string\"\r\n },\r\n reportingEndDate: {\r\n type: \"string\"\r\n },\r\n vision: {\r\n type: \"string\"\r\n },\r\n objectives: {\r\n type: \"string\"\r\n },\r\n notes: {\r\n type: \"string\"\r\n },\r\n phase: {\r\n type: \"number\",\r\n defaultValue: 1\r\n }\r\n }\r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n//This model can be used for administrators and Managers.\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n Id: {\r\n type: \"string\"\r\n },\r\n mentorMonthlyReportBaseId: {\r\n type: \"string\"\r\n },\r\n heading: {\r\n type: \"string\"\r\n },\r\n text: {\r\n type: \"string\"\r\n },\r\n order: {\r\n type: \"number\"\r\n },\r\n }\r\n\r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n mentorEnterpriseQuestionId: {\r\n type: \"string\"\r\n },\r\n questionName: {\r\n type: \"string\" \r\n },\r\n answer: {\r\n type: \"string\"\r\n },\r\n mentorEnterpriseRatingId: {\r\n type: \"string\"\r\n },\r\n id: {\r\n type: \"string\"\r\n },\r\n enterpriseProgrammeOrFundId: {\r\n type: \"string\"\r\n }\r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n//This model can be used for administrators and Managers.\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n Id: {\r\n type: \"string\"\r\n },\r\n UserId: {\r\n type: \"string\"\r\n },\r\n fname: {\r\n type: \"string\"\r\n },\r\n surname: {\r\n type: \"string\"\r\n },\r\n email: {\r\n type: \"string\"\r\n },\r\n profilePicture: {\r\n type: \"string\"\r\n },\r\n cellphone: {\r\n type: \"string\"\r\n },\r\n telephone: {\r\n type: \"string\"\r\n },\r\n availability: {\r\n type: \"number\",\r\n defaultValue:0\r\n },\r\n specialtyId: {\r\n type: \"string\"\r\n },\r\n cv: {\r\n type: \"string\"\r\n },\r\n complexBuilding: {\r\n type: \"string\"\r\n },\r\n street: {\r\n type: \"string\"\r\n },\r\n suburb: {\r\n type: \"string\"\r\n },\r\n province: {\r\n type: \"string\"\r\n },\r\n postalCode: {\r\n type: \"string\"\r\n },\r\n overview: {\r\n type: \"string\"\r\n },\r\n }\r\n\r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n Id: {\r\n type: \"string\"\r\n },\r\n mentorId: {\r\n type: \"string\"\r\n },\r\n enterpriseId: {\r\n type: \"string\"\r\n },\r\n enterpriseName: {\r\n type: \"string\"\r\n },\r\n date: {\r\n type: \"string\"\r\n },\r\n timeLogged: {\r\n type: \"string\"\r\n },\r\n location: {\r\n type: \"string\"\r\n },\r\n description: {\r\n type: \"string\"\r\n } \r\n }\r\n\r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n Id: {\r\n type: \"string\"\r\n },\r\n name: {\r\n type: \"string\" \r\n },\r\n startDate: {\r\n type: \"string\"\r\n },\r\n endDate: {\r\n type: \"string\"\r\n },\r\n reportingStartDate: {\r\n type: \"string\"\r\n },\r\n reportingEndDate: {\r\n type: \"string\"\r\n },\r\n vision: {\r\n type: \"string\"\r\n },\r\n objectives: {\r\n type: \"string\"\r\n },\r\n notes: {\r\n type: \"string\"\r\n },\r\n phase: {\r\n type: \"number\",\r\n defaultValue: 1\r\n }\r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","// --------------------------------------------------------------------------------------------------\r\n// Model\r\n// --------------------------------------------------------------------------------------------------\r\n//This model can be used for administrators and Managers.\r\nvar model = kendo.data.Model.define({\r\n id: \"id\",\r\n fields: {\r\n userId: {\r\n type: \"string\"\r\n },\r\n fname: {\r\n type: \"string\" \r\n },\r\n surname: {\r\n type: \"string\"\r\n },\r\n email: {\r\n type: \"string\"\r\n },\r\n role: {\r\n type: \"string\"\r\n },\r\n profilePicture: {\r\n type: \"string\"\r\n },\r\n cellphone: {\r\n type: \"string\"\r\n },\r\n officephone: {\r\n type: \"string\"\r\n },\r\n office: {\r\n type: \"string\"\r\n } \r\n }\r\n \r\n});\r\n\r\nmodule.exports = model;","var map = {\n\t\"./custom/common/fund-programme/performance.js\": \"./App/mvvm/viewmodels/views/custom/common/fund-programme/performance.js\",\n\t\"./custom/corporate/active.js\": \"./App/mvvm/viewmodels/views/custom/corporate/active.js\",\n\t\"./custom/corporate/add.js\": \"./App/mvvm/viewmodels/views/custom/corporate/add.js\",\n\t\"./custom/corporate/dashboard.js\": \"./App/mvvm/viewmodels/views/custom/corporate/dashboard.js\",\n\t\"./custom/corporate/dashboard/active-users.js\": \"./App/mvvm/viewmodels/views/custom/corporate/dashboard/active-users.js\",\n\t\"./custom/corporate/dashboard/fund.js\": \"./App/mvvm/viewmodels/views/custom/corporate/dashboard/fund.js\",\n\t\"./custom/corporate/dashboard/inactive-users.js\": \"./App/mvvm/viewmodels/views/custom/corporate/dashboard/inactive-users.js\",\n\t\"./custom/corporate/dashboard/overview.js\": \"./App/mvvm/viewmodels/views/custom/corporate/dashboard/overview.js\",\n\t\"./custom/corporate/dashboard/programme.js\": \"./App/mvvm/viewmodels/views/custom/corporate/dashboard/programme.js\",\n\t\"./custom/corporate/edit.js\": \"./App/mvvm/viewmodels/views/custom/corporate/edit.js\",\n\t\"./custom/corporate/enterprise.js\": \"./App/mvvm/viewmodels/views/custom/corporate/enterprise.js\",\n\t\"./custom/corporate/inactive.js\": \"./App/mvvm/viewmodels/views/custom/corporate/inactive.js\",\n\t\"./custom/corporate/user/add.js\": \"./App/mvvm/viewmodels/views/custom/corporate/user/add.js\",\n\t\"./custom/corporate/user/edit.js\": \"./App/mvvm/viewmodels/views/custom/corporate/user/edit.js\",\n\t\"./custom/edge/dashboard.js\": \"./App/mvvm/viewmodels/views/custom/edge/dashboard.js\",\n\t\"./custom/enterprise/active.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/active.js\",\n\t\"./custom/enterprise/add.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/add.js\",\n\t\"./custom/enterprise/bulk-upload.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/bulk-upload.js\",\n\t\"./custom/enterprise/dashboard/active-users.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/dashboard/active-users.js\",\n\t\"./custom/enterprise/dashboard/diagnostic.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/dashboard/diagnostic.js\",\n\t\"./custom/enterprise/dashboard/growth-plan.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/dashboard/growth-plan.js\",\n\t\"./custom/enterprise/dashboard/inactive-users.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/dashboard/inactive-users.js\",\n\t\"./custom/enterprise/dashboard/news.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/dashboard/news.js\",\n\t\"./custom/enterprise/dashboard/overview/overview.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/dashboard/overview/overview.js\",\n\t\"./custom/enterprise/dashboard/performance.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/dashboard/performance.js\",\n\t\"./custom/enterprise/edit.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/edit.js\",\n\t\"./custom/enterprise/inactive.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/inactive.js\",\n\t\"./custom/enterprise/report/confirmation.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/report/confirmation.js\",\n\t\"./custom/enterprise/report/contracts.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/report/contracts.js\",\n\t\"./custom/enterprise/report/list-edit.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/report/list-edit.js\",\n\t\"./custom/enterprise/report/list.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/report/list.js\",\n\t\"./custom/enterprise/report/mentor-rating.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/report/mentor-rating.js\",\n\t\"./custom/enterprise/report/performance.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/report/performance.js\",\n\t\"./custom/enterprise/report/super-edit.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/report/super-edit.js\",\n\t\"./custom/enterprise/report/view.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/report/view.js\",\n\t\"./custom/enterprise/user/add.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/user/add.js\",\n\t\"./custom/enterprise/user/edit.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/user/edit.js\",\n\t\"./custom/enterprise/wagr/wagr-report.js\": \"./App/mvvm/viewmodels/views/custom/enterprise/wagr/wagr-report.js\",\n\t\"./custom/fund/active.js\": \"./App/mvvm/viewmodels/views/custom/fund/active.js\",\n\t\"./custom/fund/add.js\": \"./App/mvvm/viewmodels/views/custom/fund/add.js\",\n\t\"./custom/fund/closed.js\": \"./App/mvvm/viewmodels/views/custom/fund/closed.js\",\n\t\"./custom/fund/dashboard/enterprise.js\": \"./App/mvvm/viewmodels/views/custom/fund/dashboard/enterprise.js\",\n\t\"./custom/fund/dashboard/news.js\": \"./App/mvvm/viewmodels/views/custom/fund/dashboard/news.js\",\n\t\"./custom/fund/dashboard/overview.js\": \"./App/mvvm/viewmodels/views/custom/fund/dashboard/overview.js\",\n\t\"./custom/fund/edit.js\": \"./App/mvvm/viewmodels/views/custom/fund/edit.js\",\n\t\"./custom/fund/inactive.js\": \"./App/mvvm/viewmodels/views/custom/fund/inactive.js\",\n\t\"./custom/mentor/active.js\": \"./App/mvvm/viewmodels/views/custom/mentor/active.js\",\n\t\"./custom/mentor/add.js\": \"./App/mvvm/viewmodels/views/custom/mentor/add.js\",\n\t\"./custom/mentor/dashboard.js\": \"./App/mvvm/viewmodels/views/custom/mentor/dashboard.js\",\n\t\"./custom/mentor/dashboard/enterprise.js\": \"./App/mvvm/viewmodels/views/custom/mentor/dashboard/enterprise.js\",\n\t\"./custom/mentor/dashboard/profile.js\": \"./App/mvvm/viewmodels/views/custom/mentor/dashboard/profile.js\",\n\t\"./custom/mentor/dashboard/timesheet.js\": \"./App/mvvm/viewmodels/views/custom/mentor/dashboard/timesheet.js\",\n\t\"./custom/mentor/edit.js\": \"./App/mvvm/viewmodels/views/custom/mentor/edit.js\",\n\t\"./custom/mentor/inactive.js\": \"./App/mvvm/viewmodels/views/custom/mentor/inactive.js\",\n\t\"./custom/mentor/report/additional-info.js\": \"./App/mvvm/viewmodels/views/custom/mentor/report/additional-info.js\",\n\t\"./custom/mentor/report/confirmation.js\": \"./App/mvvm/viewmodels/views/custom/mentor/report/confirmation.js\",\n\t\"./custom/mentor/report/document-upload.js\": \"./App/mvvm/viewmodels/views/custom/mentor/report/document-upload.js\",\n\t\"./custom/mentor/report/enterprise-rating.js\": \"./App/mvvm/viewmodels/views/custom/mentor/report/enterprise-rating.js\",\n\t\"./custom/mentor/report/view.js\": \"./App/mvvm/viewmodels/views/custom/mentor/report/view.js\",\n\t\"./custom/programme/active.js\": \"./App/mvvm/viewmodels/views/custom/programme/active.js\",\n\t\"./custom/programme/add.js\": \"./App/mvvm/viewmodels/views/custom/programme/add.js\",\n\t\"./custom/programme/closed.js\": \"./App/mvvm/viewmodels/views/custom/programme/closed.js\",\n\t\"./custom/programme/dashboard/enterprise.js\": \"./App/mvvm/viewmodels/views/custom/programme/dashboard/enterprise.js\",\n\t\"./custom/programme/dashboard/news.js\": \"./App/mvvm/viewmodels/views/custom/programme/dashboard/news.js\",\n\t\"./custom/programme/dashboard/overview.js\": \"./App/mvvm/viewmodels/views/custom/programme/dashboard/overview.js\",\n\t\"./custom/programme/edit.js\": \"./App/mvvm/viewmodels/views/custom/programme/edit.js\",\n\t\"./custom/programme/inactive.js\": \"./App/mvvm/viewmodels/views/custom/programme/inactive.js\",\n\t\"./custom/setting/bulk-report-upload.js\": \"./App/mvvm/viewmodels/views/custom/setting/bulk-report-upload.js\",\n\t\"./custom/setting/data-list.js\": \"./App/mvvm/viewmodels/views/custom/setting/data-list.js\",\n\t\"./custom/setting/system-users.js\": \"./App/mvvm/viewmodels/views/custom/setting/system-users.js\",\n\t\"./custom/system/notifications.js\": \"./App/mvvm/viewmodels/views/custom/system/notifications.js\",\n\t\"./custom/system/terms-of-compliance.js\": \"./App/mvvm/viewmodels/views/custom/system/terms-of-compliance.js\",\n\t\"./custom/system/terms-of-use.js\": \"./App/mvvm/viewmodels/views/custom/system/terms-of-use.js\",\n\t\"./custom/user/active.js\": \"./App/mvvm/viewmodels/views/custom/user/active.js\",\n\t\"./custom/user/add.js\": \"./App/mvvm/viewmodels/views/custom/user/add.js\",\n\t\"./custom/user/edit.js\": \"./App/mvvm/viewmodels/views/custom/user/edit.js\",\n\t\"./custom/user/inactive.js\": \"./App/mvvm/viewmodels/views/custom/user/inactive.js\",\n\t\"./default/base.js\": \"./App/mvvm/viewmodels/views/default/base.js\",\n\t\"./default/common/modal/assign-corporate-managers.js\": \"./App/mvvm/viewmodels/views/default/common/modal/assign-corporate-managers.js\",\n\t\"./default/common/modal/assign-corporate.js\": \"./App/mvvm/viewmodels/views/default/common/modal/assign-corporate.js\",\n\t\"./default/common/modal/assign-edge-mentors.js\": \"./App/mvvm/viewmodels/views/default/common/modal/assign-edge-mentors.js\",\n\t\"./default/common/modal/assign-enterprises.js\": \"./App/mvvm/viewmodels/views/default/common/modal/assign-enterprises.js\",\n\t\"./default/common/modal/assign-mentors.js\": \"./App/mvvm/viewmodels/views/default/common/modal/assign-mentors.js\",\n\t\"./default/common/modal/assign-missing-middle-funding-reason.js\": \"./App/mvvm/viewmodels/views/default/common/modal/assign-missing-middle-funding-reason.js\",\n\t\"./default/common/modal/assign-project-managers.js\": \"./App/mvvm/viewmodels/views/default/common/modal/assign-project-managers.js\",\n\t\"./default/common/modal/confirmation.js\": \"./App/mvvm/viewmodels/views/default/common/modal/confirmation.js\",\n\t\"./default/common/modal/procurement-growth-wagr-report-breakdown.js\": \"./App/mvvm/viewmodels/views/default/common/modal/procurement-growth-wagr-report-breakdown.js\",\n\t\"./default/common/modal/profit-growth-wagr-report-breakdown.js\": \"./App/mvvm/viewmodels/views/default/common/modal/profit-growth-wagr-report-breakdown.js\",\n\t\"./default/common/modal/wagr-report-breakdown.js\": \"./App/mvvm/viewmodels/views/default/common/modal/wagr-report-breakdown.js\",\n\t\"./default/default.js\": \"./App/mvvm/viewmodels/views/default/default.js\",\n\t\"./default/system/auth/change-password.js\": \"./App/mvvm/viewmodels/views/default/system/auth/change-password.js\",\n\t\"./default/system/auth/forgot-password.js\": \"./App/mvvm/viewmodels/views/default/system/auth/forgot-password.js\",\n\t\"./default/system/auth/login.js\": \"./App/mvvm/viewmodels/views/default/system/auth/login.js\",\n\t\"./default/system/auth/mfa.js\": \"./App/mvvm/viewmodels/views/default/system/auth/mfa.js\",\n\t\"./default/system/auth/profile.js\": \"./App/mvvm/viewmodels/views/default/system/auth/profile.js\",\n\t\"./default/system/auth/register-mfa.js\": \"./App/mvvm/viewmodels/views/default/system/auth/register-mfa.js\",\n\t\"./default/system/auth/reset-password.js\": \"./App/mvvm/viewmodels/views/default/system/auth/reset-password.js\",\n\t\"./default/system/auth/set-password.js\": \"./App/mvvm/viewmodels/views/default/system/auth/set-password.js\",\n\t\"./default/system/auth/sso-login-error.js\": \"./App/mvvm/viewmodels/views/default/system/auth/sso-login-error.js\",\n\t\"./default/system/auth/sso-login.js\": \"./App/mvvm/viewmodels/views/default/system/auth/sso-login.js\",\n\t\"./default/system/footer/footer.js\": \"./App/mvvm/viewmodels/views/default/system/footer/footer.js\",\n\t\"./default/system/sidebar/entity-search.js\": \"./App/mvvm/viewmodels/views/default/system/sidebar/entity-search.js\",\n\t\"./default/system/sidebar/footer.js\": \"./App/mvvm/viewmodels/views/default/system/sidebar/footer.js\",\n\t\"./default/system/sidebar/navigation.js\": \"./App/mvvm/viewmodels/views/default/system/sidebar/navigation.js\",\n\t\"./default/system/topbar/menu.js\": \"./App/mvvm/viewmodels/views/default/system/topbar/menu.js\",\n\t\"./default/system/topbar/page-title.js\": \"./App/mvvm/viewmodels/views/default/system/topbar/page-title.js\",\n\t\"./default/system/usercontrols/user.js\": \"./App/mvvm/viewmodels/views/default/system/usercontrols/user.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./App/mvvm/viewmodels/views sync recursive ^\\\\.\\\\/.*\\\\.js$\";","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar metricsModel = require(\"app_mvvm_models/custom/common/fund-programme/performance\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.type = argsParams.type;\r\n this.metricsModel = new metricsModel();\r\n this.colors = app.AppDashboardColors.get();\r\n this.missingChartDataPointList = [];\r\n this.Id = \"\";\r\n this.fundName = \"\";\r\n this.programmeName = \"\";\r\n this.isDashboardVisible = false;\r\n this.isPercentageEnable = false;\r\n this.isChartVisible = false;\r\n this.isBreakdownVisible = false;\r\n this.datePickersAllMonths = [];\r\n this.datePickerStartDateValidMonths = [];\r\n this.isDataPointsMissingMessageVisible = false;\r\n this.navigateToPerformanceListPage = function () { navigateToPerformanceListPage(this); };\r\n this.HideChartLineClick = function () { HideChartLineClick(this); };\r\n this.toggleCalendarIcon = function () { toggleCalendarIcon(this); };\r\n this.loadWagrModal = function () { loadWagrModal(this); };\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n this.isCompareActive = false;\r\n this.loadProcurementSpendGrowthWagrModal = function () { loadProcurementSpendGrowthWagrModal(this); };\r\n this.loadProfitGrowthWagrModal = function () { loadProfitGrowthWagrModal(this); };\r\n this.startup = function () { startup(this); };\r\n this.showRestrictedInformationMessage = false;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppLoading.show(\"Loading...\", null);\r\n var Id = app.AppRouter.getCurrentRoute().params.id;\r\n var dateFromQueryString = app.AppRouter.getCurrentRoute().params.startDate;\r\n var dateToQueryString = app.AppRouter.getCurrentRoute().params.endDate;\r\n\r\n\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role === \"Corporate\") {\r\n viewmodel.set(\"isCorporate\", true);\r\n $('.isRestrictedFromCorporateView').remove();\r\n } else {\r\n viewmodel.set(\"isCorporate\", false);\r\n }\r\n\r\n if (Id) {\r\n\r\n viewmodel.set(\"Id\", Id);\r\n $('body,html').animate({ scrollTop: 0 }, 200); //Scroll to top of page\r\n\r\n var fundProgrammeNameDeferred;\r\n if (viewmodel.type === \"fund\") {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/fund/performance\", \"Fund - Performance\");\r\n viewmodel.metricsModel.set(\"fund\", 'fund');\r\n $('.budgetMetrics').remove();\r\n fundProgrammeNameDeferred = getFundName(viewmodel, Id);\r\n } else {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/programme/performance\", \"Programme - Performance\");\r\n viewmodel.metricsModel.set(\"programme\", 'programme');\r\n $('.capitalMetrics').remove();\r\n fundProgrammeNameDeferred = getProgrammeName(viewmodel, Id);\r\n }\r\n\r\n fundProgrammeNameDeferred.then(\r\n function () {\r\n\r\n app.AppDashboard.getFundProgrammeDashboardDatePickerValidMonths(viewmodel.type, Id).then(\r\n function (resultValidMonths) {\r\n\r\n var dateRange = app.AppDashboard.datePickerValuesSetShared(viewmodel, resultValidMonths, dateFromQueryString, dateToQueryString);\r\n if (!dateRange) return;\r\n\r\n loadDashboard(viewmodel, dateRange.startDate, dateRange.endDate);\r\n\r\n $('body').off('onChangeCalendarEvent');\r\n $(\"body\").on(\"onChangeCalendarEvent\", function (event, data) {\r\n app.AppLoading.show(\"Loading...\", null, true);\r\n loadDashboard(data.viewmodel, data.startDate, data.endDate);\r\n });\r\n });\r\n\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load \" + viewmodel.get(\"type\") + \" performance.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n app.AppLoading.hide();\r\n }\r\n};\r\n\r\n// Function: getFundName ----------------------------------------------------------------------\r\nfunction getFundName(viewmodel, id) {\r\n\r\n var def = $.Deferred();\r\n app.AppFund.getFundById(id).then(\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n if (data.Name) {\r\n //$(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#main-page-title\").text(data.Name.toUpperCase());\r\n\r\n if (app.AppRouter.getCurrentRoute().params.enterprise) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/enterprise/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.enterprise + \"&tab=overview\");\r\n }\r\n\r\n $(\"#fund-programme-primary-text\").attr(\"href\", \"#/funds\");\r\n $(\"#fund-programme-primary-text\").text(\"FUNDS >\");\r\n $(\"#fund-programme-secondary-text\").text(data.Name);\r\n viewmodel.set(\"fundName\", data.Name);\r\n viewmodel.set(\"status\", data.Status);\r\n def.resolve();\r\n }\r\n });\r\n return def.promise();\r\n};\r\n\r\n// Function: getProgrammeName ----------------------------------------------------------------------\r\nfunction getProgrammeName(viewmodel, id) {\r\n\r\n var def = $.Deferred();\r\n app.AppProgramme.getProgrammeById(id).then(\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n if (data.Name) {\r\n //$(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#main-page-title\").text(data.Name.toUpperCase());\r\n \r\n if (app.AppRouter.getCurrentRoute().params.enterprise) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/enterprise/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.enterprise + \"&tab=overview\");\r\n }\r\n\r\n $(\"#fund-programme-primary-text\").attr(\"href\", \"#/programmes\");\r\n $(\"#fund-programme-primary-text\").text(\"PROGRAMMES >\");\r\n $(\"#fund-programme-secondary-text\").text(data.Name);\r\n viewmodel.set(\"programmeName\", data.Name);\r\n viewmodel.set(\"status\", data.Status);\r\n def.resolve();\r\n }\r\n });\r\n return def.promise();\r\n};\r\n\r\n// Function: toggleCalendarIcon -------------------------------------------------------------\r\nfunction toggleCalendarIcon(viewmodel) {\r\n\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-down');\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-up');\r\n\r\n}\r\n\r\n// Function: loadDashboard --------------------------------------------------------------------------\r\nfunction loadDashboard(viewmodel, startDate, endDate) {\r\n\r\n var metricPromise = getMetricData(viewmodel, startDate, endDate);\r\n var gridPromise = getGridData(viewmodel, startDate, endDate);\r\n var chartPromise = getChartData(viewmodel, startDate, endDate);\r\n\r\n var startDate = getDateString(startDate);\r\n var endDate = getDateString(endDate);\r\n viewmodel.metricsModel.set(\"startDate\", startDate);\r\n viewmodel.metricsModel.set(\"endDate\", endDate);\r\n\r\n $.when(metricPromise, gridPromise, chartPromise).done(\r\n function (metricData, gridData, chartData) {\r\n\r\n loadClickEvents(viewmodel);\r\n\r\n var type = viewmodel.get(\"type\");\r\n loadExportGrid(type, viewmodel, gridData);\r\n\r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n app.AppHelper.setTourCache(data);\r\n //console.log(\"retrieved all lists from api\");\r\n app.AppHelper.startHelper(viewmodel, \"Dashboard\", false);\r\n },\r\n function () {\r\n console.log(\"retrieving all lists failed\");\r\n });\r\n\r\n\r\n app.AppLoading.hide();\r\n //Resize Chart for headcount axis to fit properly\r\n kendo.resize($(\"#chart\"));\r\n\r\n }).fail(function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n app.AppLoading.hide();\r\n });\r\n\r\n};\r\n\r\nfunction loadExportGrid(userType, viewmodel, gridData) {\r\n if (userType !== \"dashboard\") {\r\n app.AppGrids.buildExportGridFundProgramme(viewmodel, gridData);\r\n } else {\r\n app.AppGrids.buildExportGridEdgeDashboard(viewmodel, gridData.BreakdownData);\r\n }\r\n}\r\n\r\n// Function: toggleGridMergedValues -------------------------------------------------------------------------- Check for refactor\r\nfunction toggleGridMergedValues(viewmodel) {\r\n\r\n app.AppLoading.show(\"Loading...\", null, true);\r\n var type = viewmodel.get(\"type\");\r\n\r\n var id = viewmodel.get(\"Id\");\r\n \r\n app.AppDashboard.getPerformanceGrid(id, viewmodel, type).then(\r\n function (result) {\r\n\r\n bindGridData(viewmodel, result).then(\r\n function () {\r\n app.AppLoading.hide();\r\n },\r\n function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n app.AppLoading.hide();\r\n });\r\n },\r\n function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n app.AppLoading.hide();\r\n });\r\n\r\n};\r\n\r\n// Function: getDateString --------------------------------------------------------------------------\r\nfunction getDateString(dateString) {\r\n\r\n var str_array = dateString.split('/');\r\n\r\n switch (str_array[0]) {\r\n case '01': str_array[0] = 'Jan '; break;\r\n case '02': str_array[0] = 'Feb '; break;\r\n case '03': str_array[0] = 'Mar '; break;\r\n case '04': str_array[0] = 'Apr '; break;\r\n case '05': str_array[0] = 'May '; break;\r\n case '06': str_array[0] = 'Jun '; break;\r\n case '07': str_array[0] = 'Jul '; break;\r\n case '08': str_array[0] = 'Aug '; break;\r\n case '09': str_array[0] = 'Sep '; break;\r\n case '10': str_array[0] = 'Oct '; break;\r\n case '11': str_array[0] = 'Nov '; break;\r\n case '12': str_array[0] = 'Dec '; break;\r\n }\r\n dateString = (str_array[0] + str_array[1]);\r\n\r\n return dateString;\r\n}\r\n\r\n// Function: navigateToPerformanceListPage ----------------------------------------------------------\r\nfunction navigateToPerformanceListPage() {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.get(\"enterpriseId\") + \"&tab=reports\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/reports\");\r\n }\r\n}\r\n\r\n//// Function: calenderSetup --------------------------------------------------------------------------\r\n//function calenderSetup(viewmodel, startDate, endDate) {\r\n// $(\"#calendar-start\").kendoCalendar({\r\n// depth: \"year\",\r\n// start: \"year\",\r\n// footer: false,\r\n// value: new Date(2016, 1, 1)\r\n// });\r\n\r\n// $(\"#calendar-end\").kendoCalendar({\r\n// depth: \"year\",\r\n// start: \"year\",\r\n// footer: false,\r\n// value: new Date(2016, 11, 1)\r\n// });\r\n//}\r\n\r\n// Function: getChartData ---------------------------------------------------------------------------\r\nfunction getChartData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var colours = viewmodel.get(\"colors\");\r\n var id = viewmodel.get(\"Id\");\r\n var type = viewmodel.get(\"type\");\r\n var isCorporate = viewmodel.get(\"isCorporate\")\r\n\r\n app.AppDashboard.getFundProgrammePerformanceChart(type, id, startDate, endDate, isCorporate).then(\r\n function (result) {\r\n var arrayData = result.MonthlyChartPerformances;\r\n bindChartData(result, colours, viewmodel);\r\n setupHideChartLineClick(viewmodel);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: hideChartLine -------------------------------------------------------------------------- //refactorz\r\nfunction setupHideChartLineClick(viewmodel) {\r\n\r\n $('.chart-series-line-icon').off('click');\r\n\r\n $(\".chart-series-line-icon\").click(function (e) {\r\n\r\n if (viewmodel.get(\"isChartVisible\")) { //only when graph is available.\r\n\r\n var targetClass = $(e.target).attr('class');\r\n if (!targetClass) targetClass = \"card\";\r\n if ($(e.target).hasClass(\"mini-help\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"mini-plus\") || targetClass.indexOf(\"popover\") > -1) return;\r\n\r\n var dataLine = $(this).data(\"seriesname\");\r\n\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n } else {\r\n var chart = $(\"#chart-corporate\").data(\"kendoChart\");\r\n }\r\n\r\n $(this).find(\".metric-icon\").toggleClass(\"active\");\r\n\r\n if (chart) {\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === dataLine;\r\n })[0];\r\n\r\n seriesObj.visible = !seriesObj.visible;\r\n chart.redraw();\r\n }\r\n }\r\n });\r\n}\r\n\r\n\r\n// Function: createChart ----------------------------------------------------------------------------\r\nfunction createChart(data, colours, viewmodel) {\r\n\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n var isCorporate = viewmodel.get(\"isCorporate\");\r\n const maxLabels = 13;\r\n const step = Math.ceil(data.MonthlyChartPerformances.length / maxLabels);\r\n\r\n //Display different chart for Corporate Users\r\n if (isCorporate) {\r\n\r\n if (isPercentageEnable == false) {\r\n\r\n $(\"#chart-corporate\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers:{\r\n visible:false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.Revenue\",\r\n name: \"Revenue\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: data.ShowChartLineRevenueGrowth,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpend\",\r\n name: \"Procurement Spend\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Headcount\",\r\n name: \"Headcount\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n format: \"{0}\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"# if(series.name != 'Headcount'){# R#: kendo.toString(value,'n0') + ' (' + series.name #) #} else {##: kendo.toString(value,'n0')+ ' (' + series.name #) #} #\"\r\n }\r\n\r\n\r\n });\r\n\r\n } else {\r\n\r\n $(\"#chart-corporate\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers:{\r\n visible:false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.RevenueGrowthRateWeightedAverage\",\r\n name: \"Weighted Revenue Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: data.ShowChartLineRevenueGrowth,\r\n axis: \"Revenue\"\r\n\r\n }, {\r\n field: \"Performance.ProcurementSpendGrowthRateWeightedAverage\",\r\n name: \"Weighted Procurement Spend Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.HeadcountGrowthRateWeightedAverage\",\r\n name: \"Weighted Headcount Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n },\r\n {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: 10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#: category #
#: value #% (#= series.name #)\" //#=dataItem.ProcurementSpend#\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n } else {\r\n\r\n if (isPercentageEnable == false) {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers:{\r\n visible:false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.Revenue\",\r\n name: \"Revenue\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: data.ShowChartLineRevenueGrowth,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Profit\",\r\n name: \"Profit\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProfitGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpend\",\r\n name: \"Procurement Spend\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Headcount\",\r\n name: \"Headcount\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n //template: \"# if(1 == 2){# R #} else {# H #} #\" \r\n template: \"#= category #
# # # if(series.name != 'Headcount'){# R#: kendo.toString(value,'n0') + ' (' + series.name #) #} else {##: kendo.toString(value,'n0')+ ' (' + series.name #) #} #\"\r\n }\r\n });\r\n\r\n } else {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers:{\r\n visible:false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.RevenueGrowthRateWeightedAverage\",\r\n name: \"Weighted Revenue Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: data.ShowChartLineRevenueGrowth,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProfitGrowthRateWeightedAverage\",\r\n name: \"Weighted Profit Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProfitGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpendGrowthRateWeightedAverage\",\r\n name: \"Weighted Procurement Spend Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.HeadcountGrowthRateWeightedAverage\",\r\n name: \"Weighted Headcount Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\",\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n },\r\n {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: 10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#: category #
#: value #% (#= series.name #)\" //#=dataItem.ProcurementSpend#\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n// Function: reloadChart --------------------------------------------------------------------------\r\nfunction reloadChart(viewmodel) {\r\n // MAGIC \r\n var calendarStart = viewmodel.get(\"calendarStartDate\");\r\n var calendarEnd = viewmodel.get(\"calendarEndDate\");\r\n var startDate = kendo.toString(calendarStart, \"MM/yyyy\");\r\n var endDate = kendo.toString(calendarEnd, \"MM/yyyy\");\r\n var id = viewmodel.get(\"Id\");\r\n var calendarType = \"selection\";\r\n \r\n var data = {\r\n viewmodel: viewmodel,\r\n id: id,\r\n startDate: startDate,\r\n endDate: endDate\r\n }\r\n $(\"body\").trigger('onChangeCalendarEvent', data);\r\n\r\n}\r\n\r\n// Function: showChartDataNodeNotAvailable ----------------------------------------------------------\r\nfunction showChartDataNodeNotAvailable(data, colours, viewmodel) {\r\n var missingDataPoints = false;\r\n for (var i = 0; i < data.length; i++) {\r\n var item = data[i];\r\n if (item.Performance == null || item.Performance.RevenueGrowth == null || item.Performance.ProfitGrowth == null || item.Performance.ProcurementSpend == null) {\r\n missingDataPoints = true;\r\n break;\r\n }\r\n }\r\n\r\n if (missingDataPoints) {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", true);\r\n } else {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", false);\r\n }\r\n\r\n}\r\n\r\n// Function: bindChartData --------------------------------------------------------------------------\r\nfunction bindChartData(data, colours, viewmodel) {\r\n if (data.ShowChart === true) {\r\n viewmodel.set(\"isChartVisible\", true);\r\n $(document).bind(\"kendo:skinChange\", createChart(data, colours, viewmodel));\r\n $(window).resize(function () {\r\n $(\"#chart\").data(\"kendoChart\").resize();\r\n $(\"#chart-corporate\").data(\"kendoChart\").resize();\r\n });\r\n\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable == true) {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpendGrowthRateWeightedAverage\");\r\n } else {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpend\");\r\n }\r\n\r\n\r\n showChartDataNodeNotAvailable(data.MonthlyChartPerformances, colours, viewmodel);\r\n\r\n }\r\n}\r\n\r\n// Function: hideLinesNotShownByDefault -------------------------------------------------------------\r\nfunction hideLinesNotShownByDefault(hideline) { //todo should be array probably of lines\r\n if (!viewmodel.get(isCorporate)) {\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n } else {\r\n var chart = $(\"#chart-corporate\").data(\"kendoChart\");\r\n }\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === hideline;\r\n })[0];\r\n seriesObj.visible = false;\r\n chart.redraw();\r\n}\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents(viewmodel) {\r\n\r\n $(\".sme-percentage\").off(\"click\");\r\n $(\".sme-percentage\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n console.log(viewmodel);\r\n var def = $.Deferred();\r\n app.AppDashboard.getBOTBreakdownfile(viewmodel.Id, viewmodel.type).then(\r\n function (result) {\r\n //def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n });\r\n\r\n\r\n if (viewmodel.status == 'Active') {\r\n\r\n $(\".showPerformance\").off(\"click\");\r\n $(\".showPerformance\").on('click', function (e) {\r\n\r\n var EnterpriseId = $(this).attr(\"EnterpriseId\"); //Investigate method for assigning ID/date to kendo row \r\n var performanceId = app.AppRouter.getCurrentRoute().params.id;\r\n var performanceType = $(this).attr(\"performanceType\");\r\n\r\n var calendarStartDate = viewmodel.get(\"calendarStartDate\");\r\n var calendarEndDate = viewmodel.get(\"calendarEndDate\");\r\n var startDate = encodeURIComponent(kendo.toString(calendarStartDate, \"MM/yyyy\"));\r\n var endDate = encodeURIComponent(kendo.toString(calendarEndDate, \"MM/yyyy\"));\r\n\r\n var corporateHasAccessToEnterpriseDetails = $(this).attr(\"HideEnterpriseFinancialsForCorporates\");\r\n\r\n if (EnterpriseId) {\r\n if (performanceType === \"fund\") {\r\n if (corporateHasAccessToEnterpriseDetails === \"true\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=overview&fund=\" + performanceId + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=overview&fund=\" + performanceId + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n }\r\n\r\n }\r\n else if (performanceType === \"programme\") {\r\n if (corporateHasAccessToEnterpriseDetails === \"true\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=overview&programme=\" + performanceId + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=overview&programme=\" + performanceId + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n }\r\n };\r\n };\r\n });\r\n\r\n $(\".showReport\").off(\"click\");\r\n $(\".showReport\").on('click', function (e) {\r\n\r\n var EnterpriseId = $(this).attr(\"EnterpriseId\"); //Investigate method for assigning ID/date to kendo row \r\n var performanceId = app.AppRouter.getCurrentRoute().params.id;\r\n var performanceType = $(this).attr(\"performanceType\");\r\n if (EnterpriseId) {\r\n if (performanceType === \"fund\") {\r\n\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=reports&fund=\" + performanceId);\r\n }\r\n else if (performanceType === \"programme\") {\r\n\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=reports&programme=\" + performanceId);\r\n };\r\n };\r\n });\r\n}\r\n\r\n $(\".togglePercentageView\").off(\"click\");\r\n $(\".togglePercentageView\").on('click', function (e) {\r\n $(\".metricDefaultView\").toggleClass(\"hide\");\r\n $(\".metricPercentageView\").toggleClass(\"hide\");\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable == true) {\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n } else {\r\n viewmodel.set(\"isPercentageEnable\", true);\r\n };\r\n reloadChart(viewmodel);\r\n app.AppDashboard.resetMetrics();\r\n });\r\n\r\n $(\".CollapseComparisonToggle\").off(\"click\");\r\n $(\".CollapseComparisonToggle\").on('click', function (e) {\r\n $(\".metric-collapse-compare-inner\").toggleClass(\"hide\");\r\n $(\".metric-collapse-compare\").toggleClass(\"hide\");\r\n $(\".calendar-selector\").toggleClass(\"hide\");\r\n $(\".calendar-selector-compare\").toggleClass(\"hide\");\r\n toggleGridMergedValues(viewmodel);\r\n });\r\n\r\n};\r\n\r\n// Function: getMetricData --------------------------------------------------------------------------\r\nfunction getMetricData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (viewmodel.get(\"isCorporate\")) {\r\n var isCorporate = true\r\n } else {\r\n var isCorporate = false\r\n }\r\n\r\n var Id = viewmodel.get(\"Id\");\r\n var type = viewmodel.get(\"type\");\r\n app.AppDashboard.getFundProgrammePerformanceMetrics(type, Id, startDate, endDate, isCorporate).then(\r\n function (result) {\r\n setMetricData(viewmodel, result);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getGridData ----------------------------------------------------------------------------\r\nfunction getGridData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (viewmodel.get(\"isCorporate\")) {\r\n var isCorporate = true\r\n } else {\r\n var isCorporate = false\r\n }\r\n\r\n\r\n var Id = viewmodel.get(\"Id\");\r\n var type = viewmodel.get(\"type\");\r\n app.AppDashboard.getPerformanceGrid(Id, viewmodel, type, startDate, endDate, isCorporate).then(\r\n function (result) {\r\n\r\n if (isCorporate) {\r\n \r\n for (var record = result.length; record--;) {\r\n if (result[record].HideEnterpriseFinancialsForCorporates === true) {\r\n result.splice(record, 1);\r\n viewmodel.set(\"showRestrictedInformationMessage\", true);\r\n }\r\n }\r\n }\r\n \r\n bindGridData(viewmodel, result);\r\n //loadClickEvents(viewmodel);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n//Function: bindGridData ---------------------------------------------------------------------------\r\nfunction bindGridData(viewmodel, data) {\r\n\r\n var def = $.Deferred();\r\n\r\n function grid_dataBound(e) {\r\n\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n var grid = $(\"#fund-programme-performance-grid\").data(\"kendoGrid\");\r\n } else {\r\n var grid = $(\"#fund-programme-performance-grid-corporate\").data(\"kendoGrid\");\r\n }\r\n var gridRows = grid.tbody.find(\"tr\");\r\n var items = grid.items();\r\n\r\n gridRows.each(function (i, v) {\r\n var dataItem = grid.dataItem(v);\r\n if (dataItem.HasNoData) {\r\n viewmodel.set(\"isBreakdownVisible\", false);\r\n } else {\r\n viewmodel.set(\"isBreakdownVisible\", true);\r\n }\r\n\r\n var color = getStatusColor(dataItem.Performance.TotalIncomepleteReportsSinceInception);\r\n if (dataItem.EnterpriseStatus === \"Active\") {\r\n $(this).find(\".report-status-display\").css(\"background-color\", color);\r\n } else {\r\n $(this).find(\".report-status-display\").css(\"color\", \"inherit\");\r\n }\r\n });\r\n\r\n app.AppDashboard.gridFixedHeaders(this);\r\n\r\n def.resolve();\r\n };\r\n\r\n\r\n\r\n //Add Type to GridRow for Breadcrumb use\r\n var type = viewmodel.get('type');\r\n data.forEach(function (row) {\r\n row.type = type;\r\n });\r\n\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n if ($('#fund-programme-performance-grid').data('kendoGrid'))\r\n $('#fund-programme-performance-grid').data('kendoGrid').destroy();\r\n\r\n $(\"#fund-programme-performance-grid\").kendoGrid({\r\n dataBound: grid_dataBound,\r\n dataSource: data,\r\n sortable: true,\r\n reorderable: true,\r\n resizable: true,\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n columnMenu: true,\r\n columns: [\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n field: \"IndustryName\",\r\n title: \"Industry\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"center-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"totalReports\": \"#: Performance.TotalReportsSinceInception #\" },\r\n template: \" # if (EnterpriseStatus == 'Active'){# #: Performance.TotalIncomepleteReportsSinceInception # #} else {# N/A # } # \",\r\n field: \"Performance.TotalIncomepleteReportsSinceInception\",\r\n title: \"* Incomplete Reports\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.RevenueGrowth === null){# - #} else {# #: Performance.RevenueGrowth #% # } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.RevenueGrowth === null) {# ( - ) #} else {# (#: PerformanceCompare.RevenueGrowth #%) # } #',\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.ProfitGrowth === null){# - #} else {# #: Performance.ProfitGrowth #% # } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.ProfitGrowth === null) {# ( - ) #} else {# (#: PerformanceCompare.ProfitGrowth #%) # } #',\r\n field: \"Performance.ProfitGrowth\",\r\n title: \"Profit Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.ProcurementSpendGrowthRate === null){# - #} else {# #: Performance.ProcurementSpendGrowthRate #% # } #',\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.JobsCreated === null){# - #} else {##: Performance.JobsCreated ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.JobsCreated === null) {# ( - ) #} else {# (#: PerformanceCompare.JobsCreated #) # } #',\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.Headcount === null){# - #} else {##: Performance.Headcount ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Headcount === null) {# ( - ) #} else {# (#: PerformanceCompare.Headcount #) # } #',\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.PermanentEmployment === null){# - #} else {##: Performance.PermanentEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.PermanentEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.PermanentEmployment #) # } #',\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.TemporaryEmployment === null){# - #} else {##: Performance.TemporaryEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.TemporaryEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.TemporaryEmployment #) # } #',\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.NetJobs === null){# - #} else {##: Performance.NetJobs ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.NetJobs === null) {# ( - ) #} else {# (#: PerformanceCompare.NetJobs #) # } #',\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n\r\n template: '# if (Performance.Revenue === null){# - #} else {#R#: kendo.toString(Performance.Revenue,\"n0\") ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Revenue === null) {# ( - ) #} else {# (R#: PerformanceCompare.Revenue #) # } #',\r\n field: \"Performance.Revenue\",\r\n type: \"number\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.Profit === null){# - #} else {#R#: kendo.toString(Performance.Profit, \"n0\") ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Profit === null) {# ( - ) #} else {# (R#: PerformanceCompare.Profit #) # } #',\r\n field: \"Performance.Profit\",\r\n title: \"Net Profit\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.ProcurementSpend === null){# - #} else {#R#: kendo.toString(Performance.ProcurementSpend, \"n0\") ## } #',\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.TotalNumberOfContracts === null){# - #} else {# #: kendo.toString(Performance.TotalNumberOfContracts, \"n0\") ## } #',\r\n field: \"Performance.TotalNumberOfContracts\",\r\n title: \"Number of contracts\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.TotalContractsRandValue === null){# - #} else {# R#: kendo.toString(Performance.TotalContractsRandValue, \"n0\") ## } #',\r\n field: \"Performance.TotalContractsRandValue\",\r\n title: \"Total value of contracts\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.Maturity === null){# - #} else {# #: Performance.Maturity #% # } #',\r\n field: \"Performance.Maturity\",\r\n title: \"Maturity\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.CapitalCommitted === null){# - #} else {# R#: kendo.toString(Performance.CapitalCommitted, \"n0\") ## } #',\r\n field: \"Performance.CapitalCommitted\",\r\n title: \"Capital Committed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.CapitalDeployed === null){# - #} else {# R#: kendo.toString(Performance.CapitalDeployed, \"n0\") ## } #',\r\n field: \"Performance.CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 150\r\n }]\r\n });\r\n } else {\r\n if ($('#fund-programme-performance-grid-corporate').data('kendoGrid'))\r\n $('#fund-programme-performance-grid-corporate').data('kendoGrid').destroy();\r\n\r\n $(\"#fund-programme-performance-grid-corporate\").kendoGrid({\r\n\r\n dataSource: data,\r\n sortable: true,\r\n reorderable: true,\r\n resizable: true,\r\n dataBound: grid_dataBound,\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n columnMenu: true,\r\n columns: [\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\"},\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.RevenueGrowth === null){# - #} else {# #: Performance.RevenueGrowth #% # } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.RevenueGrowth === null) {# ( - ) #} else {# (#: PerformanceCompare.RevenueGrowth #%) # } #',\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\"},\r\n template: '# if (Performance.ProcurementSpendGrowthRate === null){# - #} else {# #: Performance.ProcurementSpendGrowthRate #% # } #',\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.JobsCreated === null){# - #} else {##: Performance.JobsCreated ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.JobsCreated === null) {# ( - ) #} else {# (#: PerformanceCompare.JobsCreated #) # } #',\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\"},\r\n template: '# if (Performance.Headcount === null){# - #} else {##: Performance.Headcount ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Headcount === null) {# ( - ) #} else {# (#: PerformanceCompare.Headcount #) # } #',\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\"},\r\n template: '# if (Performance.PermanentEmployment === null){# - #} else {##: Performance.PermanentEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.PermanentEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.PermanentEmployment #) # } #',\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\"},\r\n template: '# if (Performance.TemporaryEmployment === null){# - #} else {##: Performance.TemporaryEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.TemporaryEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.TemporaryEmployment #) # } #',\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.NetJobs === null){# - #} else {##: Performance.NetJobs ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.NetJobs === null) {# ( - ) #} else {# (#: PerformanceCompare.NetJobs #) # } #',\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\"},\r\n\r\n template: '# if (Performance.Revenue === null){# - #} else {#R#: kendo.toString(Performance.Revenue, \"n0\") ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Revenue === null) {# ( - ) #} else {# (R#: PerformanceCompare.Revenue #) # } #',\r\n field: \"Performance.Revenue\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.ProcurementSpend === null){# - #} else {#R#: kendo.toString(Performance.ProcurementSpend, \"n0\") ## } #',\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.Maturity === null){# - #} else {# #: Performance.Maturity #% # } #',\r\n field: \"Performance.Maturity\",\r\n title: \"Maturity\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.CapitalCommitted === null){# - #} else {# R#: kendo.toString(Performance.CapitalCommitted, \"n0\") ## } #',\r\n field: \"Performance.CapitalCommitted\",\r\n title: \"Capital Committed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.CapitalDeployed === null){# - #} else {# R#: kendo.toString(Performance.CapitalDeployed, \"n0\") ## } #',\r\n field: \"Performance.CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 150\r\n }]\r\n });\r\n }\r\n\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n var grid = $(\"#fund-programme-performance-grid\").getKendoGrid();\r\n\r\n grid.table.kendoTooltip({\r\n filter: \"tr td:nth-child(3)\",\r\n content: function (e) {\r\n var target = e.target; // element for which the tooltip is shown\r\n return 'Total Reports: ' + $(target).attr('totalReports');\r\n }\r\n });\r\n }\r\n\r\n app.AppGrids.addCustomKendoDownloadCsvButton();\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getStatusColor -------------------------------------------------------------------------\r\nfunction getStatusColor(value) {\r\n\r\n if (value >= 0 && value < 3) {\r\n //green\r\n return \"#60bd68\";\r\n } else if (value >= 3 && value < 6) {\r\n //orange\r\n return \"#cc6600\";\r\n } else if (value >= 6) {\r\n //red\r\n return \"#cc0000\";\r\n }\r\n\r\n}\r\n\r\n// Function: setMetricData --------------------------------------------------------------------------\r\nfunction setMetricData(viewmodel, data) {\r\n //GetMEtrics\r\n //getbyID = fundcapitalhistory\r\n //grab most recent capitalDate\r\n //fundmetrics = fund.capital.amount\r\n //fundmetrics = fund.capital.date\r\n\r\n viewmodel.metricsModel.set(\"jobsCreated\", Math.round(data.Performance.JobsCreated));\r\n //viewmodel.metricsModel.set(\"revenueGrowth\", data.Performance.RevenueGrowth);\r\n //viewmodel.metricsModel.set(\"profitGrowth\", data.Performance.ProfitGrowth);\r\n viewmodel.metricsModel.set(\"headcountGrowth\", data.Performance.HeadcountGrowth);\r\n viewmodel.metricsModel.set(\"procurementSpendGrowthRate\", data.Performance.ProcurementSpendGrowthRate);\r\n viewmodel.metricsModel.set(\"headcount\", Math.round(data.Performance.Headcount));\r\n viewmodel.metricsModel.set(\"permanentEmployment\", data.Performance.PermanentEmployment);\r\n viewmodel.metricsModel.set(\"temporaryEmployment\", data.Performance.TemporaryEmployment);\r\n viewmodel.metricsModel.set(\"netJobs\", Math.round(data.Performance.NetJobs));\r\n viewmodel.metricsModel.set(\"numberOfEnterprises\", data.NumberOfEnterprises);\r\n viewmodel.metricsModel.set(\"permanentJobsCreated\", data.Performance.PermanentJobsCreated);\r\n viewmodel.metricsModel.set(\"temporaryJobsCreated\", data.Performance.TemporaryJobsCreated);\r\n viewmodel.metricsModel.set(\"permanentNetJobs\", data.Performance.PermanentNetJobs);\r\n viewmodel.metricsModel.set(\"temporaryNetJobs\", data.Performance.TemporaryNetJobs);\r\n\r\n viewmodel.metricsModel.set(\"revenue\", app.AppDashboard.formatMoneyRounding(data.Performance.Revenue, 2));\r\n viewmodel.metricsModel.set(\"profit\", app.AppDashboard.formatMoneyRounding(data.Performance.Profit, 2));\r\n viewmodel.metricsModel.set(\"procurementspend\", app.AppDashboard.formatMoneyRounding(data.Performance.ProcurementSpend, 2));\r\n\r\n viewmodel.metricsModel.set(\"budget\", (app.AppDashboard.formatMoneyRounding(data.Performance.Budget)));\r\n viewmodel.metricsModel.set(\"budgetDeployed\", (app.AppDashboard.formatMoneyRounding(data.Performance.BudgetDeployed)));\r\n viewmodel.metricsModel.set(\"budgetTimestamp\", kendo.toString(kendo.parseDate(data.Performance.BudgetTimeStamp), \"dd/MM/yyyy\"));\r\n viewmodel.metricsModel.set(\"budgetDeployedTimestamp\", kendo.toString(kendo.parseDate(data.Performance.BudgetDeployedTimeStamp), \"dd/MM/yyyy\"));\r\n viewmodel.metricsModel.set(\"capital\", (app.AppDashboard.formatMoneyRounding(data.Performance.Capital)));\r\n viewmodel.metricsModel.set(\"capitalDeployed\", (app.AppDashboard.formatMoneyRounding(data.Performance.CapitalDeployed)));\r\n viewmodel.metricsModel.set(\"capitalTimestamp\", kendo.toString(kendo.parseDate(data.Performance.CapitalTimeStamp), \"dd/MM/yyyy\"));\r\n viewmodel.metricsModel.set(\"capitalCommitted\", (app.AppDashboard.formatMoneyRounding(data.Performance.CapitalCommitted)));\r\n\r\n if (data.BusinessOfTomorrowSMEsRate != null) {\r\n viewmodel.metricsModel.set(\"businessOfTomorrowSMEsRate\", `${Math.round(data.BusinessOfTomorrowSMEsRate)}%`);\r\n viewmodel.metricsModel.set(\"activeSMEs\", data.Performance.TotalActiveSMEs);\r\n viewmodel.metricsModel.set(\"BOTSMEs\", data.Performance.BusinessOfTomorrowSMECount);\r\n viewmodel.metricsModel.set(\"totalSMEs\", data.NumberOfEnterprises);\r\n }\r\n \r\n if (data.Performance.isRevenueGrowthPositive != null) {\r\n\r\n if (data.Performance.isRevenueGrowthPositive == false) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Loss \");\r\n $(\".revenueMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isRevenueGrowthPositive == true) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Growth \");\r\n $(\".revenueMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", data.Performance.RevenueGrowth);\r\n $(\".revenueMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isProfitGrowthPositive != null) {\r\n\r\n if (data.Performance.isProfitGrowthPositive == false) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Loss \");\r\n $(\".profitMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isProfitGrowthPositive == true) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Growth \");\r\n $(\".profitMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"profitGrowth\", data.Performance.ProfitGrowth);\r\n $(\".profitMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n\r\n app.AppDashboard.setIncompleteDataClasses(viewmodel, data);\r\n\r\n viewmodel.metricsModel.set(\"metricData\", data.Performance);\r\n}\r\n\r\n// Function: loadWagrModal ------------------------------------------------------------------------\r\nfunction loadWagrModal() {\r\n\r\n var showModal = \"fund-programme-dashboard-wagr-breakdown\";\r\n app.AppDialog.showWagrReportBreakdown(showModal);\r\n\r\n}\r\n\r\nfunction loadProcurementSpendGrowthWagrModal() {\r\n var showModal = \"dashboard-procurement-growth-wagr-report-breakdown\";\r\n app.AppDialog.showProcurementGrowthWagrReportBreakdown(showModal);\r\n\r\n}\r\n\r\nfunction loadProfitGrowthWagrModal() {\r\n var showModal = \"dashboard-profit-growth-wagr-report-breakdown\";\r\n app.AppDialog.showProfitGrowthWagrReportBreakdown(showModal);\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.isAdminUser = false;\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/active\", \"Corporate - Active\");\r\n\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Administrator\" ||\r\n loggedInUserRole === \"Super Admin\") {\r\n viewmodel.set(\"isAdminUser\", true);\r\n }\r\n\r\n bindActiveCorporates(viewmodel);\r\n};\r\n\r\n// Function: bindActiveCorporates ------------------------------------------------------------------\r\nfunction bindActiveCorporates(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getActiveCorporates().then(\r\n\r\n function (result) { \r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n LastActive: { type: \"date\" },\r\n TotalUsers: { type: \"number\" },\r\n CorporateSubscriptionDateRange: {type: \"string\"}\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n\r\n corporates = ApiResult;\r\n\r\n corporates.forEach(function (corporate) {\r\n corporate.TotalUsers = corporate.CorporateUsers.length;\r\n if (corporate.TotalUsers !== 0) { \r\n var dates = [];\r\n corporate.CorporateUsers.forEach(function (corporateUser) {\r\n dates.push(corporateUser.User.DateLastOnline);\r\n });\r\n\r\n var maxDate = app.AppGrids.calculateMaxDate(dates); \r\n corporate.LastActive = maxDate;\r\n } else {\r\n corporate.LastActive = null;\r\n } \r\n });\r\n\r\n var result = {\r\n data: corporates\r\n };\r\n\r\n return result;\r\n }\r\n },\r\n pageable: true \r\n }); \r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n}\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function alterDisplayedTable(e) {\r\n if (!viewmodel.get(\"isAdminUser\")) { //only check permission if not admin\r\n\r\n $(\"#active-corporate-list-container .enterprise-list-tr\").each(function () {\r\n\r\n var currentDataItem = $(\"#active-corporate-list-container\").data(\"kendoGrid\").dataItem($(this));\r\n\r\n var havePermissions = false;\r\n\r\n if (currentDataItem && currentDataItem.Permissions && currentDataItem.Permissions.length > 0)\r\n havePermissions = true;\r\n\r\n if (!havePermissions) {\r\n $(this).find(\"div.list-dropdown\").find(\"ul\").find(\".divider\").remove();\r\n $(this).find(\"div.list-dropdown\").find(\"ul\").find(\".deleteCorporate\").remove();\r\n $(this).find(\"div.list-dropdown\").find(\"ul\").find(\".edit\").remove();\r\n };\r\n });\r\n }\r\n app.AppGrids.adjustDropdowns();\r\n loadClickEvents();\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#active-corporate-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n resizable: true, \r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n serverOperation: false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 200\r\n }, {\r\n field: \"Last Active\", \r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 100\r\n }, {\r\n field: \"Total Users\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 100\r\n },\r\n {\r\n title:\"Subscription period\",\r\n field: \"CorporateSubscriptionDateRange\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 100\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }],\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n rowTemplate: kendo.template($(\"#active-corporate-list-template\").html())\r\n });\r\n var grid = $(\"#active-corporate-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n }); \r\n\r\n};\r\n\r\n// Function: getActiveCorporates -------------------------------------------------------------------\r\nfunction getActiveCorporates(r) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppCorporate.getActiveCorporates(1, 10000, \" \").then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".deleteCorporate\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"corporateName\");\r\n var id = $(this).attr(\"corporateId\");\r\n\r\n deleteCorporate(name, id);\r\n });\r\n\r\n $(\".showOverview\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var corporateId = $(this).parent().attr(\"corporateId\");\r\n app.AppRouter.router.navigate(\"/corporate/dashboard?id=\" + corporateId + \"&tab=overview\");\r\n });\r\n\r\n};\r\n\r\n// Function: deleteCorporate -----------------------------------------------------------------------\r\nfunction deleteCorporate(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n deleteConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppCorporate.deleteCorporate(id).then(\r\n\r\n function (data) {\r\n $('#active-corporate-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Deactivated\",\r\n message: \"Corporate successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(corporate) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to deactivate \" + corporate + \"?\" + \"\\n\\n\" + \"This corporate can be restored from the inactive section.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/corporate/corporate\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.removePhoto = function () { removePhoto(this); };\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n this.provinceList = app.AppDataLists.getProvincesLocal();\r\n this.startup = function () { startup(this); };\r\n\r\n this.corporateBrandingPreview = function () { corporateBrandingPreview(this); };\r\n\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/add\", \"Corporate - Add\");\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def); \r\n doFormValidation(viewmodel);\r\n app.AppCorporateAddEditShared.displayCorporateBrandingToggle(viewmodel);\r\n app.AppCorporateAddEditShared.colorPicker(viewmodel);\r\n app.AppCorporate.createCorporateSubscriptionDataSourceAndGrid('subscriptionhistory-grid', []);\r\n localStorage.removeItem(\"previewLogo\");\r\n def.resolve();\r\n};\r\n\r\nfunction corporateBrandingPreview(viewmodel) {\r\n\r\n var primaryColour = viewmodel.data.get(\"primaryColour\").substring(1);\r\n var secondaryColour = viewmodel.data.get(\"secondaryColour\").substring(1);\r\n var corporateId = viewmodel.data.get(\"Id\");\r\n\r\n window.open(`/#/dashboard?colour1=${primaryColour}&colour2=${secondaryColour}&ispreview=${true}`);\r\n}\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#corporateName\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () { \r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n };\r\n}\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 474,\r\n height: 264,\r\n type: 'square'\r\n },\r\n boundary: {\r\n width: 500,\r\n height: 400\r\n }\r\n });\r\n\r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n\r\n $(\".uploadClick\").on(\"click\", function () {\r\n uploadImage.croppie('result',{type: 'base64',size: 'viewport',quality: 0.8}).then(function(base64) {\r\n viewmodel.data.set(\"logo\", base64);\r\n localStorage.setItem(\"previewLogo\", base64);\r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n })\r\n\r\n $('#croppie-modal').on('hidden.bs.modal', function () {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n })\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n};\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"logo\", \"\");\r\n localStorage.removeItem(\"previewLogo\");\r\n};\r\n\r\n\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#add-corporate-form\").kendoValidator(\r\n {\r\n rules: {\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\") {\r\n if (input.val() != \"\") {\r\n return input.val().length > 9\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n url: \"Your input is not a valid URL\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\") {\r\n return \"Telephone is not valid\"\r\n }\r\n else {\r\n return \"Your input is not valid\"\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n //return validator.validate();\r\n};\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n var def = new $.Deferred();\r\n\r\n var gridData = $('#subscriptionhistory-grid').data(\"kendoGrid\").dataSource.data();\r\n def.resolve();\r\n if (viewmodel.validator.validate()) {\r\n app.AppCorporateAddEditShared.getDisplayCorporateBrandingToggleValue(viewmodel);\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var addData = getCoporateObject(viewmodel);\r\n app.AppCorporate.add(addData).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Corporate successfully created.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n app.AppRouter.router.navigate(\"/corporate/dashboard?id=\" + data.data.CorporateId + \"&tab=overview\");\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n //app.AppRouter.router.navigate(\"/\");\r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n}\r\n\r\n// Function: getCoporateObject --------------------------------------------------------------------\r\nfunction getCoporateObject(viewmodel) {\r\n\r\n var strImage = \"\";\r\n\r\n if (viewmodel.data.get(\"logo\")) {\r\n var strToReplace = viewmodel.data.get(\"logo\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n }\r\n\r\n\r\n return {\r\n\r\n Name: viewmodel.data.get(\"name\"), \r\n\r\n Telephone: viewmodel.data.get(\"telephone\"),\r\n Email: viewmodel.data.get(\"email\"),\r\n WebsiteUrl: viewmodel.data.get(\"websiteUrl\"), \r\n\r\n Logo: strImage,\r\n\r\n ComplexBuilding: viewmodel.data.get(\"complexBuilding\"),\r\n Street: viewmodel.data.get(\"street\"),\r\n Suburb: viewmodel.data.get(\"suburb\"),\r\n ProvinceId: viewmodel.data.get(\"provinceId\"),\r\n PostalCode: viewmodel.data.get(\"postalCode\"),\r\n PrimaryColour: viewmodel.data.get(\"primaryColour\"),\r\n SecondaryColour: viewmodel.data.get(\"secondaryColour\"),\r\n CorporateSubscriptions: app.AppCorporate.buildSubscriptionHistoriesObjectToPostFromDataSource(\"subscriptionhistory-grid\"),\r\n };\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar metricsModel = require(\"app_mvvm_models/custom/common/fund-programme/performance\");\r\nvar appUser = require(\"../../../../../utilities/default/app-user/app-user-current\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.metricsModel = new metricsModel();\r\n this.colors = app.AppDashboardColors.get();\r\n this.loadingDef;\r\n this.missingChartDataPointList = [];\r\n this.Id = \"\";\r\n this.corporateName = \"\";\r\n this.isDashboardVisible = false;\r\n this.isPercentageEnable = false;\r\n this.isChartVisible = false;\r\n this.isBreakdownVisible = false;\r\n this.datePickersAllMonths = [];\r\n this.datePickerStartDateValidMonths = [];\r\n this.isDataPointsMissingMessageVisible = false;\r\n this.navigateToPerformanceListPage = function () { navigateToPerformanceListPage(this); };\r\n this.HideChartLineClick = function () { HideChartLineClick(this); };\r\n this.toggleCalendarIcon = function () { toggleCalendarIcon(this); };\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n viewmodel.loadingDef = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef);\r\n\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/dashboard\", \"Corporate - Dashboard\");\r\n\r\n app.AppDashboard.getCorporateDatePickerValidMonths().then(\r\n function (resultValidMonths) {\r\n\r\n var dateRange = app.AppDashboard.datePickerValuesSetShared(viewmodel, resultValidMonths);\r\n if (!dateRange) return;\r\n\r\n loadDashboard(viewmodel, dateRange);\r\n $('body').off('onChangeCalendarEvent');\r\n $(\"body\").on(\"onChangeCalendarEvent\", function (event, data) {\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef, true);\r\n loadDashboard(viewmodel, { startDate: data.startDate, endDate: data.endDate }, data.calendarType);\r\n });\r\n });\r\n\r\n const branding = appUser.getCurrentBrandingStyle();\r\n console.log('branding', branding);\r\n const printLogo = document.getElementsByClassName('print-logo');\r\n\r\n\r\n if (!branding.PrimaryColour || !branding.Logo) {\r\n\r\n printLogo[0].src = '/App/images/company-logo-placeholder.png';\r\n printLogo[0].style.marginTop = \"-15px\";\r\n printLogo[0].style.padding = \"0\";\r\n printLogo[0].style.width = \"80px\";\r\n printLogo[0].style.maxHeight = \"80px\";\r\n\r\n $(\"#menu-logo-text\").addClass(\"corporate-logo-text\");\r\n $(\"#print-logo\").addClass(\"corporate-dashboard-logo\");\r\n\r\n\r\n } else {\r\n printLogo[0].src = branding.Logo;\r\n printLogo[0].style.marginTop = \"-25px\";\r\n printLogo[0].style.padding = \"0\";\r\n printLogo[0].style.maxHeight = \"100px\";\r\n $(\"#menu-logo-text\").addClass(\"corporate-logo-text\");\r\n $(\"#print-logo\").addClass(\"corporate-dashboard-logo\");\r\n\r\n }\r\n\r\n};\r\n\r\n// Function: toggleCalendarIcon -------------------------------------------------------------\r\nfunction toggleCalendarIcon(viewmodel) {\r\n\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-down');\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-up');\r\n\r\n}\r\n\r\n// Function: loadDashboard --------------------------------------------------------------------------\r\nfunction loadDashboard(viewmodel, dates) {\r\n\r\n var gridPromise = getGridData(viewmodel, dates.startDate, dates.endDate);\r\n var metricPromise = getMetricData(viewmodel, dates.startDate, dates.endDate);\r\n var chartPromise = getChartData(viewmodel, dates.startDate, dates.endDate);\r\n\r\n var startDate = getDateString(dates.startDate);\r\n var endDate = getDateString(dates.endDate);\r\n\r\n viewmodel.metricsModel.set(\"startDate\", startDate);\r\n viewmodel.metricsModel.set(\"endDate\", endDate);\r\n\r\n $.when(gridPromise, metricPromise, chartPromise).done(\r\n function (grid) {\r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n app.AppHelper.setTourCache(data);\r\n app.AppHelper.startHelper(viewmodel, \"Dashboard\", false);\r\n }\r\n );\r\n\r\n console.log(\"grid loaded\");\r\n \r\n setupHideChartLineClick(viewmodel);\r\n loadExportGrid(viewmodel, grid);\r\n\r\n app.AppLoading.hide();\r\n $(\"#metricCard-revenue\").trigger(\"click\");\r\n $(\"#metricCard-headcount\").trigger(\"click\");\r\n //Resize Chart for headcount axis to fit properly\r\n kendo.resize($(\"#chart\"));\r\n loadClickEvents(viewmodel);\r\n\r\n }).fail(function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n viewmodel.loadingDef.reject();\r\n });\r\n};\r\n\r\nfunction loadExportGrid(viewmodel, gridData) {\r\n app.AppGrids.buildExportGridCorporateDashboard(viewmodel, gridData);\r\n}\r\n\r\n// Function: getDateString --------------------------------------------------------------------------\r\nfunction getDateString(dateString) {\r\n\r\n var str_array = dateString.split('/');\r\n\r\n switch (str_array[0]) {\r\n case '01': str_array[0] = 'Jan '; break;\r\n case '02': str_array[0] = 'Feb '; break;\r\n case '03': str_array[0] = 'Mar '; break;\r\n case '04': str_array[0] = 'Apr '; break;\r\n case '05': str_array[0] = 'May '; break;\r\n case '06': str_array[0] = 'Jun '; break;\r\n case '07': str_array[0] = 'Jul '; break;\r\n case '08': str_array[0] = 'Aug '; break;\r\n case '09': str_array[0] = 'Sep '; break;\r\n case '10': str_array[0] = 'Oct '; break;\r\n case '11': str_array[0] = 'Nov '; break;\r\n case '12': str_array[0] = 'Dec '; break;\r\n }\r\n dateString = (str_array[0] + str_array[1]);\r\n\r\n return dateString;\r\n}\r\n\r\n// Function: navigateToPerformanceListPage ----------------------------------------------------------\r\nfunction navigateToPerformanceListPage() {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.get(\"enterpriseId\") + \"&tab=reports\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/reports\");\r\n }\r\n}\r\n\r\n// Function: getChartData ---------------------------------------------------------------------------\r\nfunction getChartData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var colours = viewmodel.get(\"colors\");\r\n\r\n app.AppDashboard.getCorporateDashboardPerformanceChart(startDate, endDate).then(\r\n function (result) {\r\n bindChartData(result, colours, viewmodel);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n return def.promise();\r\n}\r\n\r\n// Function: reloadChart --------------------------------------------------------------------------\r\nfunction reloadChart(viewmodel) {\r\n\r\n // var colours = viewmodel.get(\"colors\");\r\n var calendarStart = viewmodel.get(\"calendarStartDate\");\r\n var calendarEnd = viewmodel.get(\"calendarEndDate\");\r\n var startDate = kendo.toString(calendarStart, \"MM/yyyy\");\r\n var endDate = kendo.toString(calendarEnd, \"MM/yyyy\");\r\n var id = viewmodel.get(\"Id\");\r\n var calendarType = \"selection\";\r\n\r\n //getChartData(viewmodel, startDate, endDate, \"selection\");\r\n $(\"body\").trigger('onChangeCalendarEvent', [{ viewmodel: viewmodel, id: id, startDate: startDate, endDate: endDate, calendarType: calendarType }]);\r\n\r\n\r\n}\r\n\r\n// Function: hideChartLine --------------------------------------------------------------------------\r\nfunction setupHideChartLineClick(viewmodel) {\r\n $('.chart-series-line-icon').off('click');\r\n\r\n $(\".chart-series-line-icon\").click(function (e) {\r\n\r\n if (viewmodel.get(\"isChartVisible\")) { //only when graph is available.\r\n\r\n var targetClass = $(e.target).attr('class');\r\n if (!targetClass) targetClass = \"card\";\r\n if ($(e.target).hasClass(\"mini-help\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"clean-mini-help\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"mini-plus\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"clean-mini-plus\") || targetClass.indexOf(\"popover\") > -1) return;\r\n\r\n var dataLine = $(this).data(\"seriesname\");\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n $(this).find(\".metric-icon\").toggleClass(\"active\");\r\n $(this).toggleClass(\"active\");\r\n if (chart) {\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === dataLine;\r\n })[0];\r\n\r\n seriesObj.visible = !seriesObj.visible;\r\n chart.redraw();\r\n }\r\n }\r\n });\r\n}\r\n\r\n// Function: createChart ----------------------------------------------------------------------------\r\nfunction createChart(data, colours, viewmodel) {\r\n\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n const maxLabels = 13;\r\n const step = Math.ceil(data.MonthlyChartPerformances.length / maxLabels);\r\n\r\n\r\n if (isPercentageEnable == false) {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers: {\r\n visible: false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.Revenue\",\r\n name: \"Revenue\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpend\",\r\n name: \"Procurement Spend\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Headcount\",\r\n name: \"Headcount\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: false,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n format: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n format: \"#= shortenLabels(value) #\",\r\n visible: true,\r\n margin: {\r\n right: 20\r\n }\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n visible: false\r\n },\r\n axisCrossingValue: -10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n //template: \"# if(1 == 2){# R #} else {# H #} #\" \r\n template: \"# if(series.name != 'Headcount'){# R#: kendo.toString(value,'n0') + ' (' + series.name #) #} else {##: kendo.toString(value,'n0')+ ' (' +series.name #) #} #\"\r\n }\r\n\r\n });\r\n\r\n } else {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\"\r\n },\r\n series: [{\r\n field: \"Performance.RevenueGrowthRateWeightedAverage\",\r\n name: \"Weighted Revenue Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: true,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpendGrowthRateWeightedAverage\",\r\n name: \"Weighted Procurement Spend Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.HeadcountGrowthRateWeightedAverage\",\r\n name: \"Weighted Headcount Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n format: \"{0}%\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n },\r\n {\r\n name: \"Headcount\",\r\n labels: {\r\n format: \"{0}%\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: 10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\"\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#: value #% (#= series.name #)\" //#=dataItem.ProcurementSpend#\r\n }\r\n\r\n });\r\n };\r\n\r\n}\r\n\r\n// Function: showChartDataNodeNotAvailable ----------------------------------------------------------\r\nfunction showChartDataNodeNotAvailable(data, colours, viewmodel) {\r\n var missingDataPoints = false;\r\n for (var i = 0; i < data.length; i++) {\r\n var item = data[i];\r\n if (item.Performance == null || item.Performance.RevenueGrowth == null || item.Performance.ProfitGrowth == null || item.Performance.HeadcountGrowth == null || item.Performance.ProcurementSpend == null) {\r\n missingDataPoints = true;\r\n break;\r\n }\r\n }\r\n\r\n if (missingDataPoints) {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", true);\r\n } else {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", false);\r\n }\r\n\r\n}\r\n\r\n// Function: bindChartData --------------------------------------------------------------------------\r\nfunction bindChartData(data, colours, viewmodel) {\r\n if (data.ShowChart === true) {\r\n viewmodel.set(\"isChartVisible\", true);\r\n $(document).bind(\"kendo:skinChange\", createChart(data, colours, viewmodel));\r\n $(window).resize(function () {\r\n $(\"#chart\").data(\"kendoChart\").resize();\r\n });\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable == true) {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpendGrowthRate\");\r\n } else {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpend\");\r\n }\r\n\r\n showChartDataNodeNotAvailable(data.MonthlyChartPerformances, colours, viewmodel);\r\n\r\n }\r\n}\r\n\r\n// Function: hideLinesNotShownByDefault -------------------------------------------------------------\r\nfunction hideLinesNotShownByDefault(hideline) { //todo should be array probably of lines\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === hideline;\r\n })[0];\r\n seriesObj.visible = false;\r\n chart.redraw();\r\n}\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents(viewmodel) {\r\n\r\n $(\".showPerformance\").off(\"click\");\r\n $(document).on('click',\".showPerformance\", function (e) {\r\n console.log(\"showPerformance clicked\");\r\n var performanceId = $(this).attr(\"performanceId\"); //Investigate method for grabbing parent tag and sending down element attr ID\r\n var performanceType = $(this).attr(\"performanceType\");\r\n if (performanceId) {\r\n\r\n if (performanceType === \"Fund\") {\r\n\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + performanceId + \"&tab=overview\");\r\n }\r\n else if (performanceType === \"Programme\") {\r\n\r\n app.AppRouter.router.navigate(\"/programme/dashboard?id=\" + performanceId + \"&tab=performance\");\r\n };\r\n };\r\n });\r\n\r\n $(\".togglePercentageView\").off(\"click\");\r\n $(\".togglePercentageView\").on('click', function (e) {\r\n $(\".metricDefaultView\").toggleClass(\"hide\");\r\n $(\".metricPercentageView\").toggleClass(\"hide\");\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable == true) {\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n } else {\r\n viewmodel.set(\"isPercentageEnable\", true);\r\n };\r\n reloadChart(viewmodel);\r\n app.AppDashboard.resetMetrics();\r\n });\r\n console.log('click events bound');\r\n};\r\n\r\n//Function: onChange --------------------------------------------------------------------------------\r\nfunction onChange(e) {\r\n\r\n var data = this.dataItem(this.select());\r\n\r\n if (data.Id) {\r\n\r\n if (data.Type.toLowerCase() === \"fund\") {\r\n\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + data.Id + \"&tab=overview\");\r\n }\r\n else if (data.Type.toLowerCase() === \"programme\") {\r\n\r\n app.AppRouter.router.navigate(\"/programme/dashboard?id=\" + data.Id + \"&tab=performance\");\r\n };\r\n };\r\n};\r\n\r\n// Function: getMetricData --------------------------------------------------------------------------\r\nfunction getMetricData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppDashboard.getCorporateDashboardPerformanceMetrics(startDate, endDate).then(\r\n function (result) {\r\n setMetricData(viewmodel, result);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getGridData ----------------------------------------------------------------------------\r\nfunction getGridData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n var type = \"corporate\";\r\n app.AppDashboard.getPerformanceGrid(role, viewmodel, type, startDate, endDate).then(\r\n function (result) {\r\n bindGridData(viewmodel, result);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n//Function: bindChartData ---------------------------------------------------------------------------\r\nfunction bindGridData(viewmodel, data) {\r\n\r\n var def = $.Deferred();\r\n\r\n function grid_dataBound(e) {\r\n\r\n var grid = $(\"#corporate-dashboard-performance-grid\").data(\"kendoGrid\");\r\n var gridRows = grid.tbody.find(\"tr\");\r\n\r\n\r\n\r\n gridRows.each(function (i, v) {\r\n var dataItem = grid.dataItem(gridRows[i]);\r\n if (dataItem.HasNoData) {\r\n viewmodel.set(\"isBreakdownVisible\", false);\r\n } else {\r\n viewmodel.set(\"isBreakdownVisible\", true);\r\n }\r\n });\r\n app.AppDashboard.gridFixedHeaders(this);\r\n };\r\n\r\n if ($('#corporate-dashboard-performance-grid').data('kendoGrid'))\r\n $('#corporate-dashboard-performance-grid').data('kendoGrid').destroy();\r\n\r\n\r\n $(\"#corporate-dashboard-performance-grid\").kendoGrid({\r\n dataBound: grid_dataBound,\r\n dataSource: {\r\n data: data,\r\n sort: [\r\n { field: \"Type\", dir: \"asc\" } // Always sort by 'Type' ascending first\r\n ]\r\n },\r\n sortable: {\r\n mode: \"multiple\", // Allow sorting by multiple columns\r\n allowUnsort: true // Keep initial sort even when sorting other columns\r\n },\r\n reorderable: true,\r\n resizable: true,\r\n pageable: {\r\n refresh: false,\r\n pageSizes: true\r\n },\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n change: onChange,\r\n columnMenu: true,\r\n columns: [\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n field: \"Name\",\r\n title: \"Name\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n field: \"Type\",\r\n title: \"Type\",\r\n width: 200\r\n\r\n },\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n field: \"EnterpriseCount\",\r\n title: \"No. Enterprises\",\r\n width: 200\r\n\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.JobsCreated === null){# - #} else {##: Performance.JobsCreated ## } #',\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.RevenueGrowth === null){# - #} else {# #: Performance.RevenueGrowth #% # } #',\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.ProcurementSpendGrowthRate === null){# - #} else {# #: Performance.ProcurementSpendGrowthRate #% # } #',\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.Headcount === null){# - #} else {##: Performance.Headcount ## } #',\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.PermanentEmployment === null){# - #} else {##: Performance.PermanentEmployment ## } #',\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.TemporaryEmployment === null){# - #} else {##: Performance.TemporaryEmployment ## } #',\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.NetJobs === null){# - #} else {##: Performance.NetJobs ## } #',\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.Revenue === null){# - #} else {#R#: kendo.toString(Performance.Revenue, \"n0\") ## } #',\r\n field: \"Performance.Revenue\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.ProcurementSpend === null){# - #} else {#R#: kendo.toString(Performance.ProcurementSpend, \"n0\") ## } #',\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement Spend\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.Budget === null){# - #} else {#R#: kendo.toString(Performance.Budget, \"n0\") ## } #',\r\n field: \"Performance.Budget\",\r\n title: \"Budget\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.BudgetDeployed === null){# - #} else {#R#: kendo.toString(Performance.BudgetDeployed, \"n0\") ## } #',\r\n field: \"Performance.BudgetDeployed\",\r\n title: \"Budget Deployed\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.Capital === null){# - #} else {#R#: kendo.toString(Performance.Capital, \"n0\") ## } #',\r\n field: \"Performance.Capital\",\r\n title: \"Capital Under Management\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n template: '# if (Performance.CapitalDeployed === null){# - #} else {#R#: kendo.toString(Performance.CapitalDeployed, \"n0\") ## } #',\r\n field: \"Performance.CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 200\r\n }],\r\n sort: function (e) {\r\n // Ensure 'Type' is always sorted and remove excess columns when sorting\r\n var sort = e.sender.dataSource.sort();\r\n var nameSort = sort.find(s => s.field === \"Type\");\r\n // Remove the oldest non-'Type' sort to keep only two sorts\r\n sort.splice(1, sort.length - 2);\r\n // Re-add the 'Type' sort if it was removed accidentally\r\n if (!nameSort) {\r\n sort.unshift({ field: \"Type\", dir: \"asc\" });\r\n }\r\n // Set the new sorting array\r\n e.sender.dataSource.sort(sort);\r\n }\r\n });\r\n\r\n var grid = $(\"#corporate-dashboard-performance-grid\").getKendoGrid();\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(20);\r\n });\r\n\r\n app.AppGrids.addCustomKendoDownloadCsvButton();\r\n app.AppGrids.addCustomKendoDownloadPdfButton();\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setMetricData --------------------------------------------------------------------------\r\nfunction setMetricData(viewmodel, data) {\r\n if (data && data.Performance) {\r\n //viewmodel.metricsModel.set(\"revenueGrowth\", data.Performance.RevenueGrowth);\r\n viewmodel.metricsModel.set(\"procurementspendGrowth\", app.AppDashboard.formatNumberSign(data.Performance.ProcurementSpendGrowthRate));\r\n viewmodel.metricsModel.set(\"procurementspend\", app.AppDashboard.formatMoneyRounding(data.Performance.ProcurementSpend, 2));\r\n viewmodel.metricsModel.set(\"revenue\", app.AppDashboard.formatMoneyRounding(data.Performance.Revenue, 2));\r\n\r\n viewmodel.metricsModel.set(\"jobsCreated\", Math.round(data.Performance.JobsCreated));\r\n viewmodel.metricsModel.set(\"headcount\", Math.round(data.Performance.Headcount));\r\n viewmodel.metricsModel.set(\"headcountGrowth\", app.AppDashboard.formatNumberSign(data.Performance.HeadcountGrowth));\r\n viewmodel.metricsModel.set(\"permanentEmployment\", data.Performance.PermanentEmployment);\r\n viewmodel.metricsModel.set(\"temporaryEmployment\", data.Performance.TemporaryEmployment);\r\n viewmodel.metricsModel.set(\"netJobs\", Math.round(data.Performance.NetJobs));\r\n viewmodel.metricsModel.set(\"permanentNetJobs\", data.Performance.PermanentNetJobs);\r\n viewmodel.metricsModel.set(\"temporaryNetJobs\", data.Performance.TemporaryNetJobs);\r\n viewmodel.metricsModel.set(\"permanentJobsCreated\", data.Performance.PermanentJobsCreated);\r\n viewmodel.metricsModel.set(\"temporaryJobsCreated\", data.Performance.TemporaryJobsCreated);\r\n\r\n viewmodel.metricsModel.set(\"budget\", app.AppDashboard.formatMoneyRounding(data.Performance.Budget));\r\n viewmodel.metricsModel.set(\"budgetDeployed\", app.AppDashboard.formatMoneyRounding(data.Performance.BudgetDeployed));\r\n viewmodel.metricsModel.set(\"capital\", app.AppDashboard.formatMoneyRounding(data.Performance.Capital));\r\n viewmodel.metricsModel.set(\"capitalDeployed\", app.AppDashboard.formatMoneyRounding(data.Performance.CapitalDeployed));\r\n\r\n\r\n\r\n if (data.Performance.isRevenueGrowthPositive != null) {\r\n\r\n if (data.Performance.isRevenueGrowthPositive == false) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Loss \");\r\n $(\".revenueMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isRevenueGrowthPositive == true) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Growth \");\r\n $(\".revenueMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", app.AppDashboard.formatNumberSign(data.Performance.RevenueGrowth));\r\n $(\".revenueMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n app.AppDashboard.setIncompleteDataClasses(viewmodel, data);\r\n }\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.loadingDef;\r\n this.corporateId;\r\n this.isCorporateUser = false;\r\n this.isAdminUser = false;\r\n this.isManagerUser = false;\r\n this.viewOnlyPermissions = false;\r\n this.fullPermissions = false;\r\n\r\n this.applyFilter = function () { applyFilter(this) }\r\n this.deleteUser = function () { deleteUser(this) }\r\n this.viewInactiveUsers = function () { viewInactiveUsers(this) }\r\n this.addCorporateUser = function (e) { e.preventDefault(); addCorporateUser(this) }\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n viewmodel.loadingDef = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef);\r\n\r\n getCorporateByUserOrQueryParam().then(\r\n function (corporateId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/active\", \"Corporate - Active\");\r\n\r\n if (corporateId) {\r\n viewmodel.corporateId = corporateId;\r\n setLoggedInUserRole(viewmodel);\r\n bindCorporateUsers(viewmodel);\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameter missing. Unable to manage corporate users.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.loadingDef.reject();\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n }, function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameter missing. Unable to manage corporate users.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.loadingDef.reject();\r\n app.AppRouter.router.navigate(\"/\");\r\n });\r\n \r\n};\r\n\r\n// Function: getCorporateByUserOrQueryParam -------------------------------------------------------------------------\r\nfunction getCorporateByUserOrQueryParam() {\r\n\r\n var def = $.Deferred();\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Corporate\") {\r\n app.AppCorporate.getCorporateByUser().then(\r\n function (result) {\r\n def.resolve(result.CorporateId);\r\n },\r\n function (error) {\r\n def.reject(error);\r\n });\r\n } else {\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n def.resolve(corporateId);\r\n }\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setLoggedInUserRole --------------------------------------------------------------------\r\nfunction setLoggedInUserRole(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Corporate\") {\r\n viewmodel.set(\"isCorporateUser\", true);\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n\r\n } else if (role === \"Manager\") {\r\n viewmodel.set(\"isManagerUser\", true);\r\n\r\n } else if (role === \"Administrator\" || role === \"Super Admin\") {\r\n viewmodel.set(\"isAdminUser\", true);\r\n };\r\n};\r\n\r\n// Function: bindCorporateUsers --------------------------------------------------------------------\r\nfunction bindCorporateUsers(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var recordsPerPage;\r\n var recordsCount;\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getCorporateUsers(options.data.page, options.data.pageSize, options.data.filter, viewmodel).then(\r\n\r\n function (result) {\r\n setPermissions(viewmodel, result.Permissions);\r\n options.success(result.Users);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n recordsCount: ApiResult.TotalCount,\r\n data: ApiResult.Results.Users\r\n };\r\n\r\n return result;\r\n },\r\n total: function (result) {\r\n return result.recordsCount;\r\n }\r\n },\r\n serverPaging: true,\r\n pageSize: 5,\r\n serverFiltering: true,\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n// Function: getCorporateUsers ---------------------------------------------------------------------\r\nfunction getCorporateUsers(page, pageSize, searchFilter, viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n var filter = \"\"\r\n\r\n if (searchFilter) {\r\n filter = searchFilter.filters.value;\r\n }\r\n\r\n var id = viewmodel.get(\"corporateId\");\r\n app.AppCorporate.getActiveUsers(id, page, pageSize, filter).then(\r\n\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n if (data.Users.Results.CorporateName)\r\n {\r\n $(\"#clients-active-users\").text(data.Users.Results.CorporateName);\r\n //$(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#main-page-title\").text(data.Users.Results.CorporateName.toUpperCase());\r\n }\r\n\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getEnterprise -------------------------------------------------------------------------\r\nfunction setPermissions(viewmodel, permissions) {\r\n\r\n if (viewmodel.get(\"isAdminUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n }\r\n else if (viewmodel.get(\"isMentorUser\") || viewmodel.get(\"isCorporateUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n }\r\n else if (viewmodel.get(\"isManagerUser\")) {\r\n if (permissions.length > 0) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n\r\n } else {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n }\r\n }\r\n};\r\n\r\n// Function: bindToGrid -----------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function grid_dataBound(e) {\r\n\r\n $(\"#grid-corporate-active-users tbody tr .k-grid-DELETE\").each(function () {\r\n\r\n var currentDataItem = $(\"#grid-corporate-active-users\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n\r\n if (currentDataItem.Status === \"Active\")\r\n $(this).text(\"DEACTIVATE\");\r\n\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n\r\n });\r\n\r\n $(\"#grid-corporate-active-users tbody tr .k-grid-EDIT\").each(function () {\r\n\r\n var currentDataItem = $(\"#grid-corporate-active-users\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser();\r\n if (!viewmodel.get(\"fullPermissions\") && currentDataItem.Email !== loggedInUser.email)\r\n $(this).remove();\r\n\r\n });\r\n\r\n $(\"#grid-corporate-active-users tbody tr .k-grid-RESENDINVITE\").each(function () {\r\n\r\n var currentDataItem = $(\"#grid-corporate-active-users\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n\r\n if (currentDataItem.Status !== \"Pending\")\r\n $(this).remove();\r\n\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n });\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#grid-corporate-active-users\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n //height: 100,\r\n sortable: true,\r\n resizable: true,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true,\r\n buttonCount: 5\r\n },\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n /*scrollable: {\r\n virtual: true\r\n },*/\r\n columns: [{\r\n template: \"#: DisplayName #\",\r\n field: \"DisplayName\",\r\n title: \"Name\",\r\n width: 200\r\n }, {\r\n field: \"Email\",\r\n title: \"Email\",\r\n width: 200\r\n }, {\r\n field: \"RoleName\",\r\n title: \"Role\",\r\n width: 150\r\n }, {\r\n command: [{ text: \"RESEND INVITE\", click: resendInvite }, { text: \"EDIT\", click: editUser }, { text: \"DELETE\", click: deleteUser }],\r\n title: \" \",\r\n width: 280\r\n }]\r\n });\r\n\r\n var grid = $(\"#grid-corporate-active-users\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", grid_dataBound);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: applyFilter ----------------------------------------------------------------------------\r\nfunction applyFilter(viewmodel) {\r\n\r\n var filterValue = $(\"#filter\").val();\r\n\r\n var usersDataSource = $('#grid-corporate-active-users').data('kendoGrid').dataSource;\r\n\r\n usersDataSource.filter({\r\n filters: {\r\n value: filterValue\r\n }\r\n });\r\n};\r\n\r\n// Function: resendInvite ---------------------------------------------------------------------------\r\nfunction resendInvite(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n if (user.Id) {\r\n\r\n app.AppAuth.resendConfirmEmail(user.Id).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Success\",\r\n message: \"Invite successfully resend to \" + user.DisplayName + \" .\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n};\r\n\r\n// Function: editUser -------------------------------------------------------------------------------\r\nfunction editUser(e) {\r\n\r\n e.preventDefault();\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n if (user.Id) {\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser();\r\n if (user.Email === loggedInUser.email) {\r\n app.AppRouter.router.navigate(\"/profile\");\r\n\r\n } else {\r\n app.AppRouter.router.navigate(\"/corporate/user/edit?id=\" + user.Id);\r\n } \r\n };\r\n};\r\n\r\n// Function: deleteUserClick ------------------------------------------------------------------------\r\nfunction deleteUser(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n var viewmodel = $(\"#applyFilter\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n deleteConfirm(viewmodel, user).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (user.Id) {\r\n\r\n app.AppAuth.deleteUser(user.Id).then(\r\n\r\n function (data) {\r\n $('#grid-corporate-active-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Deactivated\",\r\n message: \"User successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n }\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(viwmodal, user) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"\";\r\n\r\n if (user.Status !== \"Active\") {\r\n body = \"Are you sure you want to delete \" +\r\n user.DisplayName +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"Please note that this user will be permanently deleted from the system.\";\r\n\r\n } else {\r\n body = \"Are you sure you want to deactivate \" +\r\n user.DisplayName +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"This user can be restored from the inactive section.\";\r\n }\r\n\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addCorporateUser ----------------------------------------------------------------------\r\nfunction addCorporateUser() {\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/corporate/user/add?id=\" + corporateId);\r\n};\r\n\r\n// Function: viewInactiveUsers ----------------------------------------------------------------------\r\nfunction viewInactiveUsers(viewmodel) {\r\n\r\n var contentHolder;\r\n if (viewmodel.get(\"isCorporateUser\") === true) {\r\n contentHolder = \"#primary-content\";\r\n } else {\r\n contentHolder = \"#corporate-dashboard-content\";\r\n }\r\n\r\n app.AppRender.showView(contentHolder, {\r\n html: \"./custom/corporate/dashboard/inactive-users\",\r\n viewmodel: \"./custom/corporate/dashboard/inactive-users\",\r\n code: \"./custom/corporate/dashboard/inactive-users\"\r\n });\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/fund\", \"Corporate - Fund\");\r\n bindActiveFunds(viewmodel);\r\n};\r\n\r\n\r\n// Function: bindActiveFunds ------------------------------------------------------------------------\r\nfunction bindActiveFunds(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getActiveFunds().then(\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n StartDate: { type: \"date\" },\r\n EndDate: { type: \"date\" },\r\n EnterpriseCount: { type: \"number\" },\r\n Phase: { type: \"string\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n var result = {\r\n data: []\r\n };\r\n\r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n Name: v.Name,\r\n StartDate: v.StartDate,\r\n EndDate: v.EndDate,\r\n EnterpriseCount: v.EnterpriseCount,\r\n FundId: v.FundId\r\n };\r\n if (v.Phase.Name) { pushData.Phase = v.Phase.Name; }\r\n\r\n result.data.push(pushData);\r\n });\r\n\r\n return result;\r\n }\r\n },\r\n pageable: true\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function alterDisplayedTable(e) {\r\n loadClickEvents();\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#active-fund-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n \r\n serverOperation: false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 220\r\n },\r\n {\r\n field: \"StartDate\",\r\n title: \"Start Date\",\r\n filterable: {\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: 200\r\n },\r\n {\r\n field: \"EndDate\",\r\n title: \"End Date\",\r\n filterable: {\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: 200\r\n }, {\r\n\r\n field: \"EnterpriseCount\",\r\n title: \"Enterprise Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: 180\r\n }, {\r\n field: \"Phase\",\r\n title: \"Phase\",\r\n width: 180\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }],\r\n //selectable: \"row\",\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n rowTemplate: kendo.template($(\"#active-fund-list-template\").html())\r\n });\r\n\r\n var grid = $(\"#active-fund-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: getActiveFunds -------------------------------------------------------------------------\r\nfunction getActiveFunds() {\r\n\r\n var def = $.Deferred();\r\n\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n app.AppFund.getFunds(1, 10000, \" \", \" \", \" \", \"active\", \" \", userRole).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".deleteFund\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"fundName\");\r\n var id = $(this).attr(\"fundId\");\r\n\r\n deleteFund(name, id);\r\n });\r\n\r\n $(\".showPerformance\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var fundId = $(this).parent().attr(\"fundId\");\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + fundId + \"&tab=overview\");\r\n });\r\n\r\n};\r\n\r\n// Function: deleteFund -----------------------------------------------------------------------------\r\nfunction deleteFund(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n deleteConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppFund.deleteFund(id).then(\r\n\r\n function (data) {\r\n $('#active-fund-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Deactivated\",\r\n message: \"Fund successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(fund) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to deactivate \" + fund + \"?\" + \"\\n\\n\" + \"This fund can be restored from the inactive section.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.isCorporateUser = false;\r\n this.loadingDef;\r\n this.corporateId;\r\n this.isMentorUser = false;\r\n this.isAdminUser = false;\r\n this.isManagerUser = false;\r\n this.viewOnlyPermissions = false;\r\n this.fullPermissions = false;\r\n this.applyFilter = function () { applyFilter(this) }\r\n this.deleteUser = function () { deleteUser(this) }\r\n this.viewActiveUsers = function () { viewActiveUsers(this) }\r\n this.addEnterpriseUser = function (e) { e.preventDefault(); addEnterpriseUser(this) }\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n viewmodel.loadingDef = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef);\r\n\r\n getCorporateByUserOrQueryParam().then(\r\n function (corporateId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/inactive\", \"Corporate - Inactive\");\r\n\r\n if (corporateId) {\r\n viewmodel.corporateId = corporateId;\r\n setLoggedInUserRole(viewmodel);\r\n bindCorporateUsers(viewmodel);\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameter missing. Unable to manage corporate users.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.loadingDef.reject();\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n }, function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameter missing. Unable to manage corporate users.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.loadingDef.reject();\r\n app.AppRouter.router.navigate(\"/\");\r\n });\r\n};\r\n\r\n// Function: getCorporateByUserOrQueryParam -------------------------------------------------------------------------\r\nfunction getCorporateByUserOrQueryParam() {\r\n\r\n var def = $.Deferred();\r\n\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Corporate\") {\r\n app.AppCorporate.getCorporateByUser().then(\r\n function (result) {\r\n def.resolve(result.CorporateId);\r\n },\r\n function (error) {\r\n def.reject(error);\r\n });\r\n } else {\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n def.resolve(corporateId);\r\n }\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setLoggedInUserRole --------------------------------------------------------------------\r\nfunction setLoggedInUserRole(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n viewmodel.set(\"isMentor\", true);\r\n\r\n } else if (role === \"Corporate\") {\r\n viewmodel.set(\"isCorporateUser\", true);\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n\r\n } else if (role === \"Manager\") {\r\n viewmodel.set(\"isManagerUser\", true);\r\n\r\n } else if (role === \"Administrator\" || role === \"Super Admin\") {\r\n viewmodel.set(\"isAdminUser\", true);\r\n };\r\n};\r\n\r\n// Function: bindCorporateUsers ------------------------------------------------------------------------\r\nfunction bindCorporateUsers(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var recordsPerPage;\r\n var recordsCount;\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getCorporateUsers(options.data.page, options.data.pageSize, options.data.filter, viewmodel).then(\r\n\r\n function (result) {\r\n setPermissions(viewmodel, result.Permissions);\r\n options.success(result.Users);\r\n viewmodel.loadingDef.resolve();\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n viewmodel.loadingDef.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n recordsCount: ApiResult.TotalCount,\r\n data: ApiResult.Results.Users\r\n };\r\n\r\n return result;\r\n },\r\n total: function (result) {\r\n return result.recordsCount;\r\n }\r\n },\r\n serverPaging: true,\r\n pageSize: 10,\r\n serverFiltering: true,\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n}\r\n\r\n// Function: getCorporateUsers -------------------------------------------------------------------------\r\nfunction getCorporateUsers(page, pageSize, searchFilter, viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n var filter = \"\"\r\n\r\n if (searchFilter) {\r\n filter = searchFilter.filters.value;\r\n }\r\n\r\n var id = viewmodel.get(\"corporateId\");\r\n app.AppCorporate.getInactiveUsers(id, page, pageSize, filter).then(\r\n\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n if (data.Users.Results.CorporateName) {\r\n $(\"#clients-inactive-users\").text(data.Users.Results.CorporateName);\r\n //$(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#main-page-title\").text(data.Users.Results.CorporateName.toUpperCase());\r\n }\r\n\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getEnterprise -------------------------------------------------------------------------\r\nfunction setPermissions(viewmodel, permissions) {\r\n\r\n if (viewmodel.get(\"isAdminUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n }\r\n else if (viewmodel.get(\"isMentorUser\") || viewmodel.get(\"isCorporateUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n }\r\n else if (viewmodel.get(\"isManagerUser\")) {\r\n if (permissions.length > 0) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n\r\n } else {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n }\r\n }\r\n};\r\n\r\n// Function: bindToGrid -----------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function grid_dataBound(e) {\r\n\r\n $(\"#grid-corporate-inactive-users tbody tr .k-grid-RESTORE\").each(function () {\r\n\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n });\r\n\r\n $(\"#grid-corporate-inactive-users tbody tr .k-grid-DELETE\").each(function () {\r\n\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n });\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#grid-corporate-inactive-users\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n //height: 100,\r\n sortable: true,\r\n resizable: true,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true,\r\n buttonCount: 5\r\n },\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n /*scrollable: {\r\n virtual: true\r\n },*/\r\n columns: [{\r\n template: \"#: DisplayName #\",\r\n field: \"DisplayName\",\r\n title: \"Name\",\r\n width: 200\r\n }, {\r\n field: \"Email\",\r\n title: \"Email\",\r\n width: 200\r\n }, {\r\n field: \"RoleName\",\r\n title: \"Role\",\r\n width: 150\r\n }, {\r\n command: [{ text: \"RESTORE\", click: restoreUser }, { text: \"DELETE\", click: deleteUser }],\r\n title: \" \",\r\n width: 280\r\n }]\r\n });\r\n\r\n var grid = $(\"#grid-corporate-inactive-users\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", grid_dataBound);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: restoreUser ----------------------------------------------------------------------------\r\nfunction restoreUser(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n var viewmodel = $(\"#applyFilter\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n restoreConfirm(viewmodel, user).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n if (user.Id) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppAuth.restoreUser(user.Id).then(\r\n\r\n function (data) {\r\n $('#grid-corporate-inactive-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Restored\",\r\n message: \"User successfully restored.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n }\r\n });\r\n\r\n};\r\n\r\n// Function: restoreConfirm -------------------------------------------------------------------------\r\nfunction restoreConfirm(viwmodal, user) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"restoreConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to restore \" + user.DisplayName + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteUserClick ------------------------------------------------------------------------\r\nfunction deleteUser(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n var viewmodel = $(\"#applyFilter\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n deleteConfirm(viewmodel, user).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (user.Id) {\r\n\r\n app.AppAuth.deleteUser(user.Id).then(\r\n\r\n function (data) {\r\n $('#grid-corporate-inactive-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Deleted\",\r\n message: \"User successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n }\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(viwmodal, user) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"\";\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to delete \" + user.DisplayName + \"?\" + \"\\n\\n\" + \"Please note that this user will be permanently deleted from the system.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: applyFilter ----------------------------------------------------------------------------\r\nfunction applyFilter(viewmodel) {\r\n\r\n var filterValue = $(\"#filter\").val();\r\n\r\n var usersDataSource = $('#grid-corporate-inactive-users').data('kendoGrid').dataSource;\r\n\r\n usersDataSource.filter({\r\n filters: {\r\n value: filterValue\r\n }\r\n });\r\n};\r\n\r\n// Function: viewActiveUsers ----------------------------------------------------------------------\r\nfunction viewActiveUsers(viewmodel) {\r\n\r\n var contentHolder;\r\n if (viewmodel.get(\"isCorporateUser\") === true) {\r\n contentHolder = \"#primary-content\";\r\n } else {\r\n contentHolder = \"#corporate-dashboard-content\";\r\n }\r\n\r\n app.AppRender.showView(contentHolder, {\r\n html: \"./custom/corporate/dashboard/active-users\",\r\n viewmodel: \"./custom/corporate/dashboard/active-users\",\r\n code: \"./custom/corporate/dashboard/active-users\"\r\n });\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/corporate/corporate\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.isCorporateUser = false; \r\n this.isAdminUser = false;\r\n this.isManagerUser = false;\r\n this.viewOnlyPermissions = false;\r\n this.fullPermissions = false;\r\n this.isAddressVisible = false;\r\n this.data = new model();\r\n\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n this.startup = function () { startup(this); };\r\n this.deleteCorporate = function () { deleteCorporate(this); };\r\n this.addManager = function () { addManager(this); };\r\n this.corporateMailtoLink = function () { return \"mailto:\" + this.data.get(\"email\"); }\r\n this.editCorporateLink = function () { return \"#/corporate/edit?id=\" + this.data.get(\"Id\"); }\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n setLoggedInUserRole(viewmodel);\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var corporateId = \"\";\r\n\r\n if (app.AppRouter.getCurrentRoute().params.id) {\r\n corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n };\r\n\r\n getCorporate(viewmodel, corporateId).then(\r\n\r\n function (data) {\r\n if (data.Corporate.Status === \"Active\") {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/dashboard/overview\", \"Corporate - Overview\");\r\n setCorporate(viewmodel, data);\r\n def.resolve();\r\n\r\n }\r\n else if (data.Corporate.Status === \"InActive\") {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"The Corporate has been made Inactive, please view the 'InActive' tab to find your Corporate.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n app.AppRouter.router.navigate(\"/corporates\");\r\n }\r\n else {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Corporate \" + data.Name + \" is not active in the system. Please restore from inactive and try again.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n app.AppRouter.router.navigate(\"/corporates\");\r\n }\r\n\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n //app.AppRouter.router.navigate(\"/enterprises\");\r\n });\r\n};\r\n\r\n// Function: setLoggedInUserRole --------------------------------------------------------------------\r\nfunction setLoggedInUserRole(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Corporate\") {\r\n viewmodel.set(\"isCorporateUser\", true);\r\n\r\n } else if (role === \"Manager\") {\r\n viewmodel.set(\"isManagerUser\", true);\r\n\r\n } else if (role === \"Administrator\" || role === \"Super Admin\") {\r\n viewmodel.set(\"isAdminUser\", true);\r\n };\r\n};\r\n\r\n// Function: getCorporate -------------------------------------------------------------------------\r\nfunction getCorporate(viewmodel, corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppCorporate.getById(corporateId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setCorporate --------------------------------------------------------------------------\r\nfunction setCorporate(viewmodel, result) {\r\n\r\n var corporate = result.Corporate; \r\n var subscriptions = result.CorporateSubscriptions;\r\n\r\n //a bit hacky but gets the work done.\r\n $(\"#main-page-title\").text(corporate.Name.toUpperCase());\r\n\r\n\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Corporate\") {\r\n viewmodel.set(\"isCorporateUser\", true);\r\n $(\".breadcrumbs\").remove();\r\n }\r\n viewmodel.set(\"corporateData\", corporate);\r\n viewmodel.data.set(\"Id\", corporate.CorporateId);\r\n viewmodel.data.set(\"name\", corporate.Name);\r\n\r\n viewmodel.data.set(\"logo\", corporate.Logo);\r\n viewmodel.set(\"corporateDate\", corporate);\r\n viewmodel.data.set(\"officephone\", corporate.Telephone);\r\n viewmodel.data.set(\"email\", corporate.Email);\r\n viewmodel.data.set(\"websiteUrl\", corporate.WebsiteUrl);\r\n\r\n viewmodel.data.set(\"complexBuilding\", corporate.Address.ComplexBuilding);\r\n viewmodel.data.set(\"street\", corporate.Address.Street);\r\n viewmodel.data.set(\"suburb\", corporate.Address.Suburb);\r\n viewmodel.data.set(\"postalCode\", corporate.Address.PostalCode);\r\n viewmodel.set(\"corporateManagers\", result.CorporateManagers);\r\n\r\n if (corporate.Address.Province) {\r\n viewmodel.data.set(\"provinceName\", corporate.Address.Province.Name);\r\n } else {\r\n viewmodel.data.set(\"provinceName\", \"\");\r\n }\r\n\r\n if (corporate.Address.ComplexBuilding || corporate.Address.Street || corporate.Address.Suburb || corporate.Address.Province || corporate.Address.PostalCode) {\r\n viewmodel.set(\"isAddressVisible\", true);\r\n }\r\n viewmodel.data.set(\"subscriptionStatus\", subscriptions.SubscriptionStatus);\r\n viewmodel.data.set(\"subscriptionStartDate\", subscriptions.SubscriptionStartDate);\r\n viewmodel.data.set(\"subscriptionEndDate\", subscriptions.SubscriptionEndDate);\r\n\r\n createCorporateManagerList(viewmodel);\r\n setPermissions(viewmodel, result.Permissions);\r\n};\r\n\r\n// Function: getEnterprise -------------------------------------------------------------------------\r\nfunction setPermissions(viewmodel, permissions) {\r\n\r\n if (viewmodel.get(\"isAdminUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n } \r\n else if (viewmodel.get(\"isManagerUser\")) {\r\n if (permissions.length > 0) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n\r\n } else {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n }\r\n }\r\n\r\n //if (!viewmodel.get(\"fullPermissions\")) {\r\n // $(\".footer-actions-bar\").remove();\r\n //}\r\n};\r\n\r\n// Function: deleteCorporate -----------------------------------------------------------------------\r\nfunction deleteCorporate(viewmodel) {\r\n\r\n if (!viewmodel.get(\"isCorporateUser\")) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var corporate = viewmodel.get(\"data\");\r\n\r\n deleteConfirm(corporate.name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppCorporate.deleteCorporate(corporate.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n var success = {\r\n title: \"Deactivated\",\r\n message: \"Corporate successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n app.AppRouter.router.navigate(\"/corporates\");\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n else {\r\n var invalid = {\r\n title: \"Warning!\",\r\n message: \"You are not authorized to deactivate this corporate.\"\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n }\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(corporate) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to deactivate \" + corporate + \"?\" + \"\\n\\n\" + \"This corporate can be restored from the inactive section.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: createPMListView -----------------------------------------------------------------------\r\nfunction createCorporateManagerList(viewmodel) {\r\n\r\n var template = kendo.template($(\"#corporate-manager-template\").html());\r\n var data = viewmodel.get(\"corporateManagers\");\r\n var result = kendo.render(template, data);\r\n $(\"#corporate-manager-container\").html(result);\r\n\r\n if (viewmodel.get(\"isAdminUser\")) {\r\n loadCorporateManagerClickEvents(viewmodel);\r\n } else {\r\n $(\"div.metric\").css(\"cursor\", \"default\");\r\n $(\"#add-corporate-manager\").remove();\r\n $(\".metric-menu\").remove();\r\n }\r\n\r\n};\r\n\r\n// Function: loadPMClickEvents ----------------------------------------------------------------------\r\nfunction loadCorporateManagerClickEvents(viewmodel) {\r\n\r\n $(\".remove\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var manager = {\r\n Name: $(this).attr(\"PMName\"),\r\n Id: $(this).attr(\"PMId\")\r\n };\r\n\r\n removeCorporateManager(manager, viewmodel);\r\n });\r\n\r\n $(\".makeLead\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var PM = {\r\n Name: $(this).attr(\"PMName\"),\r\n Id: $(this).attr(\"PMId\")\r\n };\r\n\r\n makeLeadCorporateManager(PM, viewmodel);\r\n });\r\n\r\n};\r\n\r\n\r\n// Function: addManager -----------------------------------------------------------------------------\r\nfunction addManager(viewmodel) {\r\n\r\n getAssignManagerList(viewmodel).then(\r\n\r\n function (managerList) {\r\n\r\n if (managerList && managerList.length > 0)\r\n AddManagersToCorporate(viewmodel, managerList);\r\n });\r\n};\r\n\r\n// Function: getAssignManagerList -------------------------------------------------------------------\r\nfunction getAssignManagerList(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var showIn = \"assign-corporate-managers-modal-container\";\r\n\r\n var entityId = app.AppRouter.getCurrentRoute().params.id;\r\n var entity = \"corporate\";\r\n\r\n app.AppDialog.showAssignCorporateManagers(showIn, entity, entityId).then(\r\n\r\n function (result) {\r\n def.resolve(result);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction AddManagersToCorporate(viewmodel, managerList) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n var promises = [];\r\n var addPromise;\r\n\r\n var managerIds = [];\r\n\r\n managerList.forEach(function (managerId, index) {\r\n\r\n managerIds.push(managerId);\r\n });\r\n\r\n var addRemoveCorporateManager = {\r\n corporateId: corporateId,\r\n edgeUserIds: managerIds\r\n }\r\n\r\n app.AppCorporate.AddCorporateManager(addRemoveCorporateManager).then(\r\n\r\n function () {\r\n def.resolve();\r\n startup(viewmodel);\r\n var success = {\r\n title: \"Success\",\r\n message: \"Managers successfully assigned.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n \r\n },\r\n function () {\r\n\r\n var errorData = {\r\n title: \"Sorry!\",\r\n message: \"An error has occurred while assigning managers. Please try again, and if the problem persists, please contact support.\"\r\n };\r\n\r\n app.AppNotify.showError(errorData);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: removeManager --------------------------------------------------------------------------\r\nfunction removeCorporateManager(manager, viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n removeCorporateManagerConfirm(manager.Name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppCorporate.removeManager(corporateId, manager.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n startup(viewmodel)\r\n var success = {\r\n title: \"Success\",\r\n message: manager.Name + \" successfully removed.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: removeManagerConfirm -------------------------------------------------------------------\r\nfunction removeCorporateManagerConfirm(manager) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to remove \" + manager + \" from corporate?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: makeLeadManager ------------------------------------------------------------------------\r\nfunction makeLeadCorporateManager(manager, viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n makeLeadCorporateManagerConfirm(manager.Name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppCorporate.makeLeadCorporateManager(corporateId, manager.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n startup(viewmodel)\r\n var success = {\r\n title: \"Success\",\r\n message: manager.Name + \" successfully made lead.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: makeLeadManagerConfirm -----------------------------------------------------------------\r\nfunction makeLeadCorporateManagerConfirm(manager) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to make \" + manager + \" the lead manager?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.phases = [];\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/programme\", \"Corporate - Programme\");\r\n bindActiveProgrammes(viewmodel);\r\n};\r\n\r\n\r\n// Function: bindActiveProgrammes ------------------------------------------------------------------\r\nfunction bindActiveProgrammes(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getActiveProgrammes().then(\r\n\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n StartDate: { type: \"date\" },\r\n EndDate: { type: \"date\" },\r\n EnterpriseCount: { type: \"number\" },\r\n Phase: { type: \"string\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n var result = {\r\n data: []\r\n };\r\n\r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n Name: v.Name,\r\n StartDate: v.StartDate,\r\n EndDate: v.EndDate,\r\n EnterpriseCount: v.EnterpriseCount,\r\n FundId: v.FundId,\r\n ProgrammeId: v.ProgrammeId\r\n };\r\n if (v.Phase.Name) { pushData.Phase = v.Phase.Name; }\r\n\r\n result.data.push(pushData);\r\n });\r\n\r\n return result;\r\n }\r\n },\r\n pageable: true\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function alterDisplayedTable(e) {\r\n loadClickEvents();\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#active-programme-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n \r\n serverOperation: false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 220\r\n },\r\n {\r\n field: \"StartDate\",\r\n title: \"Start Date\",\r\n filterable:{\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: 200\r\n },\r\n {\r\n field: \"EndDate\",\r\n title: \"End Date\",\r\n filterable: {\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: 200\r\n }, {\r\n \r\n field: \"EnterpriseCount\",\r\n title: \"Enterprise Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: 180\r\n }, {\r\n field: \"Phase\",\r\n title: \"Phase\",\r\n width: 180\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }],\r\n //selectable: \"row\",\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n rowTemplate: kendo.template($(\"#active-programme-list-template\").html())\r\n });\r\n\r\n\r\n var grid = $(\"#active-programme-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n\r\n// Function: getActiveProgrammes -------------------------------------------------------------------\r\nfunction getActiveProgrammes() {\r\n\r\n var def = $.Deferred();\r\n\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n app.AppProgramme.getProgrammes(1, 10000, \" \", \" \", \" \", \"active\", \" \", userRole).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".deleteProgramme\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"programmeName\");\r\n var id = $(this).attr(\"programmeId\");\r\n\r\n deleteProgramme(name, id);\r\n });\r\n\r\n $(\".showPerformance\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var programmeId = $(this).parent().attr(\"programmeId\");\r\n app.AppRouter.router.navigate(\"/programme/dashboard?id=\" + programmeId + \"&tab=performance\");\r\n });\r\n\r\n};\r\n\r\n// Function: deleteProgramme -----------------------------------------------------------------------\r\nfunction deleteProgramme(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n deleteConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppProgramme.deleteProgramme(id).then(\r\n\r\n function (data) {\r\n $('#active-programme-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Deactivated\",\r\n message: \"Programme successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(programme) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to deactivate \" + programme + \"?\" + \"\\n\\n\" + \"This programme can be restored from the inactive section.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n//Function: applySearch -----------------------------------------------------------------------------\r\nfunction applySearch(viewmodel) {\r\n\r\n var search = $(\"#search\").val();\r\n\r\n var dataSource = $('#active-programme-list-container').data('kendoGrid').dataSource;\r\n\r\n dataSource.filter({\r\n filters: {\r\n search: search,\r\n startDate: \"\",\r\n endDate: \"\",\r\n phase: \"\"\r\n }\r\n });\r\n};\r\n\r\n//Function: applyFilter ----------------------------------------------------------------------------\r\nfunction applyFilter(viewmodel) {\r\n\r\n var startDate = $(\"#programme-startDate\").val();\r\n var endDate = $(\"#programme-endDate\").val();\r\n var phase = $(\"#programme-phaseslist\").val();\r\n\r\n var dataSource = $('#active-programme-list-container').data('kendoGrid').dataSource;\r\n\r\n dataSource.filter({\r\n filters: {\r\n search: \"\",\r\n startDate: startDate,\r\n endDate: endDate,\r\n phase: phase\r\n }\r\n });\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/enterprise\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.validator;\r\n this.save = function () { save(this); }; \r\n this.removePhoto = function () { removePhoto(this); };\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n this.provinceList = app.AppDataLists.getProvincesLocal();\r\n this.startup = function () { startup(this); };\r\n this.corporateBrandingPreview = function () { corporateBrandingPreview(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (corporateId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/edit\", \"Corporate - Edit\");\r\n\r\n getCorporate(viewmodel, corporateId).then(\r\n\r\n function (data) {\r\n setCorporate(viewmodel, data);\r\n app.AppCorporateAddEditShared.displayCorporateBrandingToggle();\r\n app.AppCorporateAddEditShared.colorPicker(viewmodel);\r\n doFormValidation(viewmodel);\r\n $('#preview').attr('disabled', true);\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/corporates\");\r\n });\r\n\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to edit corporate details.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/corporates\");\r\n }\r\n localStorage.removeItem(\"previewLogo\");\r\n\r\n}\r\n\r\n// Function: corporateBrandingPreview -------------------------------------------------------------------------\r\n function corporateBrandingPreview(viewmodel) {\r\n\r\n var primaryColour = viewmodel.data.get(\"primaryColour\").substring(1);\r\n var secondaryColour = viewmodel.data.get(\"secondaryColour\").substring(1);\r\n var corporateId = viewmodel.data.get(\"Id\");\r\n\r\n window.open(\"/#/dashboard?colour1=\" + primaryColour + \"&colour2=\" + secondaryColour + \"&id=\" + corporateId);\r\n }\r\n\r\n\r\n// Function: getCorporate -------------------------------------------------------------------------\r\nfunction getCorporate(viewmodel, corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppCorporate.getById(corporateId).then(\r\n\r\n function (data) {\r\n def.resolve(data.Corporate);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: setCorporate --------------------------------------------------------------------------\r\nfunction setCorporate(viewmodel, corporate) {\r\n\r\n //a bit hacky but gets the work done.\r\n $(\"#main-page-title\").text(corporate.Name.toUpperCase());\r\n\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Corporate\") {\r\n $(\".breadcrumbs\").remove();\r\n }\r\n \r\n\r\n\r\n viewmodel.data.set(\"Id\", corporate.CorporateId);\r\n viewmodel.data.set(\"name\", corporate.Name);\r\n\r\n viewmodel.data.set(\"logo\", corporate.Logo);\r\n viewmodel.data.set(\"telephone\", corporate.Telephone);\r\n viewmodel.data.set(\"email\", corporate.Email);\r\n viewmodel.data.set(\"websiteUrl\", corporate.WebsiteUrl);\r\n \r\n\r\n viewmodel.data.set(\"complexBuilding\", corporate.Address.ComplexBuilding);\r\n viewmodel.data.set(\"street\", corporate.Address.Street);\r\n viewmodel.data.set(\"suburb\", corporate.Address.Suburb);\r\n viewmodel.data.set(\"provinceId\", corporate.Address.ProvinceId);\r\n viewmodel.data.set(\"postalCode\", corporate.Address.PostalCode);\r\n viewmodel.data.set(\"corporateSubscriptions\", corporate.CorporateSubscriptions)\r\n\r\n app.AppCorporate.createCorporateSubscriptionDataSourceAndGrid('subscriptionhistory-grid', viewmodel);\r\n\r\n if (corporate.BrandingId != null) {\r\n viewmodel.data.set(\"primaryColour\", corporate.Branding.PrimaryColour);\r\n viewmodel.data.set(\"secondaryColour\", corporate.Branding.SecondaryColour);\r\n viewmodel.data.set(\"brandingId\", corporate.BrandingId);\r\n }\r\n\r\n}\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#corporateName\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n //viewmodel.data.set(\"logo\", reader.result);\r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n };\r\n}\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 474,\r\n height: 264,\r\n type: 'square'\r\n },\r\n boundary: {\r\n width: 500,\r\n height: 400\r\n }\r\n });\r\n\r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n\r\n $(\".uploadClick\").on(\"click\",\r\n function() {\r\n uploadImage.croppie('result',{type: 'base64',size: 'viewport',quality: 0.8}).then(function(base64) {\r\n viewmodel.data.set(\"logo\", base64);\r\n localStorage.setItem(\"previewLogo\", base64);\r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n });\r\n\r\n $('#croppie-modal').on('hidden.bs.modal',\r\n function() {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n });\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n}\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"logo\", \"\");\r\n localStorage.removeItem(\"previewLogo\");\r\n}\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#edit-corporate-form\").kendoValidator(\r\n {\r\n rules: {\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\") {\r\n if (input.val() !== \"\") {\r\n return input.val().length > 9;\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n url: \"Your input is not a valid URL\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\") {\r\n return \"Telephone is not valid\";\r\n } \r\n else {\r\n return \"Your input is not valid\";\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n //return validator.validate();\r\n}\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n app.AppCorporateAddEditShared.getDisplayCorporateBrandingToggleValue(viewmodel);\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var updateData = getCoporateObject(viewmodel);\r\n app.AppCorporate.update(updateData).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Corporate successfully updated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n app.AppRouter.router.navigate(\"/corporate/dashboard?id=\" + updateData.CorporateId);\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n //app.AppRouter.router.navigate(\"/\");\r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n }\r\n}\r\n\r\n// Function: getCoporateObject --------------------------------------------------------------------\r\nfunction getCoporateObject(viewmodel) {\r\n\r\n var strImage = \"\";\r\n\r\n if (viewmodel.data.get(\"logo\")) {\r\n var strToReplace = viewmodel.data.get(\"logo\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n }\r\n\r\n\r\n return {\r\n\r\n CorporateId: viewmodel.data.get(\"Id\"),\r\n Name: viewmodel.data.get(\"name\"),\r\n\r\n Telephone: viewmodel.data.get(\"telephone\"),\r\n Email: viewmodel.data.get(\"email\"),\r\n WebsiteUrl: viewmodel.data.get(\"websiteUrl\"),\r\n\r\n Logo: strImage,\r\n\r\n ComplexBuilding: viewmodel.data.get(\"complexBuilding\"),\r\n Street: viewmodel.data.get(\"street\"),\r\n Suburb: viewmodel.data.get(\"suburb\"),\r\n ProvinceId: viewmodel.data.get(\"provinceId\"),\r\n PostalCode: viewmodel.data.get(\"postalCode\"),\r\n PrimaryColour: viewmodel.data.get(\"primaryColour\"),\r\n SecondaryColour: viewmodel.data.get(\"secondaryColour\"),\r\n CorporateSubscriptions: app.AppCorporate.buildSubscriptionHistoriesObjectToPostFromDataSource(\"subscriptionhistory-grid\")\r\n };\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require('app');\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.argsParams = argsParams;\r\n this.isCorporate = false;\r\n this.assignEnterprise = function () {\r\n assignEnterprises(this);\r\n };\r\n this.startup = function () {\r\n startup(this);\r\n };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage('PageView', '/corporates/enterprise', 'Corporate - Enterprise');\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === 'Corporate') {\r\n viewmodel.set('isCorporate', true);\r\n }\r\n\r\n bindActiveEnterprises(viewmodel);\r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n app.AppHelper.setTourCache(data);\r\n console.log('retrieved all lists from api');\r\n\r\n app.AppHelper.startHelper(viewmodel, 'EnterpriseReportList', false);\r\n },\r\n function () {\r\n console.log('retrieving all lists failed');\r\n }\r\n );\r\n}\r\n\r\n// Function: bindActiveEnterprises ------------------------------------------------------------------\r\nfunction bindActiveEnterprises(viewmodel) {\r\n var def = new $.Deferred();\r\n app.AppLoading.show('Loading...', def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getActiveEnterprises(viewmodel, options).then(\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: 'Sorry!',\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n }\r\n );\r\n }\r\n },\r\n serverPaging: true,\r\n serverSorting: true,\r\n serverFiltering: true,\r\n pageSize: 20,\r\n schema: {\r\n data: 'data',\r\n total: 'totalCount', //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: 'string' },\r\n Industry: { type: 'string' },\r\n Province: { type: 'string' },\r\n HeadCount: { type: 'number' },\r\n BbeeLevelId: { type: 'number' },\r\n BlackWomanOwned: { type: 'number' },\r\n BlackOwnership: { type: 'number' },\r\n Permission: { type: 'boolean' },\r\n HideEnterpriseFinancialsForCorporates: { type: 'boolean' },\r\n Maturity: { type: \"number\" },\r\n EnterpriseProducts: { type: \"string\" },\r\n Funds: { type: \"string\" },\r\n Programmes: { type: \"string\" },\r\n WebsiteUrl: { type: \"string\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n var result = {\r\n data: [],\r\n totalCount: ApiResult.TotalCount\r\n };\r\n\r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n EnterpriseId: v.EnterpriseId,\r\n Name: v.Name,\r\n Logo: v.Logo,\r\n HeadCount: Math.round(v.HeadCount),\r\n EnterpriseProducts: v.EnterpriseProducts,\r\n Funds: v.Funds,\r\n Programmes: v.Programmes,\r\n WebsiteUrl: v.WebsiteUrl,\r\n Permission: v.Permissions.some(function (item) {\r\n return true;\r\n }),\r\n HideEnterpriseFinancialsForCorporates: v.HideEnterpriseFinancialsForCorporates\r\n };\r\n if (v.Industry && v.Industry.Name) {\r\n pushData.Industry = v.Industry.Name;\r\n }\r\n if (v.Address.Province) {\r\n pushData.Province = v.Address.Province.Name;\r\n }\r\n if (v.Bbee && v.Bbee.BbeeLevelId) {\r\n pushData.BbeeLevelId = v.Bbee.BbeeLevelId;\r\n pushData.BlackWomanOwned = v.Bbee.BlackWomanOwned;\r\n pushData.BlackOwnership = v.Bbee.BlackOwnership;\r\n }\r\n if (v.Maturity) { pushData.Maturity = v.Maturity; }\r\n if (v.EnterpriseProducts) {\r\n\r\n var currentEnterpriseProductList = v.EnterpriseProducts;\r\n pushData.EnterpriseProducts = [];\r\n\r\n currentEnterpriseProductList.forEach(function (enterpriseProduct) {\r\n\r\n pushData.EnterpriseProducts.push(enterpriseProduct.Product.Name);\r\n\r\n });\r\n\r\n pushData.EnterpriseProducts = pushData.EnterpriseProducts;\r\n }\r\n\r\n result.data.push(pushData);\r\n });\r\n\r\n return result;\r\n }\r\n }\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n}\r\n\r\n// Function: createListView -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n function alterDisplayedTable(e) {\r\n if (viewmodel.get('isCorporate')) {\r\n $('#active-enterprise-list-container .enterprise-list-tr').each(function () {\r\n $(this).find('div.list-dropdown').find('ul').find('li.divider').remove();\r\n $(this).find('div.list-dropdown').find('ul').find('li.notMentorAccess').remove();\r\n $(this).find('tr').find('th').find('li.notMentorAccess').remove();\r\n });\r\n }\r\n\r\n loadClickEvents();\r\n }\r\n\r\n function onDataBound(e) {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n var columns = e.sender.columns;\r\n\r\n if (columns !== null) {\r\n for (var i = 0; i < columns.length; ++i) {\r\n var columnIndex = this.wrapper.find('.k-grid-header [data-field=' + columns[i].field + ']').index();\r\n var rows = e.sender.tbody.children();\r\n for (var j = 0; j < rows.length; j++) {\r\n var row = $(rows[j]);\r\n var cell = row.children().eq(columnIndex);\r\n if (columns[i].hidden) {\r\n cell.hide();\r\n } else {\r\n cell.show();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n $('#active-enterprise-list-container').kendoGrid({\r\n change: function (e) {\r\n setTimeout(function () {\r\n showHideColumnChange(viewmodel);\r\n }, 1000);\r\n },\r\n transport: {\r\n read: function (options) {\r\n options.success(enterpriseData);\r\n def.resolve();\r\n }\r\n },\r\n autoBind: false,\r\n dataBound: onDataBound, \r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n filterable: { mode: 'row' },\r\n serverOperation: true,\r\n resizable: true,\r\n reorderable: true,\r\n columnMenu: true,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: [10, 20, 50, 100]\r\n },\r\n columns: [\r\n {\r\n field: 'Name',\r\n filterable: {\r\n cell: {\r\n operator: 'contains',\r\n showOperators: false,\r\n suggestionOperator: \"contains\"\r\n }\r\n },\r\n locked: false,\r\n width: 304\r\n },\r\n {\r\n field: 'Industry',\r\n filterable: {\r\n cell: {\r\n operator: 'contains',\r\n showOperators: false\r\n }\r\n },\r\n width: 300\r\n },\r\n {\r\n field: 'Province',\r\n title: 'Province',\r\n filterable: {\r\n cell: {\r\n operator: 'contains',\r\n showOperators: false\r\n }\r\n },\r\n width: 200\r\n },\r\n {\r\n field: 'HeadCount',\r\n filterable: {\r\n cell: { operator: 'gte' }\r\n },\r\n width: 200\r\n },\r\n {\r\n field: 'BbeeLevelId',\r\n title: 'BBEE Level',\r\n filterable: {\r\n cell: { operator: 'gte' }\r\n },\r\n width: 200\r\n },\r\n {\r\n field: \"WebsiteUrl\",\r\n title: \"Website\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 200\r\n },\r\n {\r\n field: 'BlackWomanOwned',\r\n title: 'Black Woman Ownership',\r\n width: 250,\r\n filterable: {\r\n cell: { operator: 'gte' }\r\n }\r\n },\r\n {\r\n field: 'BlackOwnership',\r\n title: 'Black Ownership',\r\n width: 300,\r\n filterable: {\r\n cell: { operator: 'gte' }\r\n }\r\n },\r\n {\r\n field: \"Maturity\",\r\n title: \"Maturity Index\",\r\n width: 200\r\n },\r\n {\r\n field: \"EnterpriseProducts\",\r\n title: \"Products/Services\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n hidden: true,\r\n width: 300\r\n },\r\n {\r\n field: \"Funds\",\r\n title: \"Funds\",\r\n filterable: {\r\n multi: true,\r\n search: true,\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 300\r\n },\r\n {\r\n field: \"Programmes\",\r\n title: \"Programmes\",\r\n filterable: {\r\n multi: true,\r\n search: true,\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 300\r\n },\r\n\r\n {\r\n title: 'Actions',\r\n width: 100\r\n }\r\n ],\r\n noRecords: {\r\n template: '
No records are available.

'\r\n },\r\n rowTemplate: kendo.template($('#active-enterprise-list-template').html())\r\n });\r\n var grid = $('#active-enterprise-list-container').data('kendoGrid');\r\n grid.bind('dataBound', alterDisplayedTable);\r\n\r\n\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(20);\r\n });\r\n\r\n app.AppGrids.setupGridFilterDropdownListInputClickToShowAllItems();\r\n\r\n //grid.thead.find(\".k-header-column-menu\").not(\":first\").remove();\r\n addFilterIcons();\r\n\r\n setTimeout(function () {\r\n grid.hideColumn('Province');\r\n grid.hideColumn('BlackWomanOwned');\r\n grid.hideColumn('BlackOwnership');\r\n });\r\n}\r\n\r\nfunction addFilterIcons() {\r\n $(\".k-filtercell\").each(function () {\r\n var cell = $(this);\r\n var numericBox = cell.find(\".k-numerictextbox\");\r\n if (numericBox.length === 0) {\r\n var input = cell.find(\"input\");\r\n if (input.length > 0) {\r\n var icon = $('');\r\n cell.append(icon);\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction showHideColumn(viewmodel, columnName, shouldShow) {\r\n var grid = $('#grid-active-users').data('kendoGrid');\r\n showHideColumn(viewmodel, \"Maturity\", false);\r\n showHideColumn(viewmodel, \"Funds\", false);\r\n showHideColumn(viewmodel, \"Programmes\", false);\r\n if (shouldShow) {\r\n grid.showColumn(columnName);\r\n } else {\r\n grid.hideColumn(columnName);\r\n }\r\n}\r\n\r\nfunction showHideColumnChange(viewmodel) {\r\n var columns = $('#grid-active-users').getKendoGrid().columns;\r\n if (columns !== null) {\r\n for (var i = 0; i < columns.length; ++i) {\r\n if (columns[i].hidden) {\r\n showHideColumn(viewmodel, columns[i].field, false);\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Function: getActiveEnterprises -------------------------------------------------------------------\r\nfunction getActiveEnterprises(viewmodel, options) {\r\n var def = $.Deferred();\r\n\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n console.log(options.data);\r\n console.log(options.data.filter); \r\n\r\n\r\n // Safely extract filter value and field\r\n let filterValue = \"\";\r\n let filterField = \"\";\r\n if (options.data && options.data.filter &&\r\n Array.isArray(options.data.filter.filters) &&\r\n options.data.filter.filters.length > 0) {\r\n filterValue = options.data.filter.filters[0].value || \"\";\r\n filterField = options.data.filter.filters[0].field || \"\";\r\n }\r\n var sortField = \"\";\r\n var sortDir = \"\";\r\n if (options.data && options.data.sort &&\r\n Array.isArray(options.data.sort) &&\r\n options.data.sort.length > 0) {\r\n sortField = options.data.sort[0].field || \"\";\r\n sortDir = options.data.sort[0].dir || \"\";\r\n }\r\n\r\n app.AppCorporate.getActiveEnterprisesByCorporate(\r\n corporateId,\r\n options.data.page || 1,\r\n options.data.pageSize || 20,\r\n filterValue,\r\n filterField,\r\n null,\r\n null,\r\n null,\r\n sortField,\r\n sortDir\r\n ).then(\r\n function (data) {\r\n if (!viewmodel.get('isCorporate')) {\r\n //a bit hacky but gets the work done.\r\n // console.log(data.Mentor.DisplayName);\r\n // $('#main-page-title').text(data.Mentor.DisplayName.toUpperCase());\r\n }\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n }\r\n );\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n $('.removeEnterprise').on('click', function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr('enterpriseName');\r\n var id = $(this).attr('enterpriseId');\r\n\r\n removeEnterprise(name, id);\r\n });\r\n\r\n $('.showPerformance').on('click', function (e) {\r\n e.preventDefault();\r\n\r\n var enterpriseId = $(this).parent().attr('enterpriseId');\r\n var corporateHasAccess = $(this).parent().attr('Permission');\r\n var hideEnterpriseFinancialsForCorporates = $(this).parent().attr('HideEnterpriseFinancialsForCorporates');\r\n if (enterpriseId) {\r\n if (hideEnterpriseFinancialsForCorporates === 'true' || corporateHasAccess === 'false') {\r\n app.AppRouter.router.navigate('/enterprise/dashboard?id=' + enterpriseId + '&tab=overview');\r\n } else {\r\n app.AppRouter.router.navigate('/enterprise/dashboard?id=' + enterpriseId + '&tab=overview');\r\n }\r\n }\r\n });\r\n}\r\n\r\n// Function: removeEnterprise -----------------------------------------------------------------------\r\nfunction removeEnterprise(name, id) {\r\n var def = new $.Deferred();\r\n\r\n removeConfirm(name).then(\r\n function (confirm) {\r\n if (confirm) {\r\n app.AppLoading.show('Loading...', def);\r\n\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppEnterprise.removeMentor(id, mentorId).then(\r\n function (data) {\r\n $('#active-enterprise-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: 'Success',\r\n message: 'Enterprise successfully unassigned.'\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: 'Sorry!',\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n }\r\n );\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: 'Sorry!',\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n }\r\n );\r\n}\r\n\r\n// Function: removeConfirm --------------------------------------------------------------------------\r\nfunction removeConfirm(enterprise) {\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: 'removeConfirmModal',\r\n title: 'Confirmation',\r\n body: 'Are you sure you want to unassigned ' + enterprise + '?',\r\n yesButtonText: 'YES',\r\n noButtonText: 'CANCEL'\r\n };\r\n\r\n var showIn = 'confirmation-modal';\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.isAdmin = false;\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/active\", \"Corporate - Inactive\");\r\n\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Administrator\" ||\r\n loggedInUserRole === \"Super Admin\") {\r\n viewmodel.set(\"isAdmin\", true);\r\n }\r\n\r\n bindInactiveCorporates(viewmodel);\r\n};\r\n\r\n// Function: bindInactiveCorporates ------------------------------------------------------------------\r\nfunction bindInactiveCorporates(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getInactiveCorporates().then(\r\n\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n CorporateSubscriptionDateRange: { type: \"string\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n\r\n corporates = ApiResult;\r\n\r\n var result = {\r\n data: corporates\r\n };\r\n\r\n return result;\r\n }\r\n },\r\n pageable: true\r\n }); \r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n// Function: getInactiveCorporates -------------------------------------------------------------------\r\nfunction getInactiveCorporates() {\r\n\r\n var def = $.Deferred();\r\n\r\n\r\n app.AppCorporate.getInactiveCorporates(1, 10000, \" \").then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function alterDisplayedTable(e) {\r\n if (!viewmodel.get(\"isAdmin\")) { //only check permission if not admin\r\n\r\n $(\"#inactive-corporate-list-container .enterprise-list-tr\").each(function () {\r\n\r\n var currentDataItem = $(\"#inactive-corporate-list-container\").data(\"kendoGrid\").dataItem($(this));\r\n\r\n var havePermissions = false;\r\n\r\n if (currentDataItem && currentDataItem.Permissions && currentDataItem.Permissions.length > 0)\r\n havePermissions = true\r\n\r\n if (!havePermissions) {\r\n $(this).find(\"div.list-dropdown\").remove();\r\n };\r\n\r\n });\r\n }\r\n\r\n $(\".enterprise-list-tr\").css(\"cursor\", \"default\");\r\n app.AppGrids.adjustDropdowns();\r\n loadClickEvents();\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#inactive-corporate-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n resizable: true,\r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n \r\n serverOperation: false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 300\r\n },\r\n {\r\n title: \"Subscription period\",\r\n field: \"CorporateSubscriptionDateRange\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 100\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }\r\n ],\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n rowTemplate: kendo.template($(\"#inactive-corporate-list-template\").html())\r\n });\r\n var grid = $(\"#inactive-corporate-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n\r\n};\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".restoreCorporate\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"name\");\r\n var id = $(this).attr(\"id\");\r\n\r\n restoreCorporate(name, id);\r\n });\r\n\r\n};\r\n\r\n// Function: restoreCorporate -----------------------------------------------------------------------\r\nfunction restoreCorporate(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n restoreConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppCorporate.restoreCorporate(id).then(\r\n\r\n function (data) {\r\n $('#inactive-corporate-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Corporate successfully restored.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: restoreConfirm --------------------------------------------------------------------------\r\nfunction restoreConfirm(corporate) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"restoreConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to restore \" + corporate + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/user/user\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams; \r\n this.data = new model();\r\n this.corporate = {};\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.cancel = function () { cancel(this); };\r\n this.removePhoto = function () { removePhoto(this); };\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n this.startup = function () { startup(this); };\r\n\r\n this.backToUsers = function () { backToUsers(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (corporateId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/users/add\", \"Corporate - Add User\");\r\n doFormValidation(viewmodel);\r\n getCorporate(viewmodel, corporateId).then(\r\n\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#breadcrumb-second\").text(data.Name.toUpperCase());\r\n\r\n $(\"#corporate-name\").text(data.Name);\r\n\r\n //$(\"#main-page-title\").text(data.Name.toUpperCase());\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/corporate/dashboard?id=\" + data.CorporateId + \"&tab=users\");\r\n viewmodel.set(\"corporate\", data);\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/corporate/dashboard?id=\" + corporateId + \"&tab=users\");\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to add corporate user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/corporates\");\r\n };\r\n};\r\n\r\nfunction backToUsers(viewmodel) {\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n var link = `/corporate/dashboard?id=${corporateId}&tab=users`;\r\n app.AppRouter.router.navigate(link);\r\n}\r\n\r\n// Function: getCorporate -------------------------------------------------------------------------\r\nfunction getCorporate(viewmodel, corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppCorporate.getById(corporateId).then(\r\n\r\n function (data) {\r\n def.resolve(data.Corporate);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#register-user-form\").kendoValidator(\r\n {\r\n rules: {\r\n confirmEmail: function (input) {\r\n var ret = true;\r\n if (input.is(\"[name=email-confirm]\")) {\r\n ret = input.val() === $(\"#email\").val();\r\n };\r\n return ret;\r\n },\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"officephone\" ||\r\n $(input).attr(\"name\") === \"cellphone\") {\r\n if (input.val() != \"\") {\r\n return input.val().length > 9\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n confirmEmail: \"Emails do not match\",\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"officephone\") {\r\n return \"Office telephone is not valid\"\r\n }\r\n else if ($(input).attr(\"name\") === \"cellphone\") {\r\n return \"Cellphone is not valid\"\r\n }\r\n else {\r\n return \"Your input is not valid\"\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n //return validator.validate();\r\n};\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#fname\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader(); \r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n //viewmodel.data.set(\"profilePicture\", reader.result);\r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n \r\n };\r\n};\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 300,\r\n height: 300,\r\n type: 'square'\r\n }\r\n ,\r\n boundary: {\r\n width: 400,\r\n height: 400\r\n }\r\n });\r\n \r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n \r\n $(\".uploadClick\").on(\"click\", function () {\r\n uploadImage.croppie('result',{type: 'base64',size: 'viewport',quality: 0.8}).then(function(base64) {\r\n viewmodel.data.set(\"profilePicture\", base64); \r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n })\r\n \r\n $('#croppie-modal').on('hidden.bs.modal', function () {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n })\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n};\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var registerData = getUserObject(viewmodel);\r\n\r\n app.AppAuth.register(registerData).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Corporate user successfully created.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/corporate/dashboard?id=\" + corporateId + \"&tab=users\");\r\n },\r\n\r\n function (error) { \r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n \r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: cancel ---------------------------------------------------------------------------------\r\nfunction cancel() {\r\n app.AppRouter.router.navigate(\"/corporate/dashboard?id=\"+ app.AppRouter.getCurrentRoute().params.id + \"&tab=users\");\r\n}\r\n\r\n// Function: getUserObject --------------------------------------------------------------------------\r\nfunction getUserObject(viewmodel) {\r\n \r\n var strImage = \"\";\r\n\r\n if (viewmodel.data.get(\"profilePicture\")) {\r\n var strToReplace = viewmodel.data.get(\"profilePicture\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n } \r\n\r\n return {\r\n Email: viewmodel.data.get(\"email\"),\r\n Name: viewmodel.data.get(\"fname\"),\r\n Surname: viewmodel.data.get(\"surname\"),\r\n DisplayName: viewmodel.data.get(\"fname\") + \" \" + viewmodel.data.get(\"surname\"),\r\n Role: \"Corporate\",\r\n ProfilePicture: strImage,\r\n CellPhone: viewmodel.data.get(\"cellphone\"),\r\n PhoneNumber: viewmodel.data.get(\"officephone\"),\r\n Company: viewmodel.corporate.get(\"Name\"),\r\n };\r\n}\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"profilePicture\", \"\");\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/user/user\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.corporate = {};\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.cancelLink = function () { return \"#/corporate/dashboard?id=\" + this.corporate.get(\"CorporateId\") + \"&tab=users\"; };\r\n this.removePhoto = function () { removePhoto(this); };\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n this.startup = function () { startup(this); };\r\n\r\n this.backToUsers = function () { backToUsers(this); };\r\n\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) { \r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var userId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (userId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/corporates/users/edit\", \"Corporate - Edit User\");\r\n getUserProfile(viewmodel, userId).then(\r\n\r\n function (data) {\r\n setUserProfile(viewmodel, data, def);\r\n doFormValidation(viewmodel);\r\n //def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to edit user profile.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/corporate/dashboard?id=\"+viewmodel.corporate.get(\"CorporateId\") + \"&tab=users\");\r\n }\r\n \r\n};\r\n\r\n// Function: getUserProfile -------------------------------------------------------------------------\r\nfunction getUserProfile(viewmodel, userId) {\r\n\r\n var def = $.Deferred();\r\n \r\n app.AppAuth.getUserProfile(userId).then(\r\n\r\n function (data) { \r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setUserProfile -------------------------------------------------------------------------\r\nfunction setUserProfile(viewmodel, profileData, def) {\r\n\r\n getCorporate(profileData.UserId).then(\r\n\r\n function (corporate) {\r\n\r\n //a bit hacky but gets the work done. \r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#breadcrumb-second\").text(corporate.Name.toUpperCase());\r\n $(\"#main-page-title\").text(profileData.DisplayName.toUpperCase());\r\n\r\n $(\"#corporate-name\").text(corporate.Name);\r\n\r\n\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/corporate/dashboard?id=\" + corporate.CorporateId + \"&tab=users\");\r\n \r\n viewmodel.set(\"corporate\", corporate);\r\n\r\n viewmodel.data.set(\"userId\", profileData.UserId);\r\n viewmodel.data.set(\"email\", profileData.Email);\r\n $(\"#email-confirm\").val(profileData.Email);\r\n viewmodel.data.set(\"fname\", profileData.Name);\r\n viewmodel.data.set(\"surname\", profileData.Surname);\r\n viewmodel.data.set(\"DisplayName\", profileData.DisplayName);\r\n viewmodel.data.set(\"role\", profileData.Role);\r\n viewmodel.data.set(\"cellphone\", profileData.Cellphone);\r\n viewmodel.data.set(\"officephone\", profileData.PhoneNumber);\r\n viewmodel.data.set(\"profilePicture\", profileData.ProfilePicture);\r\n\r\n def.resolve();\r\n },\r\n \r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n }) \r\n};\r\n\r\nfunction backToUsers(viewmodel) {\r\n var corporateId = viewmodel.corporate.get(\"CorporateId\");\r\n var link = `/corporate/dashboard?id=${corporateId}&tab=users`;\r\n app.AppRouter.router.navigate(link);\r\n}\r\n\r\n// Function: getCorporate --------------------------------------------------------------------------\r\nfunction getCorporate(userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppCorporate.getCorporateByUser(userId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#register-user-form\").kendoValidator(\r\n {\r\n rules: {\r\n confirmEmail: function (input) {\r\n var ret = true;\r\n if (input.is(\"[name=email-confirm]\")) {\r\n ret = input.val() === $(\"#email\").val();\r\n };\r\n return ret;\r\n },\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"officephone\" ||\r\n $(input).attr(\"name\") === \"cellphone\") {\r\n if (input.val() != \"\") {\r\n return input.val().length > 9\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n confirmEmail: \"Emails do not match\",\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"officephone\") {\r\n return \"Office telephone is not valid\"\r\n }\r\n else if ($(input).attr(\"name\") === \"cellphone\") {\r\n return \"Cellphone is not valid\"\r\n }\r\n else {\r\n return \"Your input is not valid\"\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n //return validator.validate();\r\n};\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#fname\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n //viewmodel.data.set(\"profilePicture\", reader.result);\r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n };\r\n}\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 300,\r\n height: 300,\r\n type: 'square'\r\n }\r\n ,\r\n boundary: {\r\n width: 400,\r\n height: 400\r\n }\r\n });\r\n\r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n\r\n $(\".uploadClick\").on(\"click\", function () {\r\n uploadImage.croppie('result',{type: 'base64',size: 'viewport',quality: 0.8}).then(function(base64) {\r\n viewmodel.data.set(\"profilePicture\", base64);\r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n })\r\n\r\n $('#croppie-modal').on('hidden.bs.modal', function () {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n })\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n};\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var updateData = getUserObject(viewmodel);\r\n app.AppAuth.updateUserProfile(updateData).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Profile details successfully updated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n app.AppRouter.router.navigate(\"/corporate/dashboard?id=\" + viewmodel.corporate.get(\"CorporateId\") + \"&tab=users\");\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: getUserObject --------------------------------------------------------------------------\r\nfunction getUserObject(viewmodel) {\r\n\r\n var strImage = \"\";\r\n\r\n if (viewmodel.data.get(\"profilePicture\")) {\r\n var strToReplace = viewmodel.data.get(\"profilePicture\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n }\r\n\r\n var obj = {\r\n UserId: viewmodel.data.get(\"userId\"),\r\n Email: viewmodel.data.get(\"email\"),\r\n Name: viewmodel.data.get(\"fname\"),\r\n Surname: viewmodel.data.get(\"surname\"),\r\n DisplayName: viewmodel.data.get(\"fname\") + \" \" + viewmodel.data.get(\"surname\"), \r\n ProfilePicture: strImage,\r\n CellPhone: viewmodel.data.get(\"cellphone\"),\r\n PhoneNumber: viewmodel.data.get(\"officephone\"),\r\n Company: viewmodel.corporate.get(\"Name\"),\r\n };\r\n\r\n return obj;\r\n}\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"profilePicture\", \"\");\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar metricsModel = require(\"app_mvvm_models/custom/common/fund-programme/performance\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.loadingDef;\r\n this.metricsModel = new metricsModel();\r\n this.colors = app.AppDashboardColors.get();\r\n this.loadingDef;\r\n this.missingChartDataPointList = [];\r\n this.Id = \"\";\r\n this.userRole = \"\";\r\n this.isDashboardVisible = false;\r\n this.isPercentageEnable = false;\r\n this.isChartVisible = false;\r\n this.isBreakdownVisible = false;\r\n this.isCompareActive = false;\r\n this.datePickersAllMonths = [];\r\n this.programmeList = [];\r\n this.FundsAndProgrammes = [];\r\n this.fundList = [];\r\n this.programmeFundEnterpriseStatus = \"\";\r\n this.datePickerStartDateValidMonths = [];\r\n this.isDataPointsMissingMessageVisible = false;\r\n this.navigateToPerformanceListPage = function () { navigateToPerformanceListPage(this); };\r\n this.HideChartLineClick = function () { HideChartLineClick(this); };\r\n this.toggleCalendarIcon = function () { toggleCalendarIcon(this); };\r\n this.toggleFilterIcon = function () { toggleFilterIcon(this); };\r\n this.filterClick = function (Id) { filterPerformances(this); };\r\n this.loadWagrModal = function () { loadWagrModal(this); };\r\n this.loadProcurementSpendGrowthWagrModal = function () { loadProcurementSpendGrowthWagrModal(this); };\r\n this.loadProfitGrowthWagrModal = function () { loadProfitGrowthWagrModal(this); };\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n this.countDashboardLoaded = 0;\r\n this.isRefreshCacheButtonVisible = false\r\n this.startup = function () { startup(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n console.log(\"Reached....\");\r\n viewmodel.loadingDef = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef);\r\n var dateFromQueryString = app.AppRouter.getCurrentRoute().params.startDate;\r\n var dateToQueryString = app.AppRouter.getCurrentRoute().params.endDate;\r\n\r\n var root = document.documentElement;\r\n var menuLogo = document.getElementsByClassName('menu-logo');\r\n const brand = root.getElementsByClassName('brand')[0];\r\n var colour1 = app.AppRouter.getCurrentRoute().params.colour1;\r\n var colour2 = app.AppRouter.getCurrentRoute().params.colour2;\r\n var isPreview = app.AppRouter.getCurrentRoute().params.ispreview;\r\n var corporateId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (colour1) {\r\n root.style.setProperty('--primary', '#' + colour1);\r\n root.style.setProperty('--breadcrumb-bg', '#' + colour1);\r\n root.style.setProperty('--metric-active-bg', '#' + colour1);\r\n }\r\n if (colour2) {\r\n root.style.setProperty('--secondary', '#' + colour2);\r\n }\r\n\r\n if ((brand && corporateId) || (brand && isPreview)) {\r\n brand.style.background = \"var(--primary)\";\r\n }\r\n\r\n \r\n const printLogo = document.getElementsByClassName('print-logo');\r\n var previewLogo = localStorage.getItem(\"previewLogo\");\r\n if (corporateId) {\r\n getCorporate(viewmodel, corporateId).then(\r\n\r\n function (data) {\r\n console.log('data', data);\r\n \r\n\r\n console.log('previewLogo', previewLogo);\r\n\r\n if (previewLogo) {\r\n menuLogo[0].src = previewLogo;\r\n menuLogo[0].style.width = \"80px\";\r\n\r\n printLogo[0].src = previewLogo;\r\n printLogo[0].style.marginTop = \"-25px\";\r\n printLogo[0].style.padding = \"0\";\r\n printLogo[0].style.maxHeight = \"100px\";\r\n $(\"#menu-logo-text\").addClass(\"corporate-logo-text\");\r\n $(\"#print-logo\").addClass(\"corporate-dashboard-logo\");\r\n } else {\r\n if (data.Logo) {\r\n menuLogo[0].src = data.Logo;\r\n menuLogo[0].style.width = \"80px\";\r\n\r\n printLogo[0].src = data.Logo;\r\n printLogo[0].style.marginTop = \"-25px\";\r\n printLogo[0].style.padding = \"0\";\r\n printLogo[0].style.maxHeight = \"100px\";\r\n $(\"#menu-logo-text\").addClass(\"corporate-logo-text\");\r\n $(\"#print-logo\").addClass(\"corporate-dashboard-logo\");\r\n } else {\r\n menuLogo[0].src = '/App/images/company-logo-placeholder.png';\r\n menuLogo[0].style.width = \"60px\";\r\n menuLogo[0].style.maxHeight = \"44px\";\r\n\r\n printLogo[0].src = '/App/images/company-logo-placeholder.png';\r\n printLogo[0].style.marginTop = \"-15px\";\r\n printLogo[0].style.padding = \"0\";\r\n printLogo[0].style.width = \"80px\";\r\n printLogo[0].style.maxHeight = \"80px\";\r\n\r\n $(\"#menu-logo-text\").addClass(\"corporate-logo-text\");\r\n $(\"#print-logo\").addClass(\"corporate-dashboard-logo\");\r\n\r\n }\r\n }\r\n\r\n var newHeight = 44; // new height in pixels\r\n\r\n menuLogo[0].style.height = `${newHeight}px`;\r\n\r\n viewmodel.loadingDef.resolve();\r\n },\r\n\r\n function (error) {\r\n viewmodel.loadingDef.resolve();\r\n }\r\n );\r\n } else {\r\n if (isPreview) {\r\n if (previewLogo) {\r\n menuLogo[0].src = previewLogo;\r\n menuLogo[0].style.width = \"80px\";\r\n\r\n printLogo[0].src = previewLogo;\r\n printLogo[0].style.marginTop = \"-25px\";\r\n printLogo[0].style.padding = \"0\";\r\n printLogo[0].style.maxHeight = \"100px\";\r\n $(\"#menu-logo-text\").addClass(\"corporate-logo-text\");\r\n $(\"#print-logo\").addClass(\"corporate-dashboard-logo\");\r\n } else {\r\n menuLogo[0].src = '/App/images/company-logo-placeholder.png';\r\n menuLogo[0].style.width = \"60px\";\r\n menuLogo[0].style.maxHeight = \"44px\";\r\n\r\n printLogo[0].src = '/App/images/company-logo-placeholder.png';\r\n printLogo[0].style.marginTop = \"-15px\";\r\n printLogo[0].style.padding = \"0\";\r\n printLogo[0].style.width = \"80px\";\r\n printLogo[0].style.maxHeight = \"80px\";\r\n\r\n $(\"#menu-logo-text\").addClass(\"corporate-logo-text\");\r\n $(\"#print-logo\").addClass(\"corporate-dashboard-logo\");\r\n }\r\n } else {\r\n $(\"#menu-logo-text\").hide();\r\n }\r\n }\r\n\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n viewmodel.set(\"userRole\", userRole);\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n\r\n $('body,html').animate({ scrollTop: 0 }, 200); //Scroll to top of page\r\n\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/dashboard\", \"Dashboard\");\r\n\r\n app.AppDashboard.getEdgeDashboardDatePickerValidMonths().then(\r\n function (resultValidMonths) {\r\n\r\n var dateRange = app.AppDashboard.datePickerValuesSetShared(viewmodel, resultValidMonths, dateFromQueryString, dateToQueryString);\r\n if (!dateRange) return;\r\n var filter = {\r\n startDate: dateRange.startDate,\r\n endDate: dateRange.endDate\r\n };\r\n\r\n loadDashboard(viewmodel, filter);\r\n\r\n $('body').off('onChangeCalendarEvent');\r\n $(\"body\").on(\"onChangeCalendarEvent\", function (event, data) {\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef, true);\r\n filterPerformances(viewmodel);\r\n });\r\n });\r\n\r\n\r\n bindEvents(viewmodel);\r\n}\r\n\r\n// Function: getCorporate -------------------------------------------------------------------------\r\nfunction getCorporate(viewmodel, corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppCorporate.getById(corporateId).then(\r\n\r\n function (data) {\r\n def.resolve(data.Corporate);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n//Function: bindEvents\r\nfunction bindEvents(viewmodel) {\r\n beeSliderEvents();\r\n bindRebuildCache(viewmodel);\r\n}\r\n\r\n//Function: beeSliderEvents\r\nfunction beeSliderEvents() {\r\n var beeWomenOwnershipRangeSlider = $(\"#black-women-ownership-range-slider\").kendoRangeSlider({\r\n min: 0,\r\n max: 100,\r\n smallStep: 10,\r\n largeStep: 20,\r\n tickPlacement: \"both\"\r\n });\r\n\r\n var beeOwnershipRangeSlider = $(\"#black-ownership-range-slider\").kendoRangeSlider({\r\n min: 0,\r\n max: 100,\r\n smallStep: 10,\r\n largeStep: 20,\r\n tickPlacement: \"both\"\r\n });\r\n\r\n $(\"#resetRangeSlider\").click(function () {\r\n beeWomenOwnershipRangeSlider.data(\"kendoRangeSlider\").values(0, 100);\r\n beeOwnershipRangeSlider.data(\"kendoRangeSlider\").values(0, 100);\r\n });\r\n}\r\n\r\n//Function: filterPerformancesButton\r\nfunction filterPerformances(viewmodel) {\r\n\r\n var startDate = kendo.toString(kendo.parseDate($(\"#calendar-start\").data(\"kendoCalendar\").current()), \"MM/yyyy\");\r\n var endDate = kendo.toString(kendo.parseDate($(\"#calendar-end\").data(\"kendoCalendar\").current()), \"MM/yyyy\");\r\n var filterAllObjects = false;\r\n\r\n var beeRangeFilterObject = getBeeRangeFilterObject();\r\n\r\n if (viewmodel.programmeList.length > 0 || viewmodel.fundList.length > 0) {\r\n filterAllObjects = true;\r\n }\r\n\r\n var filter = {\r\n startDate: startDate,\r\n endDate: endDate,\r\n programmeIdList: viewmodel.programmeList.join(\",\"),\r\n fundIdList: viewmodel.fundList.join(\",\"),\r\n programmeFundEnterpriseStatus: viewmodel.programmeFundEnterpriseStatus,\r\n filterAllObjects: filterAllObjects,\r\n beeBwoPercentageFrom: beeRangeFilterObject.beeBwoPercentageFrom,\r\n beeBwoPercentageTo: beeRangeFilterObject.beeBwoPercentageTo,\r\n beeBoPercentageFrom: beeRangeFilterObject.beeBoPercentageFrom,\r\n beeBoPercentageTo: beeRangeFilterObject.beeBoPercentageTo\r\n };\r\n\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef, true);\r\n loadDashboard(viewmodel, filter);\r\n}\r\n\r\n// Function: getBEERangeFilterObject ----------------------------------------------\r\nfunction getBeeRangeFilterObject() {\r\n return beeOwnerShipFilterObject(buildBlackWowmenOwnershipObject(), buildBlackOwnershipObject());\r\n}\r\n\r\n// Function: getBEEOwnershipObject ----------------------------------------------\r\nfunction beeOwnerShipFilterObject(blackWowmenOwnershipObject, blackOwnershipObject) {\r\n var beeOwnerShipFilterObject = {};\r\n\r\n if (blackWowmenOwnershipObject) {\r\n beeOwnerShipFilterObject.beeBwoPercentageFrom = blackWowmenOwnershipObject.beeBwoPercentageFrom;\r\n beeOwnerShipFilterObject.beeBwoPercentageTo = blackWowmenOwnershipObject.beeBwoPercentageTo;\r\n }\r\n\r\n if (blackOwnershipObject) {\r\n beeOwnerShipFilterObject.beeBoPercentageFrom = blackOwnershipObject.beeBoPercentageFrom;\r\n beeOwnerShipFilterObject.beeBoPercentageTo = blackOwnershipObject.beeBoPercentageTo;\r\n }\r\n\r\n return beeOwnerShipFilterObject;\r\n}\r\n\r\n// Function: buildBlackWowmenOwnershipObject ----------------------------------------------\r\nfunction buildBlackWowmenOwnershipObject() {\r\n var blackWowmenOwnershipValueOnSlider = getBlackWowmenOwnershipValueFromSlider();\r\n\r\n var blackWowmenOwnershipObject = {};\r\n blackWowmenOwnershipObject.beeBwoPercentageFrom = blackWowmenOwnershipValueOnSlider[0];\r\n blackWowmenOwnershipObject.beeBwoPercentageTo = blackWowmenOwnershipValueOnSlider[1];\r\n\r\n return blackWowmenOwnershipObject;\r\n}\r\n\r\n// Function: buildBlackOwnershipObject ----------------------------------------------\r\nfunction buildBlackOwnershipObject() {\r\n var blackOwenershipValueOnSlider = getBlackOwnershipValueFromSlider();\r\n\r\n var blackOwnershipObject = {};\r\n blackOwnershipObject.beeBoPercentageFrom = blackOwenershipValueOnSlider[0];\r\n blackOwnershipObject.beeBoPercentageTo = blackOwenershipValueOnSlider[1];\r\n\r\n return blackOwnershipObject;\r\n}\r\n\r\n// Function: getBlackWowmenOwnershipValueOnDom ----------------------------------------------\r\nfunction getBlackWowmenOwnershipValueFromSlider() {\r\n return $(\"#black-women-ownership-range-slider\").data(\"kendoRangeSlider\").value();\r\n}\r\n\r\n// Function: getBlackOwnershipValueOnDom ----------------------------------------------\r\nfunction getBlackOwnershipValueFromSlider() {\r\n return $(\"#black-ownership-range-slider\").data(\"kendoRangeSlider\").value();\r\n}\r\n\r\n// Function: loadDashboard --------------------------------------------------------------------------\r\nfunction loadDashboard(viewmodel, filter) {\r\n\r\n var type = \"dashboard\";\r\n\r\n viewmodel.countDashboardLoaded += 1;\r\n\r\n filter.fundIdList = filter.fundIdList ? filter.fundIdList : \"\";\r\n filter.programmeIdList = filter.programmeIdList ? filter.programmeIdList : \"\";\r\n filter.programmeFundEnterpriseStatus = filter.programmeFundEnterpriseStatus ? filter.programmeFundEnterpriseStatus : \"\";\r\n filter.filterAllObjects = filter.filterAllObjects ? filter.filterAllObjects : false;\r\n\r\n var gridPromise = getGridData(viewmodel, filter, type);\r\n var chartPromise = getChartData(viewmodel, filter);\r\n\r\n var startDate = getDateString(filter.startDate);\r\n var endDate = getDateString(filter.endDate);\r\n\r\n viewmodel.metricsModel.set(\"startDate\", startDate);\r\n viewmodel.metricsModel.set(\"endDate\", endDate);\r\n\r\n $.when(gridPromise, chartPromise).done(\r\n function (grid) {\r\n setupHideChartLineClick(viewmodel);\r\n\r\n loadExportGrid(viewmodel, grid);\r\n\r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n //console.log(\"retrieved all lists from api\");\r\n app.AppHelper.startHelper(viewmodel, \"Dashboard\", false);\r\n },\r\n function () {\r\n console.log(\"retrieving all lists failed\");\r\n });\r\n\r\n app.AppLoading.hide();\r\n //Resize Chart for headcount axis to fit properly\r\n $(\"#metricCard-revenue\").trigger(\"click\");\r\n $(\"#metricCard-headcount\").trigger(\"click\");\r\n kendo.resize($(\"#chart\"));\r\n app.AppDashboard.resetMetrics();\r\n\r\n }).fail(function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n viewmodel.loadingDef.reject();\r\n });\r\n}\r\n\r\nfunction loadExportGrid(viewmodel, gridData) {\r\n app.AppGrids.buildExportGridEdgeDashboard(viewmodel, gridData.BreakdownData);\r\n}\r\n\r\n// Function: getDateString --------------------------------------------------------------------------\r\nfunction getDateString(dateString) {\r\n\r\n var str_array = dateString.split('/');\r\n\r\n switch (str_array[0]) {\r\n case '01': str_array[0] = 'Jan '; break;\r\n case '02': str_array[0] = 'Feb '; break;\r\n case '03': str_array[0] = 'Mar '; break;\r\n case '04': str_array[0] = 'Apr '; break;\r\n case '05': str_array[0] = 'May '; break;\r\n case '06': str_array[0] = 'Jun '; break;\r\n case '07': str_array[0] = 'Jul '; break;\r\n case '08': str_array[0] = 'Aug '; break;\r\n case '09': str_array[0] = 'Sep '; break;\r\n case '10': str_array[0] = 'Oct '; break;\r\n case '11': str_array[0] = 'Nov '; break;\r\n case '12': str_array[0] = 'Dec '; break;\r\n }\r\n dateString = str_array[0] + str_array[1];\r\n\r\n return dateString;\r\n}\r\n\r\n// Function: navigateToPerformanceListPage ----------------------------------------------------------\r\nfunction navigateToPerformanceListPage() {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.get(\"enterpriseId\") + \"&tab=reports\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/reports\");\r\n }\r\n}\r\n\r\n\r\n// Function: getChartData ---------------------------------------------------------------------------\r\nfunction getChartData(viewmodel, filter) {\r\n\r\n var def = $.Deferred();\r\n\r\n var colours = viewmodel.get(\"colors\");\r\n var userRole = viewmodel.get(\"userRole\");\r\n\r\n app.AppDashboard.getEdgeDashboardPerformanceChart(userRole, filter.startDate, filter.endDate, filter.programmeIdList, filter.fundIdList, filter.programmeFundEnterpriseStatus,\r\n filter.filterAllObjects,\r\n filter.beeBwoPercentageFrom,\r\n filter.beeBwoPercentageTo,\r\n filter.beeBoPercentageFrom,\r\n filter.beeBoPercentageTo).then(\r\n function (result) {\r\n bindChartData(result, colours, viewmodel);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: reloadChart --------------------------------------------------------------------------\r\nfunction reloadChart(viewmodel) {\r\n\r\n var calendarStart = viewmodel.get(\"calendarStartDate\");\r\n var calendarEnd = viewmodel.get(\"calendarEndDate\");\r\n var startDate = kendo.toString(calendarStart, \"MM/yyyy\");\r\n var endDate = kendo.toString(calendarEnd, \"MM/yyyy\");\r\n var id = viewmodel.get(\"Id\");\r\n var filterAllObjects = false;\r\n\r\n if (viewmodel.programmeList.length > 0 || viewmodel.fundList.length > 0) {\r\n filterAllObjects = true;\r\n }\r\n\r\n var data = {\r\n viewmodel: viewmodel,\r\n id: id,\r\n startDate: startDate,\r\n endDate: endDate,\r\n programmeIdList: viewmodel.programmeList.join(\",\"),\r\n fundIdList: viewmodel.fundList.join(\",\"),\r\n programmeFundEnterpriseStatus: viewmodel.programmeFundEnterpriseStatus,\r\n filterAllObjects: filterAllObjects\r\n };\r\n $(\"body\").trigger('onChangeCalendarEvent', data);\r\n\r\n\r\n}\r\n\r\n\r\n// Function: hideChartLine --------------------------------------------------------------------------\r\nfunction setupHideChartLineClick(viewmodel) {\r\n $('.chart-series-line-icon').off('click');\r\n $(\".chart-series-line-icon\").click(function (e) {\r\n\r\n if (viewmodel.get(\"isChartVisible\")) { //only when graph is available.\r\n\r\n var targetClass = $(e.target).attr('class');\r\n if (!targetClass) targetClass = \"card\";\r\n if ($(e.target).hasClass(\"mini-help\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"clean-mini-help\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"mini-plus\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"clean-mini-plus\") || targetClass.indexOf(\"popover\") > -1) return;\r\n\r\n var dataLine = $(this).data(\"seriesname\");\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n $(this).find(\".metric-icon\").toggleClass(\"active\");\r\n $(this).toggleClass(\"active\");\r\n\r\n if (chart) {\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === dataLine;\r\n })[0];\r\n\r\n seriesObj.visible = !seriesObj.visible;\r\n chart.redraw();\r\n }\r\n }\r\n });\r\n}\r\n\r\n// Function: toggleCalendarIcon -------------------------------------------------------------\r\nfunction toggleCalendarIcon(viewmodel) {\r\n\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-down');\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-up');\r\n\r\n}\r\n\r\n// Function: toggleFilterIcon -------------------------------------------------------------\r\nfunction toggleFilterIcon(viewmodel) {\r\n\r\n $(\"#filter-selector-angle\").toggleClass('fa-angle-down');\r\n $(\"#filter-selector-angle\").toggleClass('fa-angle-up');\r\n\r\n}\r\n\r\n\r\n// Function: createChart ----------------------------------------------------------------------------\r\nfunction createChart(data, colours, viewmodel) {\r\n\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n\r\n const maxLabels = 13;\r\n const step = Math.ceil(data.MonthlyChartPerformances.length / maxLabels);\r\n\r\n if (isPercentageEnable === false) {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers:{\r\n visible:false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.Revenue\",\r\n name: \"Revenue\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Profit\",\r\n name: \"Profit\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProfitGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpend\",\r\n name: \"Procurement Spend\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Headcount\",\r\n name: \"Headcount\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: false,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n //format: \"{0}\",\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true,\r\n margin: {\r\n right: 20\r\n }\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n visible: false\r\n }\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n //justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#= category #
# # # if(series.name != 'Headcount'){# R#: kendo.toString(value,'n0') + ' (' + series.name #) #} else {##: kendo.toString(value,'n0')+ ' (' + series.name #) #} #\"\r\n }\r\n\r\n });\r\n\r\n } else {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers:{\r\n visible:false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.RevenueGrowthRateWeightedAverage\",\r\n name: \"Weighted Revenue Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: true,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProfitGrowthRateWeightedAverage\",\r\n name: \"Weighted Profit Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProfitGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpendGrowthRateWeightedAverage\",\r\n name: \"Weighted Procurement Spend Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.HeadcountGrowthRateWeightedAverage\",\r\n name: \"Weighted Headcount Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n },\r\n {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true,\r\n margin: {\r\n right: 20\r\n },\r\n },\r\n line: {\r\n visible: true\r\n },\r\n\r\n axisCrossingValue: 10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#: category #
#: value #% (#= series.name #)\" //#=dataItem.ProcurementSpend#\r\n }\r\n\r\n });\r\n }\r\n\r\n}\r\n\r\n// Function: showChartDataNodeNotAvailable ----------------------------------------------------------\r\nfunction showChartDataNodeNotAvailable(data, colours, viewmodel) {\r\n var missingDataPoints = false;\r\n for (var i = 0; i < data.length; i++) {\r\n var item = data[i];\r\n if (item.Performance === null || item.Performance.RevenueGrowth === null || item.Performance.ProfitGrowth === null || item.Performance.ProcurementSpend === null) {\r\n missingDataPoints = true;\r\n break;\r\n }\r\n }\r\n\r\n if (missingDataPoints) {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", true);\r\n } else {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", false);\r\n }\r\n\r\n}\r\n\r\n// Function: bindChartData --------------------------------------------------------------------------\r\nfunction bindChartData(data, colours, viewmodel) {\r\n if (data.ShowChart === true) {\r\n viewmodel.set(\"isChartVisible\", true);\r\n $(document).bind(\"kendo:skinChange\", createChart(data, colours, viewmodel));\r\n $(window).resize(function () {\r\n $(\"#chart\").data(\"kendoChart\").resize();\r\n });\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable === true) {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpendGrowthRate\");\r\n } else {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpend\");\r\n }\r\n\r\n showChartDataNodeNotAvailable(data.MonthlyChartPerformances, colours, viewmodel);\r\n\r\n }\r\n else {\r\n viewmodel.set(\"isChartVisible\", false);\r\n }\r\n}\r\n\r\n// Function: hideLinesNotShownByDefault -------------------------------------------------------------\r\nfunction hideLinesNotShownByDefault(hideline) { //todo should be array probably of lines\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === hideline;\r\n })[0];\r\n seriesObj.visible = false;\r\n chart.redraw();\r\n}\r\n\r\n//Function: onChange --------------------------------------------------------------------------------\r\nfunction onChange(e) {\r\n\r\n var data = this.dataItem(this.select());\r\n\r\n if (data.Id) {\r\n\r\n if (data.Type.toLowerCase() === \"fund\") {\r\n\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + data.Id + \"&tab=overview\");\r\n }\r\n else if (data.Type.toLowerCase() === \"programme\") {\r\n\r\n app.AppRouter.router.navigate(\"/programme/dashboard?id=\" + data.Id + \"&tab=performance\");\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents(viewmodel) {\r\n\r\n $(\".showPerformance\").off(\"click\");\r\n $(\".showPerformance\").on('click', function (e) {\r\n\r\n var performanceId = $(this).attr(\"performanceId\"); //Investigate method for grabbing parent tag and sending down element attr ID\r\n var performanceType = $(this).attr(\"performanceType\");\r\n var calendarStartDate = viewmodel.get(\"calendarStartDate\");\r\n var calendarEndDate = viewmodel.get(\"calendarEndDate\");\r\n var startDate = encodeURIComponent(kendo.toString(calendarStartDate, \"MM/yyyy\"));\r\n var endDate = encodeURIComponent(kendo.toString(calendarEndDate, \"MM/yyyy\"));\r\n\r\n if (performanceId) {\r\n\r\n if (performanceType === \"Fund\") {\r\n\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + performanceId + \"&tab=overview\" + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n }\r\n else if (performanceType === \"Programme\") {\r\n\r\n app.AppRouter.router.navigate(\"/programme/dashboard?id=\" + performanceId + \"&tab=performance\" + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n }\r\n }\r\n });\r\n\r\n $(\".togglePercentageView\").off(\"click\");\r\n $(\".togglePercentageView\").on('click', function (e) {\r\n $(\".metricDefaultView\").toggleClass(\"hide\");\r\n $(\".metricPercentageView\").toggleClass(\"hide\");\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable === true) {\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n } else {\r\n viewmodel.set(\"isPercentageEnable\", true);\r\n }\r\n reloadChart(viewmodel);\r\n app.AppDashboard.resetMetrics();\r\n });\r\n\r\n $(\".startHelpTour\").off(\"click\");\r\n\r\n}\r\n\r\n// Function: getGridData ----------------------------------------------------------------------------\r\nfunction getGridData(viewmodel, filter, type) {\r\n\r\n var def = $.Deferred();\r\n var userRole = viewmodel.get(\"userRole\");\r\n\r\n //app.AppDashboard.getEdgeDashboardPerformanceBreakdown(userRole, startDate, endDate).then(\r\n app.AppDashboard.getPerformanceGrid(userRole, viewmodel, type, filter.startDate, filter.endDate, filter.programmeIdList, filter.fundIdList, filter.programmeFundEnterpriseStatus,\r\n filter.filterAllObjects,\r\n filter.beeBwoPercentageFrom,\r\n filter.beeBwoPercentageTo,\r\n filter.beeBoPercentageFrom,\r\n filter.beeBoPercentageTo).then(\r\n function (result) {\r\n bindGridData(viewmodel, result.BreakdownData);\r\n setMetricData(viewmodel, result.MetricData);\r\n bindProgrammeFundFilterData(viewmodel, result.BreakdownData);\r\n loadClickEvents(viewmodel);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n\r\n//Function: bindProgrammeFundFilterData ---------------------------------------------------------------\r\nfunction bindProgrammeFundFilterData(viewmodel, FundsAndProgrammes) {\r\n\r\n if (viewmodel.countDashboardLoaded === 1) {\r\n var programmeDataList = [];\r\n var fundDataList = [];\r\n\r\n viewmodel.FundsAndProgrammes = FundsAndProgrammes;\r\n viewmodel.FundsAndProgrammes.forEach(function (item) {\r\n var fundProgramme = { \"Id\": item.Id, \"Name\": item.Name, \"Type\": item.Type, \"Status\": item.Status };\r\n\r\n if (item.Type === \"Fund\") {\r\n fundDataList.push(fundProgramme);\r\n\r\n } else if (item.Type === \"Programme\") {\r\n programmeDataList.push(fundProgramme);\r\n }\r\n\r\n });\r\n\r\n bindProgrammeFundFilterTemplate(viewmodel, programmeDataList, fundDataList);\r\n programmeFilterSelectAll(viewmodel);\r\n fundFilterSelectAll(viewmodel);\r\n\r\n $(\".programmeFundFilterDataOnStatus\").on(\"click\", function (e) {\r\n\r\n var status = $(this).attr(\"status\");\r\n viewmodel.programmeFundEnterpriseStatus = status.toLowerCase();\r\n programmeFundFilterDataOnStatus(viewmodel, status);\r\n });\r\n\r\n $(\".programmeFilterSelectAll\").on(\"click\", function (e) {\r\n programmeFilterSelectAll(viewmodel);\r\n });\r\n\r\n $(\".programmeFilterDeselectAll\").on(\"click\", function (e) {\r\n programmeFilterDeselectAll(viewmodel);\r\n });\r\n\r\n $(\".fundFilterSelectAll\").on(\"click\", function (e) {\r\n fundFilterSelectAll(viewmodel);\r\n });\r\n\r\n $(\".fundFilterDeselectAll\").on(\"click\", function (e) {\r\n fundFilterDeselectAll(viewmodel);\r\n });\r\n\r\n $(document.body).on('click', '.performanceFilter', function () {\r\n\r\n var id = $(this).attr(\"filterId\");\r\n var type = $(this).attr(\"filterType\");\r\n var isChecked = $(this).prop(\"checked\");\r\n\r\n\r\n if (isChecked) {\r\n if (type === \"Fund\") {\r\n //add to fund\r\n viewmodel.fundList.push(id);\r\n\r\n } else {\r\n //add to programme\r\n viewmodel.programmeList.push(id);\r\n }\r\n\r\n } else {\r\n if (type === \"Fund\") {\r\n $(\"#FundDeselectAll\").prop('checked', false);\r\n $(\"#FundSelectAll\").prop('checked', false);\r\n //remove from fund list\r\n index = viewmodel.fundList.indexOf(id);\r\n if (index !== -1) {\r\n viewmodel.fundList.splice(index, 1);\r\n }\r\n\r\n\r\n } else {\r\n $(\"#ProgrammeDeselectAll\").prop('checked', false);\r\n $(\"#ProgrammeSelectAll\").prop('checked', false);\r\n //remove from programme list\r\n index = viewmodel.programmeList.indexOf(id);\r\n if (index !== -1) {\r\n viewmodel.programmeList.splice(index, 1);\r\n }\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n//Function: programmeFilterSelectAll ---------------------------------------------------------------\r\nfunction programmeFilterSelectAll(viewmodel) {\r\n $(\"#ProgrammeDeselectAll\").prop('checked', false);\r\n\r\n $('input[filterType=Programme]').each(function (i, v) {\r\n var id = $(this).attr(\"filterId\");\r\n var isChecked = $(this).prop('checked', true);\r\n\r\n viewmodel.programmeList = removeProgrammeFundFromList(viewmodel.programmeList, id, isChecked);\r\n\r\n viewmodel.programmeList.push(id);\r\n });\r\n}\r\n\r\n//Function: programmeFilterDeselectAll ---------------------------------------------------------------\r\nfunction programmeFilterDeselectAll(viewmodel) {\r\n $(\"#ProgrammeSelectAll\").prop('checked', false);\r\n\r\n $('input[filterType=Programme]').each(function (i, v) {\r\n var id = $(this).attr(\"filterId\");\r\n var isChecked = $(this).prop('checked', false);\r\n viewmodel.programmeList = removeProgrammeFundFromList(viewmodel.programmeList, id, isChecked);\r\n });\r\n}\r\n\r\n//Function: fundFilterSelectAll ---------------------------------------------------------------\r\nfunction fundFilterSelectAll(viewmodel) {\r\n $(\"#FundDeselectAll\").prop('checked', false);\r\n\r\n $('input[filterType=Fund]').each(function (i, v) {\r\n var id = $(this).attr(\"filterId\");\r\n var isChecked = $(this).prop('checked', true);\r\n\r\n viewmodel.fundList = removeProgrammeFundFromList(viewmodel.fundList, id, isChecked);\r\n\r\n viewmodel.fundList.push(id);\r\n });\r\n}\r\n\r\n//Function: fundFilterDeselectAll ---------------------------------------------------------------\r\nfunction fundFilterDeselectAll(viewmodel) {\r\n $(\"#FundSelectAll\").prop('checked', false);\r\n\r\n $('input[filterType=Fund]').each(function (i, v) {\r\n var id = $(this).attr(\"filterId\");\r\n var isChecked = $(this).prop('checked', false);\r\n\r\n viewmodel.fundList = removeProgrammeFundFromList(viewmodel.fundList, id, isChecked);\r\n });\r\n}\r\n\r\n//Function: removeProgrammeFundFromList ---------------------------------------------------------------\r\nfunction removeProgrammeFundFromList(viewmodelList, id, isChecked) {\r\n if (isChecked) {\r\n index = viewmodelList.indexOf(id);\r\n if (index !== -1) {\r\n viewmodelList.splice(index, 1);\r\n }\r\n }\r\n return viewmodelList;\r\n}\r\n\r\n//Function: programmeFundFilterDataOnStatus ---------------------------------------------------------------\r\nfunction programmeFundFilterDataOnStatus(viewmodel, status) {\r\n var programmeDataList = [];\r\n var fundDataList = [];\r\n\r\n var addItem = function (item) {\r\n var fundProgramme = { \"Id\": item.Id, \"Name\": item.Name, \"Type\": item.Type, \"Status\": item.Status };\r\n\r\n if (item.Type === \"Fund\") {\r\n fundDataList.push(fundProgramme);\r\n\r\n } else if (item.Type === \"Programme\") {\r\n programmeDataList.push(fundProgramme);\r\n }\r\n };\r\n\r\n if (status === \"Active\") {\r\n viewmodel.FundsAndProgrammes.forEach(function (item) {\r\n if (item.Status === status) {\r\n addItem(item);\r\n }\r\n });\r\n\r\n }\r\n\r\n else if (status === \"Inactive\") {\r\n viewmodel.FundsAndProgrammes.forEach(function (item) {\r\n if (item.Status === status) {\r\n addItem(item);\r\n }\r\n });\r\n\r\n }\r\n\r\n else if (status === \"Closed\") {\r\n viewmodel.FundsAndProgrammes.forEach(function (item) {\r\n if (item.Status === status) {\r\n addItem(item);\r\n }\r\n });\r\n\r\n }\r\n\r\n else {\r\n viewmodel.FundsAndProgrammes.forEach(function (item) {\r\n addItem(item);\r\n\r\n });\r\n }\r\n\r\n viewmodel.programmeList = [];\r\n viewmodel.fundList = [];\r\n bindProgrammeFundFilterTemplate(viewmodel, programmeDataList, fundDataList);\r\n programmeFilterSelectAll(viewmodel);\r\n fundFilterSelectAll(viewmodel);\r\n}\r\n\r\n\r\n//Function: bindProgrammeFundFilterTemplate ---------------------------------------------------------------\r\nfunction bindProgrammeFundFilterTemplate(viewmodel, programmeDataList, fundDataList) {\r\n var templateContent = $(\"#filterProgrammeTemplate\").html();\r\n var template = kendo.template(templateContent);\r\n\r\n var result = kendo.render(template, programmeDataList);\r\n $(\"#filterProgrammeDropdown\").html(result);\r\n\r\n var fundresult = kendo.render(template, fundDataList);\r\n $(\"#filterFundDropdown\").html(fundresult);\r\n\r\n //set if sections should be visible or not\r\n if (programmeDataList) {\r\n viewmodel.set(\"isProgrammeFilterVisible\", true);\r\n } else {\r\n viewmodel.set(\"isProgrammeFilterVisible\", false);\r\n }\r\n\r\n if (fundDataList) {\r\n viewmodel.set(\"isFundFilterVisible\", true);\r\n } else {\r\n viewmodel.set(\"isFundFilterVisible\", false);\r\n }\r\n}\r\n\r\n//Function: bindChartData ---------------------------------------------------------------------------\r\nfunction bindGridData(viewmodel, data) {\r\n\r\n var def = $.Deferred();\r\n\r\n function grid_dataBound() {\r\n var grid = $(\"#edge-dashboard-performance-grid\").data(\"kendoGrid\");\r\n var gridRows = grid.tbody.find(\"tr\");\r\n\r\n gridRows.each(function (i, v) {\r\n var dataItem = grid.dataItem(gridRows[i]);\r\n if (dataItem.HasNoData) {\r\n viewmodel.set(\"isBreakdownVisible\", false);\r\n } else {\r\n viewmodel.set(\"isBreakdownVisible\", true);\r\n }\r\n\r\n var color = getStatusColor(dataItem.Performance.TotalIncomepleteReportsSinceInception, dataItem.Performance.TotalReportsSinceInception);\r\n if (dataItem.Status === \"Active\") {\r\n $(this).find(\".report-status-display\").css(\"background-color\", color);\r\n } else {\r\n $(this).find(\".report-status-display\").css(\"color\", \"inherit\");\r\n }\r\n });\r\n\r\n loadClickEvents(viewmodel);\r\n\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n var grid = $(\"#edge-dashboard-performance-grid\").data(\"kendoGrid\");\r\n if (grid) {\r\n grid.destroy(); // Destroy the grid instance\r\n $(\"#edge-dashboard-performance-grid\").empty(); // Remove all content inside the grid container\r\n }\r\n \r\n $(\"#edge-dashboard-performance-grid\").kendoGrid({\r\n dataBound: grid_dataBound,\r\n dataSource: {\r\n data: data,\r\n sort: [\r\n { field: \"Type\", dir: \"asc\" } // Always sort by 'Type' ascending first\r\n ]\r\n },\r\n sortable: {\r\n mode: \"multiple\", // Allow sorting by multiple columns\r\n allowUnsort: true // Keep initial sort even when sorting other columns\r\n },\r\n reorderable: true,\r\n resizable: true,\r\n height: 580,\r\n pageable: {\r\n refresh: false,\r\n pageSizes: true\r\n },\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n columnMenu: true,\r\n scrollable: true,\r\n columns: [\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n field: \"Name\",\r\n title: \"Name\",\r\n locked: true,\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n field: \"Type\",\r\n title: \"Type\",\r\n locked: false, // Ensure this is not unintentionally locked\r\n width: 200\r\n\r\n },\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n field: \"EnterpriseCount\",\r\n title: \"No. Enterprises\",\r\n width: 200\r\n\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.JobsCreated === null){# - #} else {##: Performance.JobsCreated ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.JobsCreated === null) {# ( - ) #} else {# (#: PerformanceCompare.JobsCreated #) # } #',\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.RevenueGrowth === null){# - #} else {# #: Performance.RevenueGrowth #% # } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.RevenueGrowth === null) {# ( - ) #} else {# (#: PerformanceCompare.RevenueGrowth #%) # } #',\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"center-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\", \"totalReports\": \"#: Performance.TotalReportsSinceInception #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: \" # if (Status == 'Active'){# #: Performance.TotalIncomepleteReportsSinceInception # #} else {# N/A # } # \",\r\n field: \"Performance.TotalIncomepleteReportsSinceInception\",\r\n title: \"* Incomplete Reports\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.ProfitGrowth === null){# - #} else {# #: Performance.ProfitGrowth #% # } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.ProfitGrowth === null) {# ( - ) #} else {# (#: PerformanceCompare.ProfitGrowth #%) # } #',\r\n field: \"Performance.ProfitGrowth\",\r\n title: \"Profit Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.ProcurementSpendGrowthRate === null){# - #} else {# #: Performance.ProcurementSpendGrowthRate #% # } #',\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.Headcount === null){# - #} else {##: Performance.Headcount ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Headcount === null) {# ( - ) #} else {# (#: PerformanceCompare.Headcount #) # } #',\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.PermanentEmployment === null){# - #} else {##: Performance.PermanentEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.PermanentEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.PermanentEmployment #) # } #',\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.TemporaryEmployment === null){# - #} else {##: Performance.TemporaryEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.TemporaryEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.TemporaryEmployment #) # } #',\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.NetJobs === null){# - #} else {##: Performance.NetJobs ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.NetJobs === null) {# ( - ) #} else {# (#: PerformanceCompare.NetJobs #) # } #',\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.Revenue === null){# - #} else {#R#: kendo.toString(Performance.Revenue, \"n0\") ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Revenue === null) {# ( - ) #} else {# (R#: PerformanceCompare.Revenue #) # } #',\r\n field: \"Performance.Revenue\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.Profit === null){# - #} else {#R#: kendo.toString(Performance.Profit, \"n0\") ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Profit === null) {# ( - ) #} else {# (R#: PerformanceCompare.Profit #) # } #',\r\n field: \"Performance.Profit\",\r\n title: \"Net Profit\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.ProcurementSpend === null){# - #} else {#R#: kendo.toString(Performance.ProcurementSpend, \"n0\") ## } #',\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement Spend\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.Budget === null){# - #} else {#R#: kendo.toString(Performance.Budget, \"n0\") ## } #',\r\n field: \"Performance.Budget\",\r\n title: \"Budget\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.BudgetDeployed === null){# - #} else {#R#: kendo.toString(Performance.BudgetDeployed, \"n0\") ## } #',\r\n field: \"Performance.BudgetDeployed\",\r\n title: \"Budget Deployed\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.Capital === null){# - #} else {#R#: kendo.toString(Performance.Capital, \"n0\") ## } #',\r\n field: \"Performance.Capital\",\r\n title: \"Capital Under Management\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.CapitalDeployed === null){# - #} else {#R#: kendo.toString(Performance.CapitalDeployed, \"n0\") ## } #',\r\n field: \"Performance.CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"performanceId\": \"#: Id #\", \"performanceType\": \"#: Type #\" },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Performance.CapitalCommitted === null){# - #} else {#R#: kendo.toString(Performance.CapitalCommitted, \"n0\") ## } #',\r\n field: \"Performance.CapitalCommitted\",\r\n title: \"Capital Committed\",\r\n width: 150\r\n }],\r\n sort: function (e) {\r\n // Ensure 'Type' is always sorted and remove excess columns when sorting\r\n var sort = e.sender.dataSource.sort();\r\n var nameSort = sort.find(s => s.field === \"Type\");\r\n // Remove the oldest non-'Type' sort to keep only two sorts\r\n sort.splice(1, sort.length - 2);\r\n // Re-add the 'Type' sort if it was removed accidentally\r\n if (!nameSort) {\r\n sort.unshift({ field: \"Type\", dir: \"asc\" });\r\n }\r\n // Set the new sorting array\r\n e.sender.dataSource.sort(sort);\r\n }\r\n });\r\n\r\n \r\n\r\n var grid = $(\"#edge-dashboard-performance-grid\").getKendoGrid();\r\n\r\n grid.table.kendoTooltip({\r\n filter: \"tr td:nth-child(5)\",\r\n content: function (e) {\r\n var target = e.target; // element for which the tooltip is shown\r\n return 'Total Reports: ' + $(target).attr('totalReports');\r\n }\r\n });\r\n\r\n function reinitializeGrid(grid) {\r\n // Refresh or re-read the data to \"reinitialize\" the grid\r\n console.log('grid');\r\n console.log(grid);\r\n grid.dataSource.read(); // Re-read the data from the data source\r\n grid.refresh(); // Refresh the grid UI\r\n }\r\n\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(20);\r\n }); \r\n app.AppGrids.addCustomKendoDownloadCsvButton();\r\n app.AppGrids.addCustomKendoDownloadPdfButton();\r\n\r\n return def.promise();\r\n\r\n\r\n}\r\n\r\n// Function: getStatusColor -------------------------------------------------------------------------\r\nfunction getStatusColor(value, total) {\r\n\r\n var percentage = value / total * 100;\r\n\r\n if (total <= 0 || percentage <= 10) {\r\n //green\r\n return \"#6CC38B\";\r\n } else if (percentage > 10 && percentage < 30) {\r\n //orange\r\n return \"#DE6E4B\";\r\n } else if (percentage >= 30) {\r\n //red\r\n return \"#cc0000\";\r\n }\r\n\r\n}\r\n\r\n// Function: setMetricData --------------------------------------------------------------------------\r\nfunction setMetricData(viewmodel, data) {\r\n\r\n\r\n viewmodel.metricsModel.set(\"headcountGrowth\", app.AppDashboard.formatNumberSign(data.Performance.HeadcountGrowth));\r\n viewmodel.metricsModel.set(\"procurementspendGrowth\", app.AppDashboard.formatNumberSign(data.Performance.ProcurementSpendGrowthRate));\r\n\r\n viewmodel.metricsModel.set(\"jobsCreated\", Math.round(data.Performance.JobsCreated));\r\n viewmodel.metricsModel.set(\"permanentJobsCreated\", data.Performance.PermanentJobsCreated);\r\n viewmodel.metricsModel.set(\"temporaryJobsCreated\", data.Performance.TemporaryJobsCreated);\r\n viewmodel.metricsModel.set(\"headcount\", Math.round(data.Performance.Headcount));\r\n viewmodel.metricsModel.set(\"permanentEmployment\", data.Performance.PermanentEmployment);\r\n viewmodel.metricsModel.set(\"temporaryEmployment\", data.Performance.TemporaryEmployment);\r\n viewmodel.metricsModel.set(\"netJobs\", Math.round(data.Performance.NetJobs));\r\n viewmodel.metricsModel.set(\"permanentNetJobs\", data.Performance.PermanentNetJobs);\r\n viewmodel.metricsModel.set(\"temporaryNetJobs\", data.Performance.TemporaryNetJobs);\r\n\r\n viewmodel.metricsModel.set(\"procurementspend\", app.AppDashboard.formatMoneyRounding(data.Performance.ProcurementSpend));\r\n viewmodel.metricsModel.set(\"revenue\", app.AppDashboard.formatMoneyRounding(data.Performance.Revenue));\r\n viewmodel.metricsModel.set(\"profit\", app.AppDashboard.formatMoneyRounding(data.Performance.Profit));\r\n\r\n viewmodel.metricsModel.set(\"budget\", app.AppDashboard.formatMoneyRounding(data.Performance.Budget));\r\n viewmodel.metricsModel.set(\"budgetDeployed\", app.AppDashboard.formatMoneyRounding(data.Performance.BudgetDeployed));\r\n viewmodel.metricsModel.set(\"capital\", app.AppDashboard.formatMoneyRounding(data.Performance.Capital));\r\n viewmodel.metricsModel.set(\"capitalDeployed\", app.AppDashboard.formatMoneyRounding(data.Performance.CapitalDeployed));\r\n viewmodel.metricsModel.set(\"capitalCommitted\", app.AppDashboard.formatMoneyRounding(data.Performance.CapitalCommitted));\r\n viewmodel.metricsModel.set(\"numberOfEnterprises\", data.NumberOfEnterprises);\r\n\r\n viewmodel.metricsModel.set(\"cumulativeNetJobDays\", data.Performance.CumulativeNetJobDays);\r\n\r\n if (data.BusinessOfTomorrowSMEsRate != null) {\r\n viewmodel.metricsModel.set(\"businessOfTomorrowSMEsRate\", `${Math.round(data.BusinessOfTomorrowSMEsRate)}%`);\r\n viewmodel.metricsModel.set(\"activeSMEs\", data.Performance.TotalActiveSMEs);\r\n viewmodel.metricsModel.set(\"BOTSMEs\", data.Performance.BusinessOfTomorrowSMECount);\r\n viewmodel.metricsModel.set(\"totalSMEs\", data.NumberOfEnterprises);\r\n }\r\n\r\n if (data.Performance.isRevenueGrowthPositive !== null) {\r\n\r\n if (data.Performance.isRevenueGrowthPositive === false) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Loss \");\r\n $(\".revenueMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isRevenueGrowthPositive === true) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Growth \");\r\n $(\".revenueMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", app.AppDashboard.formatNumberSign(data.Performance.RevenueGrowth));\r\n $(\".revenueMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isProfitGrowthPositive !== null) {\r\n\r\n if (data.Performance.isProfitGrowthPositive === false) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Loss \");\r\n $(\".profitMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isProfitGrowthPositive === true) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Growth \");\r\n $(\".profitMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"profitGrowth\", app.AppDashboard.formatNumberSign(data.Performance.ProfitGrowth));\r\n $(\".profitMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n setIncompleteDataClasses(viewmodel, data);\r\n}\r\n\r\n// Function: setIncompleteDataClasses --------------------------------------------------------------------------\r\nfunction setIncompleteDataClasses(viewmodel, data) {\r\n\r\n if (!data.Performance) {\r\n $('#metricCard-profitGrowth').removeClass(\"metric-chart-profit\");\r\n $('#metricCard-profit').removeClass(\"metric-chart-profit\");\r\n $('#metricCard-revenueGrowth').removeClass(\"metric-chart-revenue\");\r\n $('#metricCard-revenue').removeClass(\"metric-chart-revenue\");\r\n $('#metricCard-headcountGrowth').removeClass(\"metric-chart-headcount\");\r\n $('#metricCard-headcount').removeClass(\"metric-chart-headcount\");\r\n $('#metricCard-procurementSpendGrowthRate').removeClass(\"metric-chart-procurement\");\r\n $('#metricCard-procurementspend').removeClass(\"metric-chart-procurement\");\r\n } else {\r\n if (!data.Performance.ProfitGrowth) {\r\n $('#metricCard-profitGrowth').removeClass(\"metric-chart-profit\");\r\n }\r\n if (!data.Performance.Profit) {\r\n $('#metricCard-profit').removeClass(\"metric-chart-profit\");\r\n }\r\n\r\n if (!data.Performance.RevenueGrowth) {\r\n $('#metricCard-revenueGrowth').removeClass(\"metric-chart-revenue\");\r\n }\r\n if (!data.Performance.Revenue) {\r\n $('#metricCard-revenue').removeClass(\"metric-chart-revenue\");\r\n }\r\n\r\n if (!data.Performance.HeadcountGrowth) {\r\n $('#metricCard-headcountGrowth').removeClass(\"metric-chart-headcount\");\r\n }\r\n if (!data.Performance.Headcount) {\r\n $('#metricCard-headcount').removeClass(\"metric-chart-headcount\");\r\n }\r\n\r\n if (data.Performance.ProcurementSpendGrowthRate === null) {\r\n $('#metricCard-procurementSpendGrowthRate').removeClass(\"metric-chart-procurement\");\r\n }\r\n if (data.Performance.ProcurementSpend === null) {\r\n $('#metricCard-procurementspend').removeClass(\"metric-chart-procurement\");\r\n }\r\n }\r\n}\r\n\r\n// Function: loadWagrModal ------------------------------------------------------------------------\r\nfunction loadWagrModal() {\r\n\r\n var showModal = \"dashboard-wagr-breakdown\";\r\n app.AppDialog.showWagrReportBreakdown(showModal);\r\n\r\n}\r\n\r\n\r\nfunction loadProcurementSpendGrowthWagrModal() {\r\n var showModal = \"dashboard-procurement-growth-wagr-report-breakdown\";\r\n app.AppDialog.showProcurementGrowthWagrReportBreakdown(showModal);\r\n\r\n}\r\n\r\nfunction loadProfitGrowthWagrModal() {\r\n var showModal = \"dashboard-profit-growth-wagr-report-breakdown\";\r\n app.AppDialog.showProfitGrowthWagrReportBreakdown(showModal);\r\n\r\n}\r\n\r\nfunction bindRebuildCache(viewmodel) {\r\n\r\n const role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n console.log(\"role\", role);\r\n\r\n if (role !== \"Super Admin\") {\r\n $(\"#rebuild-cache\").remove();\r\n }\r\n else {\r\n viewmodel.set(\"isRefreshCacheButtonVisible\", true);\r\n $(\"#rebuild-cache\").on(\"click\", function (e) {\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef, true);\r\n const promise = app.AppDashboard.rebuildDashboardCache();\r\n console.log(promise);\r\n promise.fail(error => {\r\n viewmodel.loadingDef.resolve();\r\n if (error == \"\") {\r\n app.AppNotify.showSuccess({\r\n title: \"Success!\",\r\n message: \"Cache has been refreshed successfully\"\r\n });\r\n }\r\n else {\r\n app.AppNotify.showError({\r\n title: \"Error!\",\r\n message: error.message\r\n });\r\n }\r\n\r\n })\r\n\r\n })\r\n }\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new kendo.data.Model();\r\n this.isAdminUser = false;\r\n this.startup = function () { startup(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/active\", \"Active\");\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Administrator\" ||\r\n loggedInUserRole === \"Super Admin\") {\r\n viewmodel.set(\"isAdminUser\", true);\r\n }\r\n bindActiveEnterprises(viewmodel);\r\n /*getActiveEnterprises().then(\r\n\r\n function (enterpriseData) {\r\n bindActiveEnterprises(viewmodel, enterpriseData);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n*/\r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n app.AppHelper.setTourCache(data);\r\n //console.log(\"retrieved all lists from api\");\r\n app.AppHelper.startHelper(viewmodel, \"EnterpriseList\", false);\r\n },\r\n function () {\r\n console.log(\"retrieving all lists failed\");\r\n });\r\n\r\n}\r\n\r\nfunction showHideColumn(viewmodel, columnName, shouldShow) {\r\n\r\n var grid = $(\"#grid-active-users\").data(\"kendoGrid\");\r\n\r\n if (shouldShow) {\r\n grid.showColumn(columnName);\r\n }\r\n else {\r\n grid.hideColumn(columnName);\r\n }\r\n}\r\n\r\nfunction showHideColumnChange(viewmodel) {\r\n var columns = $(\"#grid-active-users\").getKendoGrid().columns;\r\n if (columns !== null) {\r\n for (var i = 0; i < columns.length; ++i) {\r\n if (columns[i].hidden) {\r\n showHideColumn(viewmodel, columns[i].field, false)\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Function: bindActiveEnterprises ------------------------------------------------------------------\r\nfunction bindActiveEnterprises(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n change: function (e) {\r\n setTimeout(function () {\r\n showHideColumnChange(viewmodel);\r\n }, 1000);\r\n },\r\n transport: {\r\n read: function (options) {\r\n console.log(options.data);\r\n console.log(options.data.filter); \r\n \r\n // Safely extract filter value and field\r\n let filterValue = \"\";\r\n let filterField = \"\";\r\n if (options.data && options.data.filter && \r\n Array.isArray(options.data.filter.filters) && \r\n options.data.filter.filters.length > 0) {\r\n filterValue = options.data.filter.filters[0].value || \"\";\r\n filterField = options.data.filter.filters[0].field || \"\";\r\n }\r\n var sortField = \"\";\r\n var sortDir = \"\";\r\n if (options.data && options.data.sort && \r\n Array.isArray(options.data.sort) && \r\n options.data.sort.length > 0) {\r\n sortField = options.data.sort[0].field || \"\";\r\n sortDir = options.data.sort[0].dir || \"\";\r\n }\r\n\r\n app.AppEnterprise.getActiveEnterprises(\r\n options.data.page || 1,\r\n options.data.pageSize || 20,\r\n filterValue,\r\n filterField,\r\n sortField,\r\n sortDir,\r\n null, // industryId\r\n null, // sizeId\r\n null // provinceId\r\n ).then(function (result) {\r\n options.success(result);\r\n def.resolve();\r\n }, function (error) {\r\n options.error(error);\r\n def.reject(error);\r\n });\r\n }\r\n },\r\n serverPaging: true,\r\n serverSorting: true,\r\n serverFiltering: true,\r\n pageSize: 20,\r\n schema: {\r\n data: \"data\",\r\n total: \"totalCount\",\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n Industry: { type: \"string\" },\r\n Province: { type: \"string\" },\r\n HeadCount: { type: \"number\" },\r\n BbeeLevelId: { type: \"number\" },\r\n BlackWomanOwned: { type: \"number\" },\r\n BlackOwnership: { type: \"number\" },\r\n Status: { type: \"string\" },\r\n Maturity: { type: \"number\" },\r\n EnterpriseProducts: { type: \"string\" },\r\n Funds: { type: \"string\" },\r\n Programmes: { type: \"string\" },\r\n WebsiteUrl: { type: \"string\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n\r\n console.log(\"ApiResult:\", ApiResult);\r\n var result = {\r\n data: [],\r\n totalCount: ApiResult.TotalCount\r\n };\r\n \r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n EnterpriseId: v.EnterpriseId,\r\n Name: v.Name,\r\n Logo: v.Logo,\r\n HeadCount: Math.round(v.HeadCount),\r\n Permissions: v.Permissions,\r\n Status: v.Status,\r\n EnterpriseProducts: v.EnterpriseProducts,\r\n Funds: v.Funds,\r\n Programmes: v.Programmes,\r\n WebsiteUrl: v.WebsiteUrl\r\n };\r\n if (v.Industry && v.Industry.Name) { pushData.Industry = v.Industry.Name; }\r\n if (v.Address.Province) { pushData.Province = v.Address.Province.Name; }\r\n if (v.Maturity) { pushData.Maturity = v.Maturity; }\r\n if (v.Bbee) {\r\n if (v.Bbee.BbeeLevelId) {\r\n pushData.BbeeLevelId = v.Bbee.BbeeLevelId;\r\n }\r\n pushData.BlackWomanOwned = v.Bbee.BlackWomanOwned;\r\n pushData.BlackOwnership = v.Bbee.BlackOwnership;\r\n // TODO:set two new fields\r\n }\r\n\r\n if (v.EnterpriseProducts) {\r\n\r\n var currentEnterpriseProductList = v.EnterpriseProducts;\r\n pushData.EnterpriseProducts = [];\r\n\r\n currentEnterpriseProductList.forEach(function (enterpriseProduct) {\r\n\r\n pushData.EnterpriseProducts.push(enterpriseProduct.Product.Name);\r\n\r\n });\r\n\r\n pushData.EnterpriseProducts = pushData.EnterpriseProducts;\r\n }\r\n\r\n result.data.push(pushData);\r\n });\r\n result.totalCount = ApiResult.TotalCount;\r\n return result;\r\n }\r\n },\r\n\r\n });\r\n\r\n\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n}\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function alterDisplayedTable(e) {\r\n\r\n var isAdminUser = viewmodel.get(\"isAdminUser\");\r\n\r\n $(\"#grid-active-users .enterprise-list-tr\").each(function () {\r\n var currentDataItem = $(\"#grid-active-users\").data(\"kendoGrid\").dataItem($(this));\r\n\r\n var havePermissions = false;\r\n if (isAdminUser || (currentDataItem.Permissions && currentDataItem.Permissions.length > 0))\r\n havePermissions = true;\r\n\r\n if (!havePermissions) {\r\n $(this).find(\"div.list-dropdown\").find(\"ul\").find(\".divider\").remove();\r\n $(this).find(\"div.list-dropdown\").find(\"ul\").find(\".edit\").remove();\r\n $(this).find(\"div.list-dropdown\").find(\"ul\").find(\".removeEnterprise\").remove();\r\n }\r\n });\r\n app.AppGrids.adjustDropdowns();\r\n loadClickEvents();\r\n }\r\n\r\n function onDataBound(e) {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n var columns = e.sender.columns;\r\n\r\n if (columns !== null) {\r\n for (var i = 0; i < columns.length; ++i) {\r\n var columnIndex = this.wrapper.find(\".k-grid-header [data-field=\" + columns[i].field + \"]\").index();\r\n var rows = e.sender.tbody.children();\r\n for (var j = 0; j < rows.length; j++) {\r\n var row = $(rows[j]);\r\n var cell = row.children().eq(columnIndex);\r\n if (columns[i].hidden) {\r\n cell.hide();\r\n } else {\r\n cell.show();\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n $(\"#grid-active-users\").kendoGrid({\r\n columnHide: function (e) {\r\n showHideColumn(viewmodel, e.column.field, false);\r\n },\r\n columnShow: function (e) {\r\n showHideColumn(viewmodel, e.column.field, true);\r\n },\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n // height: 720,\r\n sortable: true,\r\n resizable: true,\r\n reorderable: true,\r\n columnMenu: true,\r\n filterable: { mode: \"row\" },\r\n scrollable: true,\r\n serverOperation: true,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: [10, 20, 50, 100]\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n id: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false,\r\n suggestionOperator: \"contains\"\r\n }\r\n },\r\n locked: false,\r\n width: 304\r\n }, {\r\n field: \"Industry\",\r\n title: \"Industry\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 300\r\n }, {\r\n field: \"Province\",\r\n title: \"Province\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 200\r\n },\r\n {\r\n field: \"HeadCount\",\r\n title: \"Head Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: 200\r\n },\r\n\r\n {\r\n field: \"BbeeLevelId\",\r\n title: \"BBEE Level\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: 200\r\n },\r\n {\r\n field: \"WebsiteUrl\",\r\n title: \"Website\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 200\r\n }, {\r\n field: \"BlackWomanOwned\",\r\n title: \"Black Woman Ownership\",\r\n width: 250,\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n }, {\r\n field: \"BlackOwnership\",\r\n title: \"Black Ownership\",\r\n width: 200,\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n }, {\r\n field: \"Status\",\r\n title: \"Status\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 300\r\n }, {\r\n field: \"Maturity\",\r\n title: \"Maturity Index\",\r\n width: 200\r\n }, {\r\n field: \"EnterpriseProducts\",\r\n title: \"Products/Services\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n hidden: true,\r\n width: 300\r\n }, {\r\n field: \"Funds\",\r\n title: \"Funds\",\r\n filterable: {\r\n multi: true,\r\n search: true,\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 300\r\n },\r\n {\r\n field: \"Programmes\",\r\n title: \"Programmes\",\r\n filterable: {\r\n multi: true,\r\n search: true,\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: 300\r\n }, {\r\n title: \"Actions\",\r\n width: 100\r\n\r\n }],\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n rowTemplate: kendo.template($(\"#active-enterprise-list-template\").html())\r\n });\r\n\r\n\r\n var grid = $(\"#grid-active-users\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(20);\r\n });\r\n\r\n app.AppGrids.setupGridFilterDropdownListInputClickToShowAllItems();\r\n\r\n grid.thead.find(\".k-header-column-menu\").not(\":first\").remove();\r\n addFilterIcons();\r\n setTimeout(function () {\r\n hideColumnsDefault(viewmodel);\r\n }, 250);\r\n\r\n}\r\n\r\nfunction addFilterIcons() {\r\n $(\".k-filtercell\").each(function () {\r\n var cell = $(this);\r\n var numericBox = cell.find(\".k-numerictextbox\");\r\n if (numericBox.length === 0) {\r\n var input = cell.find(\"input\");\r\n if (input.length > 0) {\r\n var icon = $('');\r\n cell.append(icon);\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction hideColumnsDefault(viewmodel) {\r\n showHideColumn(viewmodel, \"BlackWomanOwned\", false);\r\n showHideColumn(viewmodel, \"Province\", false);\r\n showHideColumn(viewmodel, \"BlackOwnership\", false);\r\n showHideColumn(viewmodel, \"Maturity\", false);\r\n showHideColumn(viewmodel, \"Funds\", false);\r\n showHideColumn(viewmodel, \"Programmes\", false);\r\n}\r\n\r\n// Function: getActiveEnterprises -------------------------------------------------------------------\r\nfunction getActiveEnterprises() {\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.getActiveEnterprises(1, 20, \" \", null, null, null).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".restoreEnterprise\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"enterpriseName\");\r\n var id = $(this).attr(\"enterpriseId\");\r\n\r\n restoreEnterprise(name, id);\r\n });\r\n\r\n\r\n $(\".removeEnterprise\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"enterpriseName\");\r\n var id = $(this).attr(\"enterpriseId\");\r\n\r\n removeEnterprise(name, id);\r\n });\r\n\r\n $(\".closeEnterprise\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"enterpriseName\");\r\n var id = $(this).attr(\"enterpriseId\");\r\n\r\n closeEnterprise(name, id);\r\n });\r\n\r\n\r\n $(\".showPerformance\").on('click', function (e) {\r\n if (e.target.tagName.toLowerCase() !== 'a') {\r\n var enterpriseId = $(this).closest('[enterpriseId]').attr(\"enterpriseId\");\r\n\r\n if (enterpriseId) {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=overview\");\r\n }\r\n }\r\n });\r\n\r\n}\r\n\r\n// Function: removeEnterprise -----------------------------------------------------------------------\r\nfunction removeEnterprise(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n removeEnterpriseConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.removeEnterprise(id).then(\r\n\r\n function (data) {\r\n $('#grid-active-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Deleted\",\r\n message: \"Enterprise successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n\r\n// Function: removeEnterpriseConfirm --------------------------------------------------------------------------\r\nfunction removeEnterpriseConfirm(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to delete \" + enterprise + \"?\" + \"\\n\\n\" + \"Please note that this enterprise will be permanently deleted from the system.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: restoreEnterprise -----------------------------------------------------------------------\r\nfunction restoreEnterprise(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n restoreConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.restoreEnterprise(id).then(\r\n\r\n function (data) {\r\n $(\"#grid-active-users\").data(\"kendoGrid\").dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise successfully restored.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: restoreConfirm --------------------------------------------------------------------------\r\nfunction restoreConfirm(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"restoreConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to restore \" + enterprise + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: closeEnterprise -----------------------------------------------------------------------\r\nfunction closeEnterprise(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n closeEnterpriseConfrim(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.closeEnterprise(id).then(\r\n\r\n function (data) {\r\n $('#grid-active-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Deleted\",\r\n message: \"Enterprise successfully closed.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: restoreConfirm --------------------------------------------------------------------------\r\nfunction closeEnterpriseConfrim(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"closeConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to close \" + enterprise + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/enterprise\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.removePhoto = function () { removePhoto(this); };\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n this.provinceList = app.AppDataLists.getProvincesLocal();\r\n this.industryList = app.AppDataLists.getIndustriesLocal();\r\n this.beeLevelList = app.AppDataLists.getBeeLevelsLocal();\r\n this.beeTypeList = app.AppDataLists.getBeeTypesLocal();\r\n this.startup = function () { startup(this); };\r\n\r\n this.downloadRecord = { id: \"\", enterpriseId: this.data.Id, name: \"\", file: \"\", type: \"\", expiryDate: \"\" };\r\n this.uploadedFiles = [];\r\n this.addDiagnosticReportToMaturityIndex = function (e) { addDiagnosticReportToMaturityIndex(this, e); };\r\n this.isEdgeUser = false;\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/add\", \"Enterprise - Add\");\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def); \r\n app.AppEnterpriseAddEditShared.isEdgeUser(viewmodel);\r\n\r\n initextEditor();\r\n doFormValidation(viewmodel);\r\n app.AppEnterpriseAddEditShared.createMaturityDataSource(viewmodel, []);\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().role;\r\n app.AppFund.getFunds(1, 10000, \" \", \" \", \" \", \"active\", \" \", userRole).then(\r\n function (data) {\r\n app.AppEnterpriseAddEditShared.hideEnterpriseFinancialsForCorporatesToggle(),\r\n app.AppFund.setFundsLocal(data.Results);\r\n app.AppEnterprise.createEnterpriseCapitalCommittedDeployedDataSourceAndGrid(viewmodel, 'capitalcommitted-grid', 'Capital Committed', []);\r\n app.AppEnterprise.createEnterpriseCapitalCommittedDeployedDataSourceAndGrid(viewmodel, 'capitaldeployed-grid', 'Capital Deployed', []);\r\n app.AppEnterprise.setStylingAddRecordToGridButton();\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n\r\n });\r\n\r\n bindEvents(viewmodel);\r\n\r\n var productMultiSelect = $('#products').data('kendoMultiSelect');\r\n if ($('#products').data('kendoMultiSelect')) {\r\n productMultiSelect.enable(false);\r\n }\r\n\r\n viewmodel.set(\"isEditMode\", false);\r\n def.resolve();\r\n}\r\n\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#add-enterprise-form\").kendoValidator(\r\n {\r\n rules: {\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\" ||\r\n $(input).attr(\"name\") === \"keyContactCellNo\") {\r\n if (input.val() != \"\") {\r\n return input.val().length > 9\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n url: \"Your input is not a valid URL\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\") {\r\n return \"Telephone is not valid\"\r\n }\r\n if ($(input).attr(\"name\") === \"keyContactCellNo\") {\r\n return \"Cellphone is not valid\"\r\n }\r\n else {\r\n return \"Your input is not valid\"\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n};\r\n\r\n//Function bindEvents--------------------------------------------------------------------------------------\r\nfunction bindEvents(viewmodel) {\r\n\r\n dropDrownEvents(viewmodel);\r\n\r\n iniProductsMulitSelect(null);\r\n\r\n multiSelectEvents();\r\n}\r\n\r\n//Function dropDrownEvents--------------------------------------------------------------------------------------\r\nfunction dropDrownEvents(viewmodel) {\r\n\r\n $(\"#industryId\").on('change', function (e) {\r\n e.preventDefault();\r\n var multiSelect = $('#products').data('kendoMultiSelect');\r\n multiSelect.enable(true);\r\n getProducts(this.value);\r\n });\r\n\r\n enterpriseReportCreationDayDropDownList(viewmodel);\r\n}\r\n\r\n//Function multiSelectEvents--------------------------------------------------------------------------------------\r\nfunction multiSelectEvents() {\r\n\r\n $(document).on('click', '#add-new-item-button', function (e) {\r\n e.preventDefault();\r\n var value = $('#add-new-item-button').attr('data-itemValue');\r\n var id = $('#add-new-item-button').attr('data-itemId');\r\n addNewProduct(id, value);\r\n });\r\n}\r\n\r\n// Function: initextEditor --------------------------------------------------------------------------\r\nfunction initextEditor() {\r\n\r\n $(\"#overview\").kendoEditor({\r\n resizable: {\r\n toolbar: true\r\n }, tools: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"createLink\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n ]\r\n });\r\n}\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#enterpriseName\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n };\r\n}\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 450,\r\n height: 240,\r\n type: 'square'\r\n },\r\n boundary: {\r\n width: 600,\r\n height: 300\r\n }\r\n });\r\n\r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n\r\n $(\".uploadClick\").on(\"click\", function () {\r\n uploadImage.croppie('result', { type: 'base64', size: 'viewport', quality: 0.8 }).then(function (base64) {\r\n viewmodel.data.set(\"logo\", base64);\r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n })\r\n\r\n $('#croppie-modal').on('hidden.bs.modal', function () {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n })\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n};\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"logo\", \"\");\r\n};\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n \r\n if (viewmodel.validator.validate()) {\r\n app.AppEnterpriseAddEditShared.getHideEnterpriseFinancialsForCorporatesToggleValue(viewmodel);\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var addData = getEnterpriseObject(viewmodel);\r\n app.AppEnterprise.add(addData).then(\r\n \r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise successfully created.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + data.data + \"&tab=overview\");\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: getEnterpriseObject --------------------------------------------------------------------\r\nfunction getEnterpriseObject(viewmodel) {\r\n\r\n var strImage = \"\";\r\n\r\n if (viewmodel.data.get(\"logo\")) {\r\n var strToReplace = viewmodel.data.get(\"logo\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n }\r\n return {\r\n\r\n Name: viewmodel.data.get(\"name\"),\r\n RegisteredName: viewmodel.data.get(\"registeredName\"),\r\n RegistrationNumber: viewmodel.data.get(\"registrationNumber\"),\r\n\r\n KeyContactName: viewmodel.data.get(\"keyContactName\"),\r\n KeyContactCellNo: viewmodel.data.get(\"keyContactCellNo\"),\r\n KeyContactEmail: viewmodel.data.get(\"keyContactEmail\"),\r\n\r\n OfficePhone: viewmodel.data.get(\"officephone\"),\r\n Email: viewmodel.data.get(\"email\"),\r\n WebsiteUrl: viewmodel.data.get(\"websiteUrl\"),\r\n Overview: viewmodel.data.get(\"overview\"),\r\n IndustryId: viewmodel.data.get(\"industryId\"),\r\n DisableBbeeCertificateReminders: viewmodel.data.get(\"DisableBbeeCertificateReminders\"),\r\n BbeeLevelId: viewmodel.data.get(\"BbeeLevelId\"),\r\n BbeeTypeId: viewmodel.data.get(\"BbeeTypeId\"),\r\n BlackWomanOwned: viewmodel.data.get(\"blackWomanOwned\"),\r\n BlackOwnership: viewmodel.data.get(\"blackOwnership\"),\r\n Products: buildEnterpriseProducts(viewmodel),\r\n MaturityHistories: app.AppEnterpriseAddEditShared.buildMaturityHistory(viewmodel),\r\n\r\n EnterpriseFundCapitalCommittedHistories: app.AppEnterprise.buildCapitalCommittedDeployedHistoriesObjectToPostFromDataSource(\"capitalcommitted-grid\"),\r\n EnterpriseFundCapitalDeploymentHistories: app.AppEnterprise.buildCapitalCommittedDeployedHistoriesObjectToPostFromDataSource(\"capitaldeployed-grid\"),\r\n\r\n Logo: strImage,\r\n\r\n ComplexBuilding: viewmodel.data.get(\"complexBuilding\"),\r\n Street: viewmodel.data.get(\"street\"),\r\n Suburb: viewmodel.data.get(\"suburb\"),\r\n ProvinceId: viewmodel.data.get(\"provinceId\"),\r\n PostalCode: viewmodel.data.get(\"postalCode\"),\r\n HideEnterpriseFinancialsForCorporates: viewmodel.data.get(\"hideEnterpriseFinancialsForCorporates\"),\r\n SolvingRealWorldProblems: viewmodel.data.get(\"solvingRealWorldProblems\"),\r\n OperateInFastGrowingMarket: viewmodel.data.get(\"operateInFastGrowingMarket\"),\r\n SMEManagementTeamScaleUp: viewmodel.data.get(\"smeManagementTeamScaleUp\"),\r\n ReportCreationDay: viewmodel.data.get(\"reportCreationDay\")\r\n };\r\n}\r\n\r\n//Function getProducts--------------------------------------------------------------------------------------\r\nfunction getProducts(industryId) {\r\n app.AppEnterprise.getAllIndustryProducts(industryId).then(\r\n function (result) {\r\n createProductsMulitSelect(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n }\r\n );\r\n}\r\n\r\n//Function addNewProduct--------------------------------------------------------------------------------------\r\nfunction addNewProduct(widgetId, value) {\r\n\r\n if (value) {\r\n app.AppProduct.addNewProduct(widgetId, value);\r\n }\r\n}\r\n\r\n//Function createProductsMulitSelect---------------------------------------------------------------------------\r\nfunction createProductsMulitSelect(data) {\r\n destroyMultiSelect('#products');\r\n\r\n var localDataSource = new kendo.data.DataSource({ data: data });\r\n $('#products').kendoMultiSelect({\r\n dataSource: localDataSource,\r\n dataTextField: 'ProductName',\r\n dataValueField: 'ProductId',\r\n noDataTemplate: $(\"#noDataTemplate\").html()\r\n }).data(\"kendoMultiSelect\");\r\n}\r\n\r\nfunction enterpriseReportCreationDayDropDownList(viewmodel) {\r\n destroyMultiSelect('#creationDays');\r\n\r\n var data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];\r\n\r\n $(\"#creationDays\").on('change', function (e) {\r\n viewmodel.data.set(\"reportCreationDay\", kendo.parseInt(this.value));\r\n });\r\n\r\n $(\"#creationDays\").kendoDropDownList({\r\n dataSource: data,\r\n index: 9,\r\n });\r\n}\r\n\r\n//Function destroyMultiSelect--------------------------------------------------------------------------------\r\nfunction destroyMultiSelect(selector) {\r\n\r\n var multiselect = $(selector).data('kendoMultiSelect');\r\n if (multiselect) {\r\n app.AppProduct.destroyMultiSelect(selector);\r\n }\r\n}\r\n\r\n//Function iniProductsMulitSelect-----------------------------------------------------------------------------\r\nfunction iniProductsMulitSelect(dataSource) {\r\n\r\n $(\"#products\").kendoMultiSelect({\r\n filter: \"startswith\",\r\n dataTextField: \"ProductName\",\r\n dataValueField: \"ProductId\",\r\n noDataTemplate: $(\"#noDataTemplate\").html(),\r\n dataSource: dataSource\r\n });\r\n}\r\n\r\n//Function buildEnterpriseProducts-----------------------------------------------------------------------------\r\nfunction buildEnterpriseProducts(viewmodel) {\r\n\r\n var industryId = getIndustryId();\r\n\r\n if (viewmodel && industryId) {\r\n\r\n var productsToAddToEnterprise = app.AppProduct.buildEnterpriseProducts(industryId, viewmodel);\r\n\r\n return productsToAddToEnterprise;\r\n }\r\n}\r\n\r\n//Function getIndustryId-----------------------------------------------------------------------------\r\nfunction getIndustryId() {\r\n return $(\"#industryId\").val();\r\n}\r\n\r\n//Maturity Index ---------------------------------------------------------------------------------------\r\nfunction addDiagnosticReportToMaturityIndex(viewmodel, e) {\r\n \r\n e.preventDefault();\r\n\r\n var maturity = $(\"#maturity\").val();\r\n viewmodel.set(\"maturity\", maturity);\r\n\r\n app.AppEnterpriseAddEditShared.addDiagnosticReportToMaturityIndex(viewmodel, viewmodel.downloadRecord);\r\n}\r\n","\r\n// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\nvar app = require(\"app\");\r\nvar model;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\nfunction Constructor(argsParams) {\r\n this.documentName;\r\n this.successCount = 0;\r\n this.errorCount = 0;\r\n this.totalRows = 0;\r\n this.data = new kendo.data.Model();\r\n this.startup = function () { startup(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\nfunction initClickEvents() {\r\n $(\"#upload_bulk_enterprises_btn\").on('change', function (evt) {\r\n uploadDocument(evt);\r\n });\r\n}\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n viewmodel.set(\"documentName\", \"Please choose a file\");\r\n initClickEvents();\r\n model = viewmodel;\r\n def.resolve();\r\n buildGrid([]);\r\n}\r\n\r\n// Function: getUserObject --------------------------------------------------------------------------\r\nfunction uploadDocument(evt) {\r\n var file = evt.target.files[0];\r\n model.set(\"documentName\", file.name);\r\n console.log(file);\r\n var formData = new FormData();\r\n formData.append(\"file\", file);\r\n\r\n app.AppEnterpriseUpload.uploadEnterpriseFile(formData)\r\n .then(r => {\r\n const data = r.data;\r\n let validationResults = data.map(item => ({\r\n rowNumber: item.RowNumber,\r\n errors: item.Errors\r\n }));\r\n\r\n var grid = $(\"#grid-validation-results\").data(\"kendoGrid\");\r\n console.debug('process',preprocessData(validationResults))\r\n grid.dataSource.data(preprocessData(validationResults));\r\n\r\n model.set('totalRows',validationResults.length);\r\n })\r\n}\r\n\r\nfunction buildGrid(data){\r\n $(\"#grid-validation-results\").kendoGrid({\r\n dataSource: {\r\n data: preprocessData(data),\r\n schema: {\r\n model: {\r\n fields: {\r\n rowNumber: { type: \"number\" },\r\n errors: { type: \"array\" }\r\n }\r\n }\r\n },\r\n pageSize: 20 // Set page size as needed\r\n },\r\n scrollable: false,\r\n pageable: true,\r\n columns: [\r\n { field: \"rowNumber\", title: \"Row Number\", width: \"20%\" },\r\n { field: \"errors\", title: \"Errors\", width: \"80%\",\r\n template: function(item){\r\n if(item.errors.length){\r\n return \"Expand row to see specific errors\";\r\n }\r\n else{\r\n return \"Row was successfully updated\";\r\n }\r\n }\r\n }\r\n ],\r\n \r\n noRecords: {\r\n template: \"
Please upload a file to see results.

\"\r\n },\r\n \r\n detailTemplate: kendo.template($(\"#detail-template\").html()), // Define detail template\r\n dataBound: function(e) {\r\n // Loop through rows and apply row coloring based on errors\r\n var grid = e.sender;\r\n grid.tbody.find(\"tr\").each(function() {\r\n var dataItem = grid.dataItem(this);\r\n var rowColor = dataItem.errors && dataItem.errors.length > 0 ? \"red\" : \"\"; // Set your desired color\r\n $(this).css(\"color\", rowColor);\r\n });\r\n },\r\n detailInit: function(e) {\r\n if (!e.data.errors || e.data.errors.length === 0) {\r\n e.detailCell.text(''); // Hide detail expand icon if there are no errors\r\n }\r\n }\r\n });\r\n}\r\n\r\n // Preprocess the data to ensure rows with errors are on top\r\n function preprocessData(data) {\r\n if(!data || data.length === 0){\r\n return data;\r\n }\r\n // Separate rows with errors from rows without errors\r\n const rowsWithErrors = data.filter(item => item.errors && item.errors.length > 0);\r\n const rowsWithoutErrors = data.filter(item => !item.errors || item.errors.length === 0);\r\n \r\n model.set('errorCount',rowsWithErrors.length);\r\n model.set('successCount',rowsWithoutErrors.length);\r\n\r\n // Concatenate the two arrays, putting rows with errors on top\r\n return rowsWithErrors.concat(rowsWithoutErrors);\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.loadingDef;\r\n this.isEnterpriseUser = false;\r\n this.isMentorUser = false;\r\n this.isAdminUser = false;\r\n this.isManagerUser = false;\r\n this.viewOnlyPermissions = false;\r\n this.fullPermissions = false;\r\n this.enterpriseId = \"\";\r\n this.applyFilter = function () { applyFilter(this) }\r\n this.deleteUser = function () { deleteUser(this) }\r\n this.viewInactiveUsers = function () { viewInactiveUsers(this) }\r\n this.addEnterpriseUser = function (e) { e.preventDefault(); addEnterpriseUser(this) }\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n viewmodel.loadingDef = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef);\r\n\r\n getEnterpriseByUserOrQueryParam().then(\r\n function (enterpriseId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/dashboard/user\", \"Enterprise - Active User\");\r\n if (enterpriseId) {\r\n viewmodel.enterpriseId = enterpriseId;\r\n setLoggedInUserRole(viewmodel);\r\n bindEnterpriseUsers(viewmodel);\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameter missing. Unable to manage enterprise users.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.loadingDef.reject();\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n }, function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameter missing. Unable to manage enterprise users.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.loadingDef.reject();\r\n app.AppRouter.router.navigate(\"/\");\r\n });\r\n\r\n};\r\n\r\n\r\n// Function: getEnterpriseByUserOrQueryParam -------------------------------------------------------------------------\r\nfunction getEnterpriseByUserOrQueryParam() {\r\n\r\n var def = $.Deferred();\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Enterprise\") {\r\n app.AppEnterprise.getEnterpriseByUser().then(\r\n function (result) {\r\n def.resolve(result.EnterpriseId);\r\n },\r\n function (error) {\r\n def.reject(error);\r\n });\r\n } else {\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n def.resolve(enterpriseId);\r\n }\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setLoggedInUserRole --------------------------------------------------------------------\r\nfunction setLoggedInUserRole(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n viewmodel.set(\"isMentor\", true);\r\n\r\n } else if (role === \"Enterprise\") {\r\n viewmodel.set(\"isEnterpriseUser\", true);\r\n\r\n } else if (role === \"Manager\") {\r\n viewmodel.set(\"isManagerUser\", true);\r\n\r\n } else if (role === \"Administrator\" || role === \"Super Admin\") {\r\n viewmodel.set(\"isAdminUser\", true);\r\n };\r\n};\r\n\r\n// Function: bindEnterpriseUsers --------------------------------------------------------------------\r\nfunction bindEnterpriseUsers(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var recordsPerPage;\r\n var recordsCount;\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getEnterpriseUsers(options.data.page, options.data.pageSize, options.data.filter, viewmodel).then(\r\n\r\n function (result) {\r\n setPermissions(viewmodel, result.Results.Permissions)\r\n options.success(result);\r\n viewmodel.loadingDef.resolve();\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n viewmodel.loadingDef.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n recordsCount: ApiResult.TotalCount,\r\n data: ApiResult.Results.Users\r\n };\r\n\r\n return result;\r\n },\r\n total: function (result) {\r\n return result.recordsCount;\r\n }\r\n },\r\n serverPaging: true,\r\n pageSize: 5,\r\n serverFiltering: true,\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n}\r\n\r\n// Function: getEnterpriseUsers ---------------------------------------------------------------------\r\nfunction getEnterpriseUsers(page, pageSize, searchFilter, viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n var filter = \"\"\r\n\r\n if (searchFilter) {\r\n filter = searchFilter.filters.value;\r\n }\r\n\r\n var id = viewmodel.get(\"enterpriseId\");\r\n app.AppEnterprise.getEnterpriseActiveUsers(id, page, pageSize, filter).then(\r\n\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n if (data.Results.EnterpriseName) {\r\n viewmodel.set(\"enterpriseName\", data.Results.EnterpriseName);\r\n $(\"#main-page-title\").text(data.Results.EnterpriseName.toUpperCase());\r\n\r\n if (app.AppRouter.getCurrentRoute().params.fund) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/fund/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.fund + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.programme) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/programme/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.programme + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.mentor) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/mentor/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.mentor + \"&tab=enterprises\");\r\n }\r\n } \r\n\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getEnterprise -------------------------------------------------------------------------\r\nfunction setPermissions(viewmodel, permissions) {\r\n\r\n if (viewmodel.get(\"isAdminUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n }\r\n else if (viewmodel.get(\"isMentorUser\") || viewmodel.get(\"isEnterpriseUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n }\r\n else if (viewmodel.get(\"isManagerUser\")) {\r\n if (permissions.length > 0) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n\r\n } else {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n }\r\n }\r\n};\r\n\r\n// Function: bindToGrid -----------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function grid_dataBound(e) {\r\n\r\n $(\"#grid-enterprise-active-users tbody tr .k-grid-DELETE\").each(function () {\r\n\r\n var currentDataItem = $(\"#grid-enterprise-active-users\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n\r\n if (currentDataItem.Status === \"Active\")\r\n $(this).text(\"DEACTIVATE\");\r\n\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n });\r\n\r\n $(\"#grid-enterprise-active-users tbody tr .k-grid-RESENDINVITE\").each(function () {\r\n\r\n var currentDataItem = $(\"#grid-enterprise-active-users\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n\r\n if (currentDataItem.Status !== \"Pending\") {\r\n $(this).remove();\r\n }\r\n\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n });\r\n\r\n $(\"#grid-enterprise-active-users tbody tr .k-grid-SETREPORTER\").each(function () {\r\n\r\n var currentDataItem = $(\"#grid-enterprise-active-users\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n\r\n if (currentDataItem.IsPrimary) {\r\n $(this).remove();\r\n }\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n });\r\n\r\n $(\"#grid-enterprise-active-users tbody tr .k-grid-UNSETREPORTER\").each(function () {\r\n\r\n var currentDataItem = $(\"#grid-enterprise-active-users\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n\r\n if (!currentDataItem.IsPrimary) {\r\n $(this).remove();\r\n }\r\n\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n });\r\n\r\n $(\"#grid-enterprise-active-users tbody tr .k-grid-EDIT\").each(function () {\r\n\r\n var currentDataItem = $(\"#grid-enterprise-active-users\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser();\r\n if (!viewmodel.get(\"fullPermissions\") && currentDataItem.Email !== loggedInUser.email)\r\n $(this).remove();\r\n });\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#grid-enterprise-active-users\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n //height: 100,\r\n sortable: true,\r\n resizable: true,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true,\r\n buttonCount: 5\r\n },\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n /*scrollable: {\r\n virtual: true\r\n },*/\r\n columns: [{\r\n template: \"#: DisplayName #\",\r\n field: \"DisplayName\",\r\n title: \"Name\",\r\n width: 180\r\n }, {\r\n field: \"Email\",\r\n title: \"Email\",\r\n width: 180\r\n },\r\n {\r\n template: \"# if (IsPrimary) { # YES # } #\",\r\n field: \"IsPrimary\",\r\n title: \"Reporter\",\r\n width: 80\r\n },\r\n {\r\n command: [{ text: \"RESEND INVITE\", click: resendInvite }, { text: \"EDIT\", click: editUser }, { text: \"SET REPORTER\", click: setPrimaryUser }, { text: \"UNSET REPORTER\", click: removePrimaryUser }, { text: \"DELETE\", click: deleteUser }],\r\n title: \" \",\r\n width: 280\r\n }]\r\n });\r\n\r\n var grid = $(\"#grid-enterprise-active-users\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", grid_dataBound);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: setPrimaryUser -------------------------------------------------------------------------\r\nfunction setPrimaryUser(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n var viewmodel = $(\"#applyFilter\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n var enterpriseId = viewmodel.get(\"enterpriseId\");\r\n\r\n setPrimaryUserConfirm(user).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (user.Id) {\r\n\r\n app.AppEnterprise.setPrimaryUser(enterpriseId, user.Id).then(\r\n\r\n function (data) {\r\n $('#grid-enterprise-active-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Success\",\r\n message: \"User successfully set as the reporter.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n }\r\n });\r\n};\r\n\r\n// Function: setPrimaryUser -------------------------------------------------------------------------\r\nfunction setPrimaryUserConfirm(user) {\r\n\r\n var def = new $.Deferred();\r\n\r\n body = user.DisplayName + \" will be set as Reporter. The existing Reporter (if set) will no longer receive communications relating to this Enterprise. Please confirm to continue.\"\r\n\r\n var data = {\r\n Id: \"setPrimaryUserConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removePrimaryUser ----------------------------------------------------------------------\r\nfunction removePrimaryUser(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n var viewmodel = $(\"#applyFilter\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n var enterpriseId = viewmodel.get(\"enterpriseId\");\r\n\r\n removePrimaryUserConfirm(user).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (user.Id) {\r\n\r\n app.AppEnterprise.removePrimaryUser(enterpriseId, user.Id).then(\r\n\r\n function (data) {\r\n $('#grid-enterprise-active-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Success\",\r\n message: \"User successfully removed as the reporter.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n }\r\n });\r\n};\r\n\r\n// Function: removePrimaryUserConfirm ---------------------------------------------------------------\r\nfunction removePrimaryUserConfirm(user) {\r\n\r\n var def = new $.Deferred();\r\n\r\n body = user.DisplayName + \" will be removed as Reporter. No communications for this Enterprise will be sent out until a new Reporter has been set. Please confirm to continue.\"\r\n\r\n var data = {\r\n Id: \"removePrimaryUserConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: applyFilter ----------------------------------------------------------------------------\r\nfunction applyFilter(viewmodel) {\r\n\r\n var filterValue = $(\"#filter\").val();\r\n\r\n var usersDataSource = $('#grid-enterprise-active-users').data('kendoGrid').dataSource;\r\n\r\n usersDataSource.filter({\r\n filters: {\r\n value: filterValue\r\n }\r\n });\r\n};\r\n\r\n// Function: resendInvite ---------------------------------------------------------------------------\r\nfunction resendInvite(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n if (user.Id) {\r\n\r\n app.AppAuth.resendConfirmEmail(user.Id).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Success\",\r\n message: \"Invite successfully resend to \" + user.DisplayName + \" .\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n};\r\n\r\n// Function: editUser -------------------------------------------------------------------------------\r\nfunction editUser(e) {\r\n\r\n e.preventDefault();\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n if (user.Id) {\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser();\r\n if (user.Email === loggedInUser.email) {\r\n\r\n app.AppRouter.router.navigate(\"/profile\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/user/edit?id=\" + user.Id);\r\n }\r\n };\r\n};\r\n\r\n// Function: deleteUserClick ------------------------------------------------------------------------\r\nfunction deleteUser(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n var viewmodel = $(\"#applyFilter\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n deleteReporterConfirm(user.IsPrimary).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n deleteConfirm(viewmodel, user).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (user.Id) {\r\n\r\n app.AppAuth.deleteUser(user.Id).then(\r\n\r\n function (data) {\r\n $('#grid-enterprise-active-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Deactivated\",\r\n message: \"User successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n }\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n\r\n};\r\n\r\n// Function: deleteReporterConfirm ------------------------------------------------------------------\r\nfunction deleteReporterConfirm(IsPrimary) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (IsPrimary) {\r\n\r\n var body = \"You are about to deactivate the reporting user. Please confirm to continue.\";\r\n\r\n var data = {\r\n Id: \"deleteReporterConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n } else {\r\n def.resolve(true);\r\n }\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(viwmodal, user) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"\";\r\n\r\n if (user.Status !== \"Active\") {\r\n body = \"Are you sure you want to delete \" +\r\n user.DisplayName +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"Please note that this user will be permanently deleted from the system.\";\r\n\r\n } else {\r\n body = \"Are you sure you want to deactivate \" +\r\n user.DisplayName +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"This user can be restored from the inactive section.\";\r\n }\r\n\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addEnterpriseUser ----------------------------------------------------------------------\r\nfunction addEnterpriseUser(viewmodel) {\r\n var enterpriseId = viewmodel.get(\"enterpriseId\");\r\n app.AppRouter.router.navigate(\"/enterprise/user/add?id=\" + enterpriseId);\r\n};\r\n\r\n// Function: viewInactiveUsers ----------------------------------------------------------------------\r\nfunction viewInactiveUsers(viewmodel) {\r\n\r\n var contentHolder;\r\n if (viewmodel.get(\"isEnterpriseUser\") === true) {\r\n contentHolder = \"#primary-content\";\r\n } else {\r\n contentHolder = \"#enterprise-dashboard-content\";\r\n }\r\n\r\n app.AppRender.showView(contentHolder, {\r\n html: \"./custom/enterprise/dashboard/inactive-users\",\r\n viewmodel: \"./custom/enterprise/dashboard/inactive-users\",\r\n code: \"./custom/enterprise/dashboard/inactive-users\"\r\n });\r\n\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n\r\n this.startup = function () { startup(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.loadingDef;\r\n this.isEnterpriseUser = false;\r\n this.isMentorUser = false;\r\n this.isAdminUser = false;\r\n this.isManagerUser = false;\r\n this.viewOnlyPermissions = false;\r\n this.fullPermissions = false;\r\n this.enterpriseId = \"\";\r\n this.applyFilter = function () { applyFilter(this); };\r\n this.deleteUser = function () { deleteUser(this); };\r\n this.viewActiveUsers = function () { viewActiveUsers(this); };\r\n this.addEnterpriseUser = function (e) { e.preventDefault(); addEnterpriseUser(this); };\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n viewmodel.loadingDef = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef);\r\n\r\n getEnterpriseByUserOrQueryParam().then(\r\n function (enterpriseId) {\r\n\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/dashboard/user\", \"Enterprise - Inactive User\");\r\n\r\n if (enterpriseId) {\r\n viewmodel.enterpriseId = enterpriseId;\r\n setLoggedInUserRole(viewmodel);\r\n bindEnterpriseUsers(viewmodel);\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameter missing. Unable to manage enterprise users.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.loadingDef.reject();\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n }, function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameter missing. Unable to manage enterprise users.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.loadingDef.reject();\r\n app.AppRouter.router.navigate(\"/\");\r\n });\r\n};\r\n\r\n// Function: getEnterpriseByUserOrQueryParam -------------------------------------------------------------------------\r\nfunction getEnterpriseByUserOrQueryParam() {\r\n\r\n var def = $.Deferred();\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Enterprise\") {\r\n app.AppEnterprise.getEnterpriseByUser().then(\r\n function (result) {\r\n def.resolve(result.EnterpriseId);\r\n },\r\n function (error) {\r\n def.reject(error);\r\n });\r\n } else {\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n def.resolve(enterpriseId);\r\n }\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\nfunction setLoggedInUserRole(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n viewmodel.set(\"isMentor\", true);\r\n\r\n } else if (role === \"Enterprise\") {\r\n viewmodel.set(\"isEnterpriseUser\", true);\r\n\r\n } else if (role === \"Manager\") {\r\n viewmodel.set(\"isManagerUser\", true);\r\n\r\n } else if (role === \"Administrator\" || role === \"Super Admin\") {\r\n viewmodel.set(\"isAdminUser\", true);\r\n };\r\n};\r\n\r\n// Function: bindEnterpriseUsers ------------------------------------------------------------------------\r\nfunction bindEnterpriseUsers(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var recordsPerPage;\r\n var recordsCount;\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getEnterpriseUsers(options.data.page, options.data.pageSize, options.data.filter, viewmodel).then(\r\n\r\n function (result) {\r\n setPermissions(viewmodel, result.Permissions);\r\n options.success(result.Users);\r\n viewmodel.loadingDef.resolve();\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n viewmodel.loadingDef.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n recordsCount: ApiResult.TotalCount,\r\n data: ApiResult.Results.Users\r\n };\r\n\r\n return result;\r\n },\r\n total: function (result) {\r\n return result.recordsCount;\r\n }\r\n },\r\n serverPaging: true,\r\n pageSize: 10,\r\n serverFiltering: true,\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n}\r\n\r\n// Function: getEnterpriseUsers -------------------------------------------------------------------------\r\nfunction getEnterpriseUsers(page, pageSize, searchFilter, viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n var filter = \"\"\r\n\r\n if (searchFilter) {\r\n filter = searchFilter.filters.value;\r\n }\r\n\r\n var id = viewmodel.get(\"enterpriseId\");\r\n app.AppEnterprise.getEnterpriseInActiveUsers(id, page, pageSize, filter).then(\r\n\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n if (data.Users.Results.EnterpriseName) {\r\n //$(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#main-page-title\").text(data.Users.Results.EnterpriseName.toUpperCase());\r\n }\r\n\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getEnterprise -------------------------------------------------------------------------\r\nfunction setPermissions(viewmodel, permissions) {\r\n\r\n if (viewmodel.get(\"isAdminUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n }\r\n else if (viewmodel.get(\"isMentorUser\") || viewmodel.get(\"isEnterpriseUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n }\r\n else if (viewmodel.get(\"isManagerUser\")) {\r\n if (permissions.length > 0) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n\r\n } else {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n }\r\n }\r\n};\r\n\r\n// Function: bindToGrid -----------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function grid_dataBound(e) {\r\n $(\"#grid-enterprise-inactive-users tbody tr .k-grid-RESTORE\").each(function () {\r\n\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n });\r\n\r\n $(\"#grid-enterprise-inactive-users tbody tr .k-grid-DELETE\").each(function () {\r\n\r\n if (!viewmodel.get(\"fullPermissions\"))\r\n $(this).remove();\r\n });\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#grid-enterprise-inactive-users\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n //height: 100,\r\n sortable: true,\r\n resizable: true,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true,\r\n buttonCount: 5\r\n },\r\n noRecords: {\r\n template: \"
No records are available.

\"\r\n },\r\n /*scrollable: {\r\n virtual: true\r\n },*/\r\n columns: [{\r\n template: \"#: DisplayName #\",\r\n field: \"DisplayName\",\r\n title: \"Name\",\r\n width: 200\r\n }, {\r\n field: \"Email\",\r\n title: \"Email\",\r\n width: 200\r\n }, {\r\n field: \"RoleName\",\r\n title: \"Role\",\r\n width: 150\r\n }, {\r\n command: [{ text: \"RESTORE\", click: restoreUser }, { text: \"DELETE\", click: deleteUser }],\r\n title: \" \",\r\n width: 280\r\n }]\r\n });\r\n\r\n var grid = $(\"#grid-enterprise-inactive-users\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", grid_dataBound);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n\r\n};\r\n\r\n// Function: restoreUser ----------------------------------------------------------------------------\r\nfunction restoreUser(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n var viewmodel = $(\"#applyFilter\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n restoreConfirm(viewmodel, user).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n if (user.Id) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppAuth.restoreUser(user.Id).then(\r\n\r\n function (data) {\r\n $('#grid-enterprise-inactive-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Restored\",\r\n message: \"User successfully restored.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n }\r\n });\r\n\r\n};\r\n\r\n// Function: restoreConfirm -------------------------------------------------------------------------\r\nfunction restoreConfirm(viwmodal, user) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"restoreConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to restore \" + user.DisplayName + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteUserClick ------------------------------------------------------------------------\r\nfunction deleteUser(e) {\r\n\r\n e.preventDefault();\r\n\r\n var def = new $.Deferred();\r\n\r\n var viewmodel = $(\"#applyFilter\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n\r\n var user = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n deleteConfirm(viewmodel, user).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (user.Id) {\r\n\r\n app.AppAuth.deleteUser(user.Id).then(\r\n\r\n function (data) {\r\n $('#grid-enterprise-inactive-users').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Deleted\",\r\n message: \"User successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n }\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(viwmodal, user) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"\";\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to delete \" + user.DisplayName + \"?\" + \"\\n\\n\" + \"Please note that this user will be permanently deleted from the system.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: applyFilter ----------------------------------------------------------------------------\r\nfunction applyFilter(viewmodel) {\r\n\r\n var filterValue = $(\"#filter\").val();\r\n\r\n var usersDataSource = $('#grid-enterprise-inactive-users').data('kendoGrid').dataSource;\r\n\r\n usersDataSource.filter({\r\n filters: {\r\n value: filterValue\r\n }\r\n });\r\n};\r\n\r\n// Function: viewActiveUsers ----------------------------------------------------------------------\r\nfunction viewActiveUsers(viewmodel) {\r\n var contentHolder;\r\n if (viewmodel.get(\"isEnterpriseUser\") === true) {\r\n contentHolder = \"#primary-content\";\r\n } else {\r\n contentHolder = \"#enterprise-dashboard-content\";\r\n }\r\n\r\n app.AppRender.showView(contentHolder, {\r\n html: \"./custom/enterprise/dashboard/active-users\",\r\n viewmodel: \"./custom/enterprise/dashboard/active-users\",\r\n code: \"./custom/enterprise/dashboard/active-users\"\r\n });\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/dashboard/news\", \"Enterprise - News\");\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/enterprise\");\r\nvar metricsModel = require(\"app_mvvm_models/custom/enterprise/overview-metric\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.isEnterpriseUser = false;\r\n this.isMentorUser = false;\r\n this.isAdminUser = false;\r\n this.isManagerUser = false;\r\n this.isCorporateUser = false;\r\n\r\n this.viewOnlyPermissions = false;\r\n this.fullPermissions = false;\r\n this.isEditButtonVisible = false;\r\n this.isDeactivateButtonVisible = false;\r\n this.isKeyContactVisible = false;\r\n this.isAddressVisible = false;\r\n this.isCorporatePermitted = false;\r\n this.isheadCountVisible = false;\r\n this.isAboutVisible = false;\r\n this.data = new model();\r\n this.mentors = [];\r\n this.edgeMentors = [];\r\n\r\n this.fileName = \"\";\r\n this.downloads = [];\r\n this.certificates = [];\r\n\r\n this.downloadModalOriginalState = \"\";\r\n this.certificateModalOriginalState = \"\";\r\n this.isdownloadEdit = false;\r\n this.iscertificateEdit = false;\r\n this.downloadName = \"\";\r\n this.certificateName = \"\";\r\n this.downloadSelected = false;\r\n this.certificateSelected = false;\r\n this.isdownloadButtonVisible = false;\r\n this.iscertificateButtonVisible = false;\r\n this.downloadRecord = { id: \"\", enterpriseId: this.data.Id, name: \"\", file: \"\", type: \"\", expiryDate: \"\" };\r\n this.certificateRecord = { id: \"\", enterpriseId: this.data.Id, name: \"\", file: \"\", type: \"\", expiryDate: \"\" };\r\n this.uploadedFiles = [];\r\n this.addDownload = function () { addDownload(this); };\r\n this.addCertificate = function () { addCertificate(this); };\r\n\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n this.startup = function () { startup(this); };\r\n this.deleteOrRestoreEnterprise = function () { deleteOrRestoreEnterprise(this); };\r\n this.addMentor = function () { addMentor(this); };\r\n this.enterpriseMailtoLink = function () { return \"mailto:\" + this.data.get(\"email\"); };\r\n this.keyContactMailtoLink = function () { return \"mailto:\" + this.data.get(\"keyContactEmail\"); };\r\n this.editEnterpriseLink = function () { return \"#/enterprise/edit?id=\" + this.data.get(\"Id\"); };\r\n this.metricsModel = new metricsModel();\r\n\r\n this.downloadDocument = function () { downloadDocument(this);};\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n setLoggedInUserRole(viewmodel);\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var enterpriseId = \"\";\r\n\r\n if (app.AppRouter.getCurrentRoute().params.id) {\r\n enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n }\r\n\r\n getEnterprise(viewmodel, enterpriseId).then(\r\n\r\n function (data) {\r\n if (data.Status) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/dashboard/overview\", \"Enterprise - Overview\");\r\n setEnterprise(viewmodel, data);\r\n\r\n if (data.Name) {\r\n $(\"#main-page-title\").text(data.Name.toUpperCase());\r\n\r\n if (app.AppRouter.getCurrentRoute().params.fund) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/fund/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.fund + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.programme) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/programme/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.programme + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.mentor) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/mentor/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.mentor + \"&tab=enterprises\");\r\n }\r\n\r\n viewmodel.set(\"enterpriseName\", data.Name);\r\n }\r\n \r\n setOverviewMetricData(viewmodel, data);\r\n\r\n formatAllExpiryDateClassElements();\r\n def.resolve();\r\n\r\n } else {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Enterprise \" + data.Name + \" is not active in the system. Please restore from inactive and try again.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n app.AppRouter.router.navigate(\"/enterprises\");\r\n }\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n //app.AppRouter.router.navigate(\"/enterprises\");\r\n });\r\n\r\n setMetricCardsClickEvents(viewmodel);\r\n\r\n loadPerformance();\r\n\r\n}\r\n\r\nfunction loadPerformance(){\r\n app.AppRender.showView(\"#overview-performance\", {\r\n html: \"./custom/enterprise/dashboard/performance\",\r\n viewmodel: \"./custom/enterprise/dashboard/performance\",\r\n code: \"./custom/enterprise/dashboard/performance\",\r\n viewmodelParams:{\r\n overviewViewModel: this.viewmodel,\r\n \r\n }\r\n });\r\n}\r\n\r\n// Function: formatExpiryDate --------------------------------------------------------------------\r\nfunction formatExpiryDate(dateOriginal) {\r\n var formattedDate = new Date(dateOriginal);\r\n var day = formattedDate.getDate();\r\n var month = formattedDate.getMonth();\r\n month += 1;\r\n var year = formattedDate.getFullYear();\r\n if (day < 10) {\r\n day = \"0\" + day;\r\n }\r\n if (month < 10) {\r\n month = \"0\" + month;\r\n }\r\n return day + \"/\" + month + \"/\" + year;\r\n}\r\n\r\n// Function: formatAllExpiryDateClassElements --------------------------------------------------------------------\r\nfunction formatAllExpiryDateClassElements() {\r\n $(\".expiryDate\").each(function (index) {\r\n var expiryDateOriginal = $(this).text();\r\n var newValue = formatExpiryDate(expiryDateOriginal);\r\n $(this).text(newValue);\r\n });\r\n}\r\n\r\n\r\n// Function: setLoggedInUserRole --------------------------------------------------------------------\r\nfunction setLoggedInUserRole(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n viewmodel.set(\"isMentor\", true);\r\n\r\n } else if (role === \"Enterprise\") {\r\n viewmodel.set(\"isEnterpriseUser\", true);\r\n\r\n } else if (role === \"Manager\") {\r\n viewmodel.set(\"isManagerUser\", true);\r\n\r\n } else if (role === \"Administrator\" || role === \"Super Admin\") {\r\n viewmodel.set(\"isAdminUser\", true);\r\n\r\n } else if (role === \"Corporate\") {\r\n viewmodel.set(\"isCorporateUser\", true);\r\n }\r\n}\r\n\r\n// Function: getEnterprise -------------------------------------------------------------------------\r\nfunction getEnterprise(viewmodel, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (enterpriseId) {\r\n\r\n getEnterpriseById(viewmodel, enterpriseId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n } else {\r\n\r\n getEnterpriseByUser().then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n }\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getEnterpriseById ----------------------------------------------------------------------\r\nfunction getEnterpriseById(viewmodel, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getEnterpriseById(enterpriseId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getEnterpriseByUser --------------------------------------------------------------------\r\nfunction getEnterpriseByUser() {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getEnterpriseByUser().then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: setEnterprise --------------------------------------------------------------------------\r\nfunction setEnterprise(viewmodel, enterprise) {\r\n\r\n //a bit hacky but gets the work done.\r\n $(\"#main-page-title\").text(enterprise.Name.toUpperCase());\r\n\r\n var mostRecentDiagnosticReport = enterprise.MaturityHistories;\r\n if (mostRecentDiagnosticReport && mostRecentDiagnosticReport.length > 0){\r\n if (mostRecentDiagnosticReport[0].MaturityIndexDocument){\r\n viewmodel.set(\"mostRecentDiagnosicReportBase64\",mostRecentDiagnosticReport[0].MaturityIndexDocument.File);\r\n viewmodel.set(\"mostRecentDiagnosicReportName\",mostRecentDiagnosticReport[0].MaturityIndexDocument.Name);\r\n }\r\n \r\n}\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n viewmodel.data.set(\"Status\", enterprise.Status);\r\n\r\n if (loggedInUserRole === \"Enterprise\") {\r\n viewmodel.set(\"isEnterpriseUser\", true);\r\n $(\".breadcrumbs\").remove();\r\n }\r\n\r\n const printLogo = document.getElementsByClassName('print-logo');\r\n printLogo[0].src = enterprise.Logo;\r\n\r\n viewmodel.data.set(\"Id\", enterprise.EnterpriseId);\r\n viewmodel.data.set(\"name\", enterprise.Name);\r\n viewmodel.data.set(\"registeredName\", enterprise.RegisteredName);\r\n viewmodel.data.set(\"registrationNumber\", enterprise.RegistrationNumber);\r\n viewmodel.data.set(\"keyContactName\", enterprise.KeyContactName);\r\n viewmodel.data.set(\"keyContactCellNo\", enterprise.KeyContactCellNo);\r\n viewmodel.data.set(\"keyContactEmail\", enterprise.KeyContactEmail);\r\n\r\n if (viewmodel.get(\"isCorporateUser\")) {\r\n if (enterprise.Permissions.length > 0) {\r\n viewmodel.set(\"isKeyContactVisible\", true);\r\n }\r\n } else {\r\n viewmodel.set(\"isKeyContactVisible\", true);\r\n\r\n var status = viewmodel.data.get(\"Status\");\r\n if (loggedInUserRole !== 'Mentor') {\r\n if (status === \"Inactive\") {\r\n document.getElementById(\"deactivateButton\").innerHTML = 'RESTORE ENTERPRISE';\r\n } else {\r\n document.getElementById(\"deactivateButton\").innerHTML = 'DEACTIVATE ENTERPRISE';\r\n }\r\n }\r\n \r\n }\r\n\r\n viewmodel.set(\"enterpriseData\", enterprise);\r\n\r\n viewmodel.data.set(\"officephone\", enterprise.OfficePhone);\r\n viewmodel.data.set(\"email\", enterprise.Email);\r\n viewmodel.data.set(\"websiteUrl\", enterprise.WebsiteUrl);\r\n viewmodel.data.set(\"overview\", enterprise.Overview);\r\n\r\n if(enterprise.Overview && enterprise.Overview.length > 0){\r\n viewmodel.set(\"isAboutVisible\", true);\r\n }\r\n\r\n viewmodel.data.set(\"industryName\", enterprise.Industry.Name);\r\n\r\n if (enterprise.Bbee) {\r\n viewmodel.data.set(\"BbeeLevelId\", enterprise.Bbee.BbeeLevelId);\r\n viewmodel.data.set(\"BlackWomanOwned\", enterprise.Bbee.BlackWomanOwned);\r\n viewmodel.data.set(\"BlackOwnership\", enterprise.Bbee.BlackOwnership);\r\n if (enterprise.Bbee.BbeeType) {\r\n viewmodel.data.set(\"BbeeType\", enterprise.Bbee.BbeeType.Type);\r\n }\r\n }\r\n\r\n if (!viewmodel.data.get(\"BbeeLevelId\")) {\r\n $('.BBBEELevelMetric').remove();\r\n }\r\n if (!viewmodel.data.get(\"BlackWomanOwned\")) {\r\n $('.BlackWomanOwnedMetric').remove();\r\n }\r\n if (!viewmodel.data.get(\"BlackOwnership\")) {\r\n $('.BlackOwnershipMetric').remove();\r\n }\r\n if (!viewmodel.data.get(\"BbeeType\")) {\r\n $('.SMETypeMetric').remove();\r\n } \r\n\r\n viewmodel.data.set(\"isMaturity\", (enterprise.Maturity >= 0 ? true : false));\r\n viewmodel.data.set(\"maturity\", (enterprise.Maturity == 0 ? '0' : enterprise.Maturity));\r\n viewmodel.data.set(\"previousMaturity\", (enterprise.PreviousMaturity == 0 ? '0' : enterprise.PreviousMaturity));\r\n viewmodel.data.set(\"isMaturityDifference\", (enterprise.MaturityDifference != 0) ? true : false);\r\n viewmodel.data.set(\"isPreviousMaturityDifference\", (enterprise.PreviousMaturity != 0) ? true : false);\r\n viewmodel.data.set(\"maturityDifference\", enterprise.MaturityDifference);\r\n viewmodel.data.set(\"permanentEmployees\", enterprise.PermanentEmployees);\r\n viewmodel.data.set(\"temporaryEmployees\", enterprise.TemporaryEmployees);\r\n viewmodel.data.set(\"headCount\", Math.round(enterprise.HeadCount));\r\n viewmodel.data.set(\"businessOfTomorrow\", enterprise.BusinessOfTomorrowString);\r\n viewmodel.data.set(\"showbusinessOfTomorrow\", enterprise.ShowBusinessOfTomorrow);\r\n\r\n if (!enterprise.HeadCount > 0) {\r\n $('.headCountMetric').remove();\r\n }\r\n \r\n viewmodel.data.set(\"complexBuilding\", enterprise.Address.ComplexBuilding);\r\n viewmodel.data.set(\"street\", enterprise.Address.Street);\r\n viewmodel.data.set(\"suburb\", enterprise.Address.Suburb);\r\n\r\n if (enterprise.Address.Province) {\r\n viewmodel.data.set(\"provinceName\", enterprise.Address.Province.Name);\r\n } else {\r\n viewmodel.data.set(\"provinceName\", \"\");\r\n }\r\n\r\n viewmodel.data.set(\"provinceId\", enterprise.Address.ProvinceId);\r\n viewmodel.data.set(\"postalCode\", enterprise.Address.PostalCode);\r\n\r\n if (enterprise.Address.ComplexBuilding || enterprise.Address.Street || enterprise.Address.Suburb || enterprise.Address.Province || enterprise.Address.PostalCode) {\r\n viewmodel.set(\"isAddressVisible\", true);\r\n }\r\n\r\n viewmodel.set(\"mentors\", enterprise.Mentors);\r\n viewmodel.set(\"edgeMentors\", enterprise.EdgeMentors);\r\n viewmodel.set(\"funds\", enterprise.Funds);\r\n viewmodel.set(\"programmes\", enterprise.Programmes);\r\n\r\n if (enterprise.Funds && enterprise.Funds.length > 0) {\r\n viewmodel.data.set(\"isFundsVisible\", true);\r\n }\r\n if (enterprise.Programmes && enterprise.Programmes.length > 0) {\r\n viewmodel.data.set(\"isProgrammesVisible\", true);\r\n } \r\n\r\n // viewmodel.set(\"hideEnterpriseFinancialsForCorporates\", enterprise.HideEnterpriseFinancialsForCorporates); \r\n\r\n setCapitalCommittedGrandTotal(viewmodel, enterprise.EnterpriseFundCapitalCommittedHistories);\r\n setCapitalDeployedGrandTotal(viewmodel, enterprise.EnterpriseFundCapitalDeployedHistories);\r\n setEnterpriseDocuments(viewmodel, enterprise.Downloads);\r\n bindEnterpriseProducts(viewmodel, enterprise.EnterpriseId);\r\n\r\n viewmodel.set(\"mentorCanEditEnterprise\", enterprise.mentorCanEditEnterprise);\r\n setPermissions(viewmodel, enterprise.Permissions, enterprise.HideEnterpriseFinancialsForCorporates);\r\n\r\n createFundProgrammeListView(viewmodel);\r\n createMentorListView(viewmodel);\r\n createDocumentListView(viewmodel, \"download\");\r\n createDocumentListView(viewmodel, \"certificate\");\r\n loadDocumentClickEvents(viewmodel, \"download\");\r\n loadDocumentClickEvents(viewmodel, \"certificate\");\r\n additionalClickEvents();\r\n}\r\n\r\n\r\n// Function: setCapitalCommittedGrandTotal -------------------------------------------------------------------------\r\nfunction setCapitalCommittedGrandTotal(viewmodel, enterpriseFundCapitalCommitted) {\r\n \r\n viewmodel.set(\"capitalCommitted\", getCapitalGrandTotal(enterpriseFundCapitalCommitted));\r\n\r\n setCapitalCommittedOrDeployedPerFund(enterpriseFundCapitalCommitted, \".capitalCommitted-popover\");\r\n}\r\n\r\n// Function: setCapitalDeployedGrandTotal -------------------------------------------------------------------------\r\nfunction setCapitalDeployedGrandTotal(viewmodel, enterpriseFundCapitalDeployed) {\r\n\r\n viewmodel.set(\"capitalDeployed\", getCapitalGrandTotal(enterpriseFundCapitalDeployed));\r\n\r\n setCapitalCommittedOrDeployedPerFund(enterpriseFundCapitalDeployed, \".capitalDeployed-popover\");\r\n}\r\n\r\n// Function: getCapitalGrandTotal -------------------------------------------------------------------------\r\nfunction getCapitalGrandTotal(capitalList) {\r\n\r\n var capitalGrandTotal = 0;\r\n capitalList.forEach(function (v) {\r\n capitalGrandTotal += v.Amount;\r\n });\r\n\r\n return capitalGrandTotal;\r\n}\r\n\r\n// Function: setCapitalCommittedOrDeployedPerFund -------------------------------------------------------------------------\r\nfunction setCapitalCommittedOrDeployedPerFund(enterpriseFundCapitalList, popoverClassName) {\r\n\r\n var capitalPerFundSubtotals = enterpriseFundCapitalList.reduce(function (v, x) {\r\n if (!v[x.FundId]) v[x.FundId] = {\r\n name: x.Name,\r\n fundId: x.FundId,\r\n capitalCommittedPerFundTotal: 0\r\n };\r\n v[x.FundId].capitalCommittedPerFundTotal += Number(x.Amount);\r\n return v;\r\n }, {});\r\n\r\n $(popoverClassName).empty();\r\n\r\n for (var item in capitalPerFundSubtotals) {\r\n $(popoverClassName).append(\"
\" + capitalPerFundSubtotals[item].name +\r\n ' : R' + capitalPerFundSubtotals[item].capitalCommittedPerFundTotal + \"
\" + '
');\r\n }\r\n}\r\n\r\n// Function: setEnterpriseDocuments -------------------------------------------------------------------------\r\nfunction setEnterpriseDocuments(viewmodel, documents) {\r\n\r\n var certificates = [];\r\n var downloads = [];\r\n\r\n documents.forEach(function (doc) {\r\n if (doc.Type === 'certificate') {\r\n certificates.push(doc);\r\n } else {\r\n downloads.push(doc);\r\n }\r\n\r\n });\r\n\r\n viewmodel.set(\"certificates\", certificates);\r\n viewmodel.set(\"downloads\", downloads);\r\n}\r\n\r\n// Function: bindEnterpriseProducts -------------------------------------------------------------------\r\nfunction bindEnterpriseProducts(viewmodel, enterpriseId) {\r\n \r\n app.AppEnterprise.getEnterpriseSelectedProducts(enterpriseId).then(\r\n function success(result) {\r\n var productNames = [];\r\n result.forEach(function (product) {\r\n productNames.push(product.ProductName);\r\n });\r\n viewmodel.data.set(\"productNames\", productNames);\r\n return result;\r\n },\r\n function error(result) {\r\n console.log(\"An error occured\");\r\n }\r\n )\r\n}\r\n\r\n// Function: setPermissions -------------------------------------------------------------------------\r\nfunction setPermissions(viewmodel, permissions, hideEnterpriseFinancialsForCorporates) {\r\n var mentorCanSeeEnterpriseEditButton = viewmodel.get(\"mentorCanEditEnterprise\");\r\n if (mentorCanSeeEnterpriseEditButton) {\r\n viewmodel.set(\"isEditButtonVisible\", true);\r\n viewmodel.set(\"iscertificateButtonVisible\", true);\r\n }\r\n\r\n if (viewmodel.get(\"isAdminUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", true);\r\n viewmodel.set(\"isEditButtonVisible\", true);\r\n viewmodel.set(\"isDeactivateButtonVisible\", true);\r\n }\r\n else if (viewmodel.get(\"isMentorUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"fullPermissions\", false);\r\n viewmodel.set(\"isEditButtonVisible\", false);\r\n viewmodel.set(\"isDeactivateButtonVisible\", true);\r\n }\r\n else if (viewmodel.get(\"isManagerUser\")) {\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n viewmodel.set(\"viewOnlyPermissions\", true);\r\n if (permissions.length > 0) {\r\n viewmodel.set(\"fullPermissions\", true);\r\n viewmodel.set(\"isEditButtonVisible\", true);\r\n viewmodel.set(\"isDeactivateButtonVisible\", true);\r\n } else {\r\n viewmodel.set(\"fullPermissions\", false);\r\n viewmodel.set(\"isDeactivateButtonVisible\", false);\r\n }\r\n\r\n } else if (viewmodel.get(\"isEnterpriseUser\")) {\r\n viewmodel.set(\"fullPermissions\", true);\r\n viewmodel.set(\"isEditButtonVisible\", true);\r\n viewmodel.set(\"isDeactivateButtonVisible\", false);\r\n\r\n //If corporate doesnt have permission disable Navigation \r\n } else if (viewmodel.get(\"isCorporateUser\")) {\r\n if (permissions.length === 0 || hideEnterpriseFinancialsForCorporates === true) {\r\n $(\".nav-pills\").remove();\r\n $(\".btn-tabbar\").remove();\r\n }\r\n }\r\n\r\n //Note: This might cause issues on users other than mentor.\r\n if (!viewmodel.get(\"fullPermissions\") && !mentorCanSeeEnterpriseEditButton) {\r\n $(\".footer-actions-bar\").remove();\r\n }\r\n}\r\n\r\n// Function: createMentorListView -------------------------------------------------------------------\r\nfunction createMentorListView(viewmodel) {\r\n\r\n var mentorList = [];\r\n var mentors = viewmodel.get(\"mentors\");\r\n var edgeUsers = viewmodel.get(\"edgeMentors\");\r\n\r\n mentors.forEach(function (v, i) {\r\n mentorList.push(v);\r\n });\r\n\r\n edgeUsers.forEach(function (v, i) {\r\n mentorList.push(v);\r\n });\r\n\r\n var mentorTemplate = kendo.template($(\"#mentors-template\").html());\r\n var mentorResult = kendo.render(mentorTemplate, mentorList);\r\n $(\"#mentors-container\").html(mentorResult);\r\n\r\n if (viewmodel.get(\"fullPermissions\")) {\r\n loadMentorClickEvents(viewmodel);\r\n\r\n } else {\r\n\r\n $(\"div.metric\").css(\"cursor\", \"default\");\r\n $(\".metric-menu\").remove();\r\n }\r\n}\r\n\r\n// Function: createFundProgrammeListView -------------------------------------------------------------------\r\nfunction createFundProgrammeListView(viewmodel) {\r\n\r\n var funds = viewmodel.get(\"funds\");\r\n var programmes = viewmodel.get(\"programmes\");\r\n\r\n $(\"#fundList\").kendoListView({\r\n template: \"
  • ${name}- [${status}]
  • \",\r\n dataSource: {\r\n data: funds\r\n }\r\n });\r\n\r\n $(\"#programmeList\").kendoListView({\r\n template: \"
  • ${name} - [${status}]
  • \",\r\n dataSource: {\r\n data: programmes\r\n }\r\n });\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role === \"Corporate\") {\r\n $(\".showProgramme\").toggleClass('showProgramme');\r\n $(\".showFund\").toggleClass('showFund');\r\n }\r\n}\r\n\r\n// Function: loadMentorClickEvents ------------------------------------------------------------------\r\nfunction loadMentorClickEvents(viewmodel) {\r\n\r\n $(\".remove\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var mentor = {\r\n Name: $(this).attr(\"MentorName\"),\r\n Id: $(this).attr(\"MentorId\")\r\n };\r\n\r\n removeMentor(mentor, viewmodel);\r\n });\r\n\r\n $(\".remove-edge-mentor\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var mentor = {\r\n Name: $(this).attr(\"MentorName\"),\r\n Id: $(this).attr(\"MentorId\")\r\n };\r\n\r\n removeEdgeMentor(mentor, viewmodel);\r\n });\r\n\r\n $(\".makeLead\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var mentor = {\r\n Name: $(this).attr(\"MentorName\"),\r\n Id: $(this).attr(\"MentorId\")\r\n };\r\n\r\n makeMentorLead(mentor, viewmodel);\r\n });\r\n}\r\n\r\n// Function: createDocumentListView -------------------------------------------------------------------------\r\nfunction createDocumentListView(viewmodel, documentType) {\r\n\r\n var template = kendo.template($(\"#\" + documentType + \"-template\").html());\r\n var data = viewmodel.get(documentType + \"s\");\r\n var result = kendo.render(template, data);\r\n $(\"#\" + documentType + \"-container\").html(result);\r\n\r\n if (!viewmodel.get(\"fullPermissions\") && !viewmodel.get(\"isEnterpriseUser\")) {\r\n $(\".metric-menu\").remove();\r\n } else {\r\n viewmodel.set(\"is\" + documentType + \"ButtonVisible\", true);\r\n }\r\n}\r\n\r\n\r\n// Function: additionalClickEvents ----------------------------------------------------------------\r\nfunction additionalClickEvents() {\r\n\r\n $(\".showFund\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Corporate\") {\r\n var fundId = $(this).attr(\"fundId\");\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + fundId + \"&tab=performance&enterprise=\" + enterpriseId);\r\n }\r\n\r\n });\r\n\r\n $(\".showProgramme\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Corporate\") {\r\n var programmeId = $(this).attr(\"programmeId\");\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/programme/dashboard?id=\" + programmeId + \"&tab=performance&enterprise=\" + enterpriseId);\r\n }\r\n });\r\n\r\n}\r\n\r\n\r\n// Function: getDocumentRecordByType ----------------------------------------------------------------\r\nfunction getDocumentRecordByType(viewmodel, documentType) {\r\n if (documentType === \"download\") {\r\n return viewmodel.downloadRecord;\r\n } else {\r\n return viewmodel.certificateRecord;\r\n }\r\n}\r\n\r\n// Function: loadDocumentClickEvents ----------------------------------------------------------------\r\nfunction loadDocumentClickEvents(viewmodel, documentType) {\r\n\r\n $(\".edit\" + documentType).on(\"click\", function (e) {\r\n e.preventDefault();\r\n var document = mapDocument($(this), documentType);\r\n var documentRecord = getDocumentRecordByType(viewmodel, documentType);\r\n updateDocument(document, viewmodel, documentType, documentRecord);\r\n });\r\n\r\n\r\n $(\".delete\" + documentType).on(\"click\", function (e) {\r\n e.preventDefault();\r\n var document = mapDocument($(this), documentType);\r\n deleteDocument(document, viewmodel, documentType);\r\n });\r\n\r\n $(\".\" + documentType + \"-file\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n console.log($(e.target).attr(\"class\"));\r\n if ($(e.target).attr(\"class\") !== \"mini-menu\"\r\n && $(e.target).attr(\"class\") !== \"clean-mini-menu\"\r\n && $(e.target).attr(\"class\") !== \"mini-plus\"\r\n && $(e.target).attr(\"class\") !== \"mini-plus clean-mini-help-alt clean-mini-help-dropdown\"\r\n && $(e.target).attr(\"class\") !== \"edit\" + documentType\r\n && $(e.target).attr(\"class\") !== \"delete\" + documentType) {\r\n\r\n var document = mapDocument($(this), documentType);\r\n downloadFile(document);\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\n// Function: mapDocument ---------------------------------------------------------------------------\r\nfunction mapDocument(item, documentType) {\r\n return {\r\n Name: item.attr(documentType + \"name\"),\r\n File: item.attr(documentType + \"file\"),\r\n Id: item.attr(documentType + \"id\"),\r\n Type: documentType,\r\n ExpiryDate: kendo.toString(new Date(item.attr(documentType + \"expirydate\")), \"dd/MM/yyyy\")\r\n };\r\n}\r\n\r\n// Function: downloadFile ---------------------------------------------------------------------------\r\nfunction downloadFile(download) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.getDownloadBase64(download.Id).then(\r\n\r\n function (base64) {\r\n\r\n var extension = download.File.split(\".\")[1];\r\n var dataURI = \"data:text/plain;base64,\" + base64;\r\n kendo.saveAs({\r\n dataURI: dataURI,\r\n fileName: download.Name + \".\" + extension\r\n });\r\n\r\n def.resolve();\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: deleteDocument -----------------------------------------------------------------------\r\nfunction deleteDocument(document, viewmodel, documentType) {\r\n\r\n var def = new $.Deferred();\r\n\r\n deleteConfirmDocument(document.Name, documentType).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.deleteDownload(document.Id, documentType).then(\r\n\r\n function (data) {\r\n\r\n //update documents source.\r\n var documents = viewmodel.get(documentType + \"s\");\r\n var result = documents.filter(function (obj) {\r\n return obj.DownloadId === document.Id;\r\n });\r\n\r\n if (result.length > 0) {\r\n var index = documents.indexOf(result[0]);\r\n\r\n if (index > -1) {\r\n documents.splice(index, 1);\r\n viewmodel.set(documentType + \"s\", documents);\r\n createDocumentListView(viewmodel, documentType);\r\n }\r\n }\r\n\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n startup(viewmodel);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: deleteConfirmDocument ------------------------------------------------------------------\r\nfunction deleteConfirmDocument(document, documentType) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to delete \" + documentType + \" \" + document + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: deleteOrRestoreEnterprise --------------------------------------------------------------\r\nfunction deleteOrRestoreEnterprise(viewmodel) {\r\n\r\n var status = viewmodel.data.get(\"Status\");\r\n if (status === \"Inactive\") {\r\n restoreEnterprise(viewmodel);\r\n } else if (status === \"Active\") {\r\n deleteEnterprise(viewmodel);\r\n }\r\n}\r\n\r\n// Function: deleteEnterprise -----------------------------------------------------------------------\r\nfunction deleteEnterprise(viewmodel) {\r\n\r\n if (!viewmodel.get(\"isEnterpriseUser\")) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var enterprise = viewmodel.get(\"data\");\r\n\r\n deleteConfirm(enterprise.name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.deleteEnterprise(enterprise.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n var success = {\r\n title: \"Deactivated\",\r\n message: \"Enterprise successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n startup(viewmodel);\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n else {\r\n var invalid = {\r\n title: \"Warning!\",\r\n message: \"You are not authorized to deactivate this enterprise.\"\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n }\r\n}\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to deactivate \" + enterprise + \"?\" + \"\\n\\n\" + enterprise + \" will be made deactivated on all associated Funds and Programmes.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: restoreEnterprise -----------------------------------------------------------------------\r\nfunction restoreEnterprise(viewmodel) {\r\n\r\n if (!viewmodel.get(\"isEnterpriseUser\")) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var enterprise = viewmodel.get(\"data\");\r\n\r\n restoreConfirm(enterprise.name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.restoreEnterprise(enterprise.Id).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise successfully restored.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n //Reload Page with Active Status\r\n startup(viewmodel);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n else {\r\n var invalid = {\r\n title: \"Warning!\",\r\n message: \"You are not authorized to restore this enterprise.\"\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n }\r\n}\r\n\r\n// Function: restoreConfirm --------------------------------------------------------------------------\r\nfunction restoreConfirm(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"restoreConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to restore \" + enterprise + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: documentModalSaveClick -----------------------------------------------------------------\r\nfunction documentModalSaveClick(viewmodel, documentType) {\r\n\r\n $(\".upload\" + documentType).on(\"click\", function (e) {\r\n\r\n uploadDocument(viewmodel, documentType);\r\n });\r\n $(\"#\" + documentType + \"-name\").focus();\r\n}\r\n\r\n// Function: uploadDocument -------------------------------------------------------------------------\r\nfunction uploadDocument(viewmodel, documentType) {\r\n\r\n if (doFormValidation(documentType)) {\r\n if (viewmodel.get(\"is\" + documentType + \"Edit\")) {\r\n if (viewmodel.get(documentType + \"Selected\")) {\r\n $(\".k-upload-selected\").trigger(\"click\");\r\n\r\n } else {\r\n saveDocumentRecord(viewmodel, documentType);\r\n }\r\n\r\n } else {\r\n if (viewmodel.get(documentType + \"Selected\")) {\r\n $(\".k-upload-selected\").trigger(\"click\");\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Please select a file.\"\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Function: addMentor ------------------------------------------------------------------------------\r\nfunction addMentor(viewmodel) {\r\n\r\n getAssignMentorList(viewmodel).then(\r\n\r\n function (result) {\r\n\r\n if (result) {\r\n\r\n if (result.isMentors && result.mentors.length > 0) {\r\n addMentorsToEnterprise(viewmodel, result.mentors);\r\n }\r\n else if (result.isEdgeUsers && result.edgeUsers.length > 0) {\r\n addEdgeMentorsToEnterprise(viewmodel, result.edgeUsers);\r\n }\r\n }\r\n });\r\n}\r\n\r\n// Function: getAssignMentorList --------------------------------------------------------------------\r\nfunction getAssignMentorList(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var showIn = \"assign-mentor-modal-container\";\r\n var entityId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppDialog.showAssignMentors(showIn, entityId).then(\r\n\r\n function (result) {\r\n def.resolve(result);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: addMentorsToEnterprise -----------------------------------------------------------------\r\nfunction addMentorsToEnterprise(viewmodel, mentorList) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n var promises = [];\r\n var addPromise;\r\n\r\n mentorList.forEach(function (mentorId, index) {\r\n\r\n addPromise = app.AppEnterprise.addMentor(enterpriseId, mentorId);\r\n promises.push(addPromise);\r\n\r\n });\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n\r\n def.resolve();\r\n startup(viewmodel);\r\n var success = {\r\n title: \"Success\",\r\n message: \"Mentors successfully assigned.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n function () {\r\n\r\n var errorData = {\r\n title: \"Sorry!\",\r\n message: \"An error has occurred while assigning mentors. Please try again, and if the problem persists, please contact support.\"\r\n };\r\n\r\n app.AppNotify.showError(errorData);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: addEdgeMentorsToEnterprise -------------------------------------------------------------\r\nfunction addEdgeMentorsToEnterprise(viewmodel, mentorList) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n var promises = [];\r\n var addPromise;\r\n\r\n mentorList.forEach(function (mentorId, index) {\r\n\r\n addPromise = app.AppEnterprise.addEdgeMentor(enterpriseId, mentorId);\r\n promises.push(addPromise);\r\n\r\n });\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n\r\n def.resolve();\r\n startup(viewmodel);\r\n var success = {\r\n title: \"Success\",\r\n message: \"Mentors successfully assigned.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n function () {\r\n\r\n var errorData = {\r\n title: \"Sorry!\",\r\n message: \"An error has occurred while assigning mentors. Please try again, and if the problem persists, please contact support.\"\r\n };\r\n\r\n app.AppNotify.showError(errorData);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: removeMentor ---------------------------------------------------------------------------\r\nfunction removeMentor(mentor, viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n removeMentorConfirm(mentor.Name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppEnterprise.removeMentor(enterpriseId, mentor.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n startup(viewmodel);\r\n var success = {\r\n title: \"Success\",\r\n message: mentor.Name + \" successfully removed.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n function (error) {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: removeEdgeMentor ---------------------------------------------------------------------------\r\nfunction removeEdgeMentor(mentor, viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n removeMentorConfirm(mentor.Name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppEnterprise.removeEdgeMentor(enterpriseId, mentor.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n startup(viewmodel);\r\n var success = {\r\n title: \"Success\",\r\n message: mentor.Name + \" successfully removed.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n function (error) {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: removeMentorFromEnterpriseConfirm ------------------------------------------------------\r\nfunction removeMentorConfirm(mentor) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to remove \" + mentor + \" from enterprise?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: makeMentorLead ------------------------------------------------------------------------\r\nfunction makeMentorLead(mentor, viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n makeMentorLeadConfirm(mentor.Name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var enterprise = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppEnterprise.makeLeadMentor(enterprise, mentor.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n startup(viewmodel);\r\n var success = {\r\n title: \"Success\",\r\n message: mentor.Name + \" successfully made lead.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: makeMentorLeadConfirm ------------------------------------------------------------------\r\nfunction makeMentorLeadConfirm(mentor) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to make \" + mentor + \" the lead mentor?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n// Function: addDownload ----------------------------------------------------------------------------\r\nfunction addDownload(viewmodel) {\r\n\r\n documentType = \"download\";\r\n addDocument(viewmodel, documentType, viewmodel.downloadRecord);\r\n}\r\n\r\n\r\n// Function: addDownload ----------------------------------------------------------------------------\r\nfunction addCertificate(viewmodel) {\r\n documentType = \"certificate\";\r\n addDocument(viewmodel, documentType, viewmodel.certificateRecord);\r\n}\r\n\r\n// Function: addDocument ----------------------------------------------------------------------------\r\nfunction addDocument(viewmodel, documentType, documentRecord) {\r\n $(\"#\" + documentType + \"-name\").val(\"\");\r\n viewmodel.get(\"uploadedFiles\", []);\r\n documentRecord.set(\"name\", \"\");\r\n documentRecord.set(\"id\", \"\");\r\n documentRecord.set(\"file\", \"\");\r\n documentRecord.set(\"type\", documentType);\r\n documentRecord.set(\"expiryDate\", null);\r\n\r\n viewmodel.set(\"is\" + documentType + \"Edit\", false);\r\n\r\n showDocumentModal(viewmodel, documentType);\r\n}\r\n\r\n// Function: updateDocument -------------------------------------------------------------------------\r\nfunction updateDocument(document, viewmodel, documentType, documentRecord) {\r\n $(\"#\" + documentType + \"-name\").val(document.Name);\r\n viewmodel.uploadedFiles.push({ name: document.File });\r\n documentRecord.set(\"name\", document.Name);\r\n documentRecord.set(\"id\", document.Id);\r\n documentRecord.set(\"file\", document.File);\r\n documentRecord.set(\"type\", document.Type);\r\n documentRecord.set(\"expiryDate\", kendo.parseDate(document.ExpiryDate, \"dd/MM/yyyy\")); \r\n viewmodel.set(\"is\" + documentType + \"Edit\", true);\r\n showDocumentModal(viewmodel, documentType);\r\n}\r\n\r\n\r\n// Function: showDatePickerInModal -------------------------------------------------------------------------\r\nfunction showDatePickerInModal(viewmodel) {\r\n\r\n var expriryDate = viewmodel.certificateRecord.get(\"expiryDate\");\r\n //if (!expriryDate) {\r\n // var date = new Date();\r\n // var firstDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1);\r\n // expriryDate = firstDayOfMonth;\r\n //} \r\n\r\n \r\n\r\n $(\"#certificate-expiryDate\").kendoDatePicker({\r\n depth: \"year\",\r\n start: \"year\",\r\n format: \"dd/MM/yyyy\",\r\n value: expriryDate,\r\n change: function () {\r\n viewmodel.certificateRecord.set(\"expiryDate\", kendo.toString(new Date($(\"#certificate-expiryDate\").data(\"kendoDatePicker\").value()))); \r\n }\r\n //disableDates: function (date) {\r\n // var currentDate = moment();\r\n // date = moment(date);\r\n\r\n // if (date > currentDate) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n //}\r\n });\r\n\r\n $(\"#certificate-expiryDate\").bind(\"click\", function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n\r\n $(\"#certificate-expiryDate\").bind(\"focus\", function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n}\r\n\r\n\r\n// Function: showDocumentModal ----------------------------------------------------------------------\r\nfunction showDocumentModal(viewmodel, documentType) {\r\n\r\n var modalOriginalState = $(\"#\" + documentType + \"-modal\").clone();//before we change the modal, save the original state(html)\r\n viewmodel.set(documentType + \"ModalOriginalState\", modalOriginalState);\r\n\r\n if (documentType === \"certificate\") {\r\n showDatePickerInModal(viewmodel);\r\n }\r\n\r\n var documentUpload = $(\"#\" + documentType + \"-document\").data(\"kendoUpload\");\r\n\r\n if (!documentUpload) {\r\n viewmodel.set(\"uploadedFiles\", []);\r\n $(\"#\" + documentType + \"-document\").kendoUpload({\r\n async: {\r\n saveUrl: \"api/Upload/Save\",\r\n //removeUrl: \"Upload/Save\",\r\n autoUpload: false\r\n },\r\n select: function (e) {\r\n onSelect(e, viewmodel, documentType);\r\n },\r\n error: function (e) {\r\n onError(e, documentType);\r\n },\r\n success: function (e) {\r\n onSuccess(e, viewmodel, documentType);\r\n },\r\n cancel: function (e) {\r\n onCancel(e, viewmodel, documentType);\r\n },\r\n upload: function (e) {\r\n onUpload(e, viewmodel, documentType);\r\n },\r\n localization: {\r\n select: \"SELECT FILE...\"\r\n },\r\n files: viewmodel.get(\"uploadedFiles\"),\r\n multiple: false\r\n });\r\n }\r\n\r\n $('#' + documentType + '-modal').modal('show');\r\n $('#' + documentType + '-modal').on('hidden.bs.modal', function () {\r\n resetDocumentForm(viewmodel, documentType);\r\n });\r\n\r\n documentModalSaveClick(viewmodel, documentType);\r\n}\r\n\r\n// Function: onUpload -------------------------------------------------------------------------------\r\nfunction onUpload(e, viewmodel, documentType) {\r\n\r\n var fileName = \"\";\r\n var files = e.files[0];\r\n\r\n if (files) {\r\n fileName = buildUploadFileName(viewmodel, e, documentType);\r\n\r\n } else {\r\n fileName = documentRecord.get(\"file\");\r\n }\r\n\r\n var documentRecord = getDocumentRecordByType(viewmodel, documentType);\r\n documentRecord.set(\"file\", fileName);\r\n e.data = {};\r\n e.data[\"fileName\"] = fileName;\r\n}\r\n\r\n// Function: onSuccess ------------------------------------------------------------------------------\r\nfunction onSuccess(e, viewmodel, documentType) {\r\n\r\n if (e.operation === \"upload\") {\r\n saveDocumentRecord(viewmodel, documentType);\r\n }\r\n}\r\n\r\n// Function: onError --------------------------------------------------------------------------------\r\nfunction onError(e, documentType) {\r\n\r\n var error = e.XMLHttpRequest.responseText;\r\n\r\n if (e.operation === \"upload\") {\r\n $('#' + documentType + '-modal').modal('hide');\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n }\r\n}\r\n\r\n// Function: onCancel -------------------------------------------------------------------------------\r\nfunction onCancel() {\r\n $('#' + documentType + '-modal').modal('hide');\r\n}\r\n\r\n// Function: onSelect -------------------------------------------------------------------------------\r\nfunction onSelect(e, viewmodel, documentType) {\r\n\r\n var fileSize = e.files[0].size;\r\n var fileType = e.files[0].extension.toLowerCase();\r\n\r\n if (!checkValidUploadFileType(fileType)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n if (!checkValidUploadFileSize(fileSize)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n viewmodel.set(documentType + \"Selected\", true);\r\n $(\"#\" + documentType + \"-document\").closest(\".k-upload\").find(\"span\").text(\"CHANGE FILE...\");\r\n}\r\n\r\n// Function: removeAllSpecialCharacters --------------------------------------------------------------------\r\nfunction removeAllSpecialCharacters(inputString) {\r\n var outputString = inputString.replace(/[^\\w\\s]/gi, '')\r\n return outputString;\r\n}\r\n\r\n// Function: buildUploadFileName --------------------------------------------------------------------\r\nfunction buildUploadFileName(viewmodel, e, documentType) {\r\n var documentRecord = getDocumentRecordByType(viewmodel, documentType);\r\n var name = documentRecord.get(\"name\");\r\n var enterprise = removeAllSpecialCharacters(viewmodel.data.get(\"name\"));\r\n var fileName = \"\";\r\n\r\n var date = new Date();\r\n\r\n var datetime = date.getDate().toString();\r\n datetime += (date.getMonth() + 1).toString();\r\n datetime += date.getFullYear().toString();\r\n datetime += date.getHours().toString();\r\n datetime += date.getMinutes().toString();\r\n datetime += date.getSeconds().toString();\r\n datetime += date.getMilliseconds().toString();\r\n\r\n var extension = e.files[0].extension.toLowerCase();\r\n fileName += enterprise + \"-\" + name + \"-\" + datetime + extension;\r\n\r\n documentRecord.set(\"file\", fileName);\r\n\r\n return fileName;\r\n}\r\n\r\n// Function: checkValidUploadFileSize ---------------------------------------------------------------\r\nfunction checkValidUploadFileType(fileType) {\r\n\r\n var validFileTypes = [\".jpg\", \". jpeg\", \".gif\", \".png\", \".pdf\", \".doc\", \".docx\", \".csv\", \".xlsm\", \".xlsx\", \".xlt\", \".zip\"];\r\n var found = validFileTypes.indexOf(fileType);\r\n if (found > -1) {\r\n return true;\r\n\r\n } else {\r\n var types = \"\";\r\n validFileTypes.forEach(function (value, index) {\r\n types += value + \"
    \";\r\n });\r\n\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File type is not surported. Below is a list of valid types:
    \" + types\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n return false;\r\n }\r\n}\r\n\r\n// Function: checkValidUploadFileSize ---------------------------------------------------------------\r\nfunction checkValidUploadFileSize(fileSize) {\r\n\r\n var mbLimit = 32;\r\n if (fileSize > mbLimit * 1000000) {\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File size should be less than \" + mbLimit + \"MB\"\r\n };\r\n app.AppNotify.showWarningr(invalid);\r\n return false;\r\n\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(documentType) {\r\n\r\n var validator = $(\"#\" + documentType + \"-modal\").kendoValidator(\r\n {\r\n messages: {\r\n required: \"This field is required.\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n return validator.validate();\r\n}\r\n\r\n// Function: saveDocumentRecord ----------------------------------------------------------------------\r\nfunction saveDocumentRecord(viewmodel, documentType) {\r\n\r\n if (viewmodel.get(\"is\" + documentType + \"Edit\")) {\r\n editDocument(viewmodel, documentType);\r\n\r\n } else {\r\n createNewDocument(viewmodel, documentType);\r\n }\r\n}\r\n\r\n// Function: mapDocumentFromHtml ----------------------------------------------------------------------\r\nfunction mapDocumentFromHtml(viewmodel, name, documentType) {\r\n\r\n var documentRecord = getDocumentRecordByType(viewmodel, documentType);\r\n\r\n var expiryDate = \"\";\r\n if (documentType === \"download\") {\r\n expiryDate = new Date(2099,11,31);\r\n } else {\r\n expiryDate = documentRecord.get(\"expiryDate\"); //correct\r\n };\r\n\r\n var document = {\r\n EnterpriseId: viewmodel.data.get(\"Id\"),\r\n Name: name,\r\n DownloadId: documentRecord.get(\"id\"),\r\n File: documentRecord.get(\"file\"),\r\n Type: documentType,\r\n ExpiryDate: expiryDate\r\n };\r\n\r\n return document;\r\n}\r\n\r\n\r\n// Function: createNewDocument ----------------------------------------------------------------------\r\nfunction createNewDocument(viewmodel, documentType) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n var name = $(\"#\" + documentType + \"-name\").val();\r\n\r\n newDocument = mapDocumentFromHtml(viewmodel, name, documentType);\r\n\r\n app.AppEnterprise.addDownload(newDocument).then(\r\n\r\n function (results) {\r\n\r\n $('#' + documentType + '-modal').modal('hide');\r\n\r\n //update document source.\r\n var documents = viewmodel.get(documentType + \"s\");\r\n documents.push(results.data);\r\n viewmodel.set(documentType + \"s\", documents);\r\n createDocumentListView(viewmodel, documentType);\r\n\r\n def.resolve(results.data);\r\n startup(viewmodel);\r\n\r\n var success = {\r\n title: \"Uploaded!\",\r\n message: \"Your document were uploaded successfully.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: editDocument ---------------------------------------------------------------------------\r\nfunction editDocument(viewmodel, documentType) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var name = $(\"#\" + documentType + \"-name\").val();\r\n\r\n updatedDocument = mapDocumentFromHtml(viewmodel, name, documentType);\r\n\r\n app.AppEnterprise.updateDownload(updatedDocument).then(\r\n\r\n function (data) {\r\n\r\n $('#' + documentType + '-modal').modal('hide');\r\n\r\n //update documents source.\r\n var documents = viewmodel.get(documentType + \"s\");\r\n var result = documents.filter(function (obj) {\r\n return obj.DownloadId === updatedDocument.DownloadId;\r\n });\r\n\r\n if (result.length > 0) {\r\n var index = documents.indexOf(result[0]);\r\n documents[index] = updatedDocument;\r\n viewmodel.set(documentType + \"s\", documents);\r\n }\r\n\r\n startup(viewmodel);\r\n\r\n def.resolve(data);\r\n\r\n var success = {\r\n title: \"Uploaded!\",\r\n message: \"Your document were updated successfully.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: resetDocumentForm ----------------------------------------------------------------------\r\nfunction resetDocumentForm(viewmodel, documentType) {\r\n\r\n viewmodel.set(documentType + \"Selected\", false);\r\n viewmodel.set(\"is\" + documentType + \"Edit\", false);\r\n viewmodel.set(\"uploadedFiles\", []);\r\n\r\n $(\".k-upload-status\").remove();\r\n $(\".k-upload.k-header\").addClass(\"k-upload-empty\");\r\n $(\".k-upload-button\").removeClass(\"k-state-focused\");\r\n $(\"#\" + documentType + \"-document\").data(\"kendoUpload\").destroy();\r\n\r\n var modalOriginalState = viewmodel.get(documentType + \"ModalOriginalState\");\r\n $(\"#\" + documentType + \"-modal\").replaceWith(modalOriginalState);\r\n viewmodel.set(documentType + \"ModalOriginalState\", \"\");\r\n}\r\n\r\n// Function: setOverviewMetricData\r\nfunction setOverviewMetricData(viewmodel, data) {\r\n setMaturityMetricData(viewmodel, data);\r\n styleMetrics(viewmodel);\r\n}\r\n\r\n// Function: setMaturityMetricData\r\nfunction setMaturityMetricData(viewmodel, data) {\r\n viewmodel.metricsModel.set(\"maturity\", data.Maturity);\r\n viewmodel.metricsModel.set(\"maturityDifference\", data.MaturityDifference);\r\n var isMaturityPositive = data.MaturityDifference;\r\n if (isMaturityPositive != null) {\r\n var hasMaturityPositive = data.MaturityDifference >= 0 ? true : false;\r\n if (hasMaturityPositive == true) {\r\n viewmodel.metricsModel.set(\"maturityDifference\", data.MaturityDifference);\r\n viewmodel.metricsModel.set(\"maturityCompare\", data.PreviousMaturity);\r\n $(\".maturityMetric\").addClass(\"metricNetGrowth\");\r\n } else {\r\n viewmodel.metricsModel.set(\"maturityDifference\", data.MaturityDifference);\r\n viewmodel.metricsModel.set(\"maturityCompare\", data.PreviousMaturity);\r\n $(\".maturityMetric\").addClass(\"metricNetLoss\");\r\n }\r\n } else {\r\n viewmodel.metricsModel.set(\"maturityDifference\", data.MaturityDifference);\r\n $(\".maturityMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n}\r\n\r\n// Function: styleMetrics --------------------------------------------------------------------------\r\nfunction styleMetrics(viewmodel) {\r\n var metricVm = viewmodel.metricsModel;\r\n $(\"[id^='metricCard-']\").each(function (i, v) {\r\n var id = $(this).attr(\"id\");\r\n id = id.replace(\"metricCard-\", \"\");\r\n var viewmodelDataItemName = id;\r\n var viewmodelDataCompareItemName = id + \"Compare\";\r\n var viewmodelMetricItemData = metricVm.get(viewmodelDataItemName);\r\n var viewmodelMetricCompareItemData = metricVm.get(viewmodelDataCompareItemName);\r\n var metricCollapseCompareInner = $(this).find(\".metric-collapse-compare-inner\");\r\n determineDifferenceStyle(viewmodelMetricItemData, viewmodelMetricCompareItemData, metricCollapseCompareInner);\r\n });\r\n}\r\n\r\n// Function: determineDifferenceStyle --------------------------------------------------------------------------\r\nfunction determineDifferenceStyle(value, valueCompare, metricCollapseCompareInner) {\r\n metricCollapseCompareInner.removeClass(\"metric-collapse-compare-inner-up\");\r\n metricCollapseCompareInner.children('.mini-compare').removeClass('mini-up');\r\n metricCollapseCompareInner.removeClass(\"metric-collapse-compare-inner-down\");\r\n metricCollapseCompareInner.children('.mini-compare').removeClass('mini-down');\r\n metricCollapseCompareInner.removeClass(\"metric-collapse-compare-inner-neutral\");\r\n metricCollapseCompareInner.children('.mini-compare').removeClass('mini-neutral');\r\n if (value > valueCompare) {\r\n metricCollapseCompareInner.addClass(\"metric-collapse-compare-inner-up\");\r\n metricCollapseCompareInner.children('.mini-compare').addClass('mini-up');\r\n } else if (value < valueCompare) {\r\n metricCollapseCompareInner.addClass(\"metric-collapse-compare-inner-down\");\r\n metricCollapseCompareInner.children('.mini-compare').addClass('mini-down');\r\n } else {\r\n metricCollapseCompareInner.addClass(\"metric-collapse-compare-inner-neutral\");\r\n metricCollapseCompareInner.children('.mini-compare').addClass('mini-neutral');\r\n }\r\n}\r\n\r\n// Function: setMetricCardsClickEvents --------------------------------------------------------------------------\r\nfunction setMetricCardsClickEvents(viewmodel) {\r\n \r\n $('#maturity-download').on('shown.bs.popover', function () {\r\n\r\n $(\"#maturity-index-download\").on('mousedown', function (e) {\r\n e.preventDefault();\r\n kendo.saveAs({\r\n dataURI: viewmodel.get(\"mostRecentDiagnosicReportBase64\"),\r\n fileName: viewmodel.get(\"mostRecentDiagnosicReportName\") ? viewmodel.get(\"mostRecentDiagnosicReportName\") : \"Diagnostic Report\"\r\n });\r\n });\r\n\r\n });\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar metricsModel = require(\"app_mvvm_models/custom/enterprise/dashboard-performance-metrics\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.isAnnualGraphShown = true;\r\n this.argsParams = argsParams;\r\n this.daysLeft = null;\r\n this.hasDaysLeft = false;\r\n this.reportId = null;\r\n this.hasIncomplete = false;\r\n this.metricsModel = new metricsModel();\r\n this.colors = app.AppDashboardColors.get();\r\n this.missingChartDataPointList = [];\r\n this.enterpriseId = \"\";\r\n this.enterpriseName = \"\";\r\n this.isDashboardVisible = false;\r\n this.wasChartVisable = false;\r\n this.isChartVisible = false;\r\n this.showGraphButtons = false;\r\n this.isCompareActive = false;\r\n this.isBreakdownVisible = false;\r\n this.datePickersAllMonths = [];\r\n this.datePickerStartDateValidMonths = [];\r\n this.isDataPointsMissingMessageVisible = false;\r\n this.showBeeCertificateUploadRequired = false;\r\n this.annualizedChartMessageIcon = \"\";\r\n this.showBeeCertificateUploadIconColour = \"\";\r\n this.showBeeCertificateUploadText = \"\";\r\n this.showAnnualMonthsReportingToEndDateMessage = false;\r\n this.annualMonthsReportingToEndDateMessage = \"\";\r\n this.navigateToPerformanceListPage = function () { navigateToPerformanceListPage(this); };\r\n this.navigateToOverviewPage = function () { navigateToOverviewPage(this); };\r\n this.navigateToPerformanceEditPage = function () { navigateToPerformanceEditPage(this); };\r\n this.loadProcurementSpendGrowthWagrModal = function () { loadProcurementSpendGrowthWagrModal(this); };\r\n this.toggleComparisonCollapse = function () { toggleComparisonCollapse(this); };\r\n this.toggleCalendarIcon = function () { toggleCalendarIcon(this); };\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n this.startup = function () { startup(this); };\r\n\r\n\r\n // this.overviewViewModel = argsParams.overviewViewModel;\r\n\r\n // Create a function that calls addCertificate with the correct viewmodel\r\n this.addCertificate = function () {\r\n document.getElementById(\"btn-add-certificate\").click();\r\n };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\n\r\nfunction startup(viewmodel) {\r\n var currentRoute = app.AppRouter.getCurrentRoute();\r\n var dateFromQueryString = currentRoute.params.startDate;\r\n var dateToQueryString = currentRoute.params.endDate;\r\n var def = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\");\r\n \r\n setDashboardDefault(viewmodel);\r\n getEnterpriseByUserOrQueryParam().then(\r\n function (enterpriseId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/dashboard/performance\", \"Enterprise - Performance\");\r\n\r\n\r\n $('body,html').animate({ scrollTop: 0 }, 200); //Scroll to top of page\r\n if (enterpriseId) {\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n viewmodel.set(\"enterpriseId\", enterpriseId);\r\n viewmodel.set(\"isCorporate\", false);\r\n viewmodel.set(\"userRole\", loggedInUserRole);\r\n\r\n console.log('currentRoute', app.AppRouter.getCurrentRoute());\r\n\r\n if (loggedInUserRole === \"Enterprise\") {\r\n if (currentRoute && currentRoute.url && currentRoute.url === \"/dashboard\") {\r\n viewmodel.set(\"isEnterpriseView\", true);\r\n } else {\r\n viewmodel.set(\"isEnterpriseView\", false);\r\n $(\"#enterprise-dashboard-container\").remove();\r\n }\r\n } else {\r\n viewmodel.set(\"isEnterpriseView\", false);\r\n $(\"#enterprise-dashboard-container\").remove();\r\n }\r\n\r\n getEnterpriseName(viewmodel, enterpriseId).then(\r\n function () {\r\n app.AppEnterprise.getDatePickerValidMonths(enterpriseId).then(\r\n function (resultValidMonths) {\r\n\r\n var dateRange = app.AppDashboard.datePickerValuesSetShared(viewmodel, resultValidMonths, dateFromQueryString, dateToQueryString);\r\n \r\n console.log('dateRange',dateRange); \r\n \r\n if (!dateRange) return;\r\n loadDashboard(viewmodel, dateRange.startDate, dateRange.endDate);\r\n\r\n $('body').off('onChangeCalendarEvent');\r\n $(\"body\").on(\"onChangeCalendarEvent\", function (event, data) {\r\n app.AppLoading.show(\"Loading...\", null, true);\r\n loadDashboard(viewmodel, data.startDate, data.endDate);\r\n });\r\n });\r\n\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Enterprise\") {\r\n getNotifications(viewmodel);\r\n\r\n } else {\r\n viewmodel.set(\"hasDaysLeft\", false);\r\n viewmodel.set(\"hasIncomplete\", false);\r\n }\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load enterprise performance dashboard.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/dashboard\");\r\n app.AppLoading.hide();\r\n\r\n }\r\n }, function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Something went wrong, could not load enterprise performance dashboard.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n app.AppLoading.hide();\r\n\r\n });\r\n}\r\n\r\nfunction setDashboardDefault(viewmodel) {\r\n viewmodel.metricsModel.set(\"netJobs\", 0);\r\n viewmodel.metricsModel.set(\"jobsCreated\", 0);\r\n viewmodel.metricsModel.set(\"supportProvided\", 0);\r\n viewmodel.metricsModel.set(\"capitalDeployed\", 0);\r\n viewmodel.metricsModel.set(\"revenue\", 0);\r\n viewmodel.metricsModel.set(\"revenueGrowth\", 0);\r\n viewmodel.metricsModel.set(\"headcount\", 0);\r\n viewmodel.metricsModel.set(\"headcountGrowth\", 0);\r\n viewmodel.metricsModel.set(\"profit\", 0);\r\n viewmodel.metricsModel.set(\"profitGrowth\", 0);\r\n viewmodel.metricsModel.set(\"procurementspend\", 0);\r\n viewmodel.metricsModel.set(\"procurementSpendGrowthRate\", 0);\r\n}\r\n\r\n\r\n// Function: getEnterpriseName ----------------------------------------------------------------------\r\nfunction getEnterpriseName(viewmodel, id) {\r\n\r\n var def = $.Deferred();\r\n app.AppEnterprise.getEnterpriseById(id).then(\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n if (data.Name) {\r\n $(\"#main-page-title\").text(data.Name.toUpperCase());\r\n\r\n if (app.AppRouter.getCurrentRoute().params.fund) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/fund/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.fund + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.programme) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/programme/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.programme + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.mentor) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/mentor/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.mentor + \"&tab=enterprises\");\r\n }\r\n\r\n viewmodel.set(\"enterpriseName\", data.Name);\r\n }\r\n def.resolve();\r\n });\r\n return def.promise();\r\n}\r\n\r\n// Function: getEnterpriseByUserOrQueryParam --------------------------------------------------------\r\nfunction getEnterpriseByUserOrQueryParam() {\r\n\r\n var def = $.Deferred();\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Enterprise\") {\r\n app.AppEnterprise.getEnterpriseByUser().then(\r\n function (result) {\r\n def.resolve(result.EnterpriseId);\r\n },\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n } else {\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n def.resolve(enterpriseId);\r\n }\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getNotifications -----------------------------------------------------------------------\r\nfunction getNotifications(viewmodel) {\r\n\r\n $(\".close\").click(function () {\r\n $(this).parent(\"div\").addClass(\"dismis\");\r\n });\r\n\r\n app.AppEnterprise.getNotifications().then(\r\n function (result) {\r\n viewmodel.set(\"daysLeft\", result.daysLeft);\r\n viewmodel.set(\"reportId\", result.reportId);\r\n\r\n if (result.daysLeft) {\r\n viewmodel.set(\"hasDaysLeft\", true);\r\n }\r\n if (result.hasIncomplete) {\r\n viewmodel.set(\"hasIncomplete\", true);\r\n }\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppLoading.hide();\r\n });\r\n}\r\n\r\n// Function: navigateToPerformanceEditPage -----------------------------------------------------------\r\nfunction navigateToPerformanceEditPage(viewmodel) {\r\n var performanceId = viewmodel.get(\"reportId\");\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-performance?id=\" + performanceId);\r\n}\r\n\r\n// Function: toggleCalendarIcon -------------------------------------------------------------\r\nfunction toggleCalendarIcon(viewmodel) {\r\n\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-down');\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-up');\r\n\r\n}\r\n\r\n// Function: loadDashboard --------------------------------------------------------------------------\r\nfunction loadDashboard(viewmodel, startDate, endDate) {\r\n\r\n console.log(\"Loading Dashboard...\");\r\n var gridChartPromise = getGridChartData(viewmodel, startDate, endDate);\r\n var metricPromise = getMetricData(viewmodel, startDate, endDate);\r\n\r\n var startDate = getDateString(startDate);\r\n var endDate = getDateString(endDate);\r\n viewmodel.metricsModel.set(\"startDate\", startDate);\r\n viewmodel.metricsModel.set(\"endDate\", endDate);\r\n\r\n $.when(metricPromise, gridChartPromise).done(\r\n function () {\r\n\r\n loadClickEvents(viewmodel);\r\n\r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n app.AppHelper.setTourCache(data);\r\n //console.log(\"retrieved all lists from api\");\r\n app.AppHelper.startHelper(viewmodel, \"Dashboard\", false);\r\n },\r\n function () {\r\n console.log(\"retrieving all lists failed\");\r\n });\r\n\r\n if (!viewmodel.isChartVisible) {\r\n viewmodel.set(\"showGraphButtons\", false);\r\n $('.profit-growth-active').removeClass(\"active\");\r\n $('.revenue-growth-active').removeClass(\"active\");\r\n $('.headcount-growth-active').removeClass(\"active\");\r\n } else {\r\n viewmodel.set(\"wasChartVisable\", viewmodel.isChartVisible);\r\n viewmodel.set(\"showGraphButtons\", true);\r\n }\r\n\r\n app.AppLoading.hide();\r\n //Resize Chart for headcount axis to fit properly\r\n\r\n\r\n console.log('triggering click events');\r\n $(\"#metricCard-revenue\").trigger(\"click\");\r\n $(\"#metricCard-headcount\").trigger(\"click\");\r\n //Resize Chart for headcount axis to fit properly\r\n kendo.resize($(\"#chart\"));\r\n kendo.resize($(\"#chart-corporate\"));\r\n }).fail(function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n app.AppLoading.hide();\r\n });\r\n\r\n\r\n}\r\n\r\n// Function: getGridChartData ----------------------------------------------------------------------------\r\nfunction getGridChartData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var isCorporate = false;\r\n if (viewmodel.get(\"userRole\") === \"Corporate\") {\r\n isCorporate = true;\r\n }\r\n\r\n var enterpriseId = viewmodel.get(\"enterpriseId\");\r\n app.AppEnterprise.getPerformanceChart(enterpriseId, startDate, endDate, isCorporate).then(\r\n function (result) {\r\n\r\n console.log('chart reuslt',result);\r\n //bind grid data\r\n var ds1 = result.EnterprisePerformanceGraphAndTableBindingModels;\r\n app.AppGrids.buildExportGridEnterprise(viewmodel, ds1);\r\n\r\n viewmodel.set(\"annualizedGraphData\", result.AnnualizedGraphData);\r\n if ($(\".toggleAnnualMonthsGraph\").is(\":checked\")) {\r\n renderAnnualizedChart(viewmodel);\r\n } else {\r\n bindGridData(viewmodel, result.EnterprisePerformanceGraphAndTableBindingModels);\r\n\r\n //bind chart data\r\n var colours = viewmodel.get(\"colors\");\r\n bindChartData(result, colours, viewmodel);\r\n\r\n if (!result.DisableBbeeCertificateReminders) {\r\n showBeeCertificateUploadSection(result.BeeCertificate, viewmodel);\r\n }\r\n\r\n setupHideChartLineClick(viewmodel);\r\n }\r\n\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getDateString -------------------------------------------------------------------------- //refactor to app-dashboard\r\nfunction getDateString(dateString) {\r\n\r\n var str_array = dateString.split('/');\r\n\r\n switch (str_array[0]) {\r\n case '01': str_array[0] = 'Jan '; break;\r\n case '02': str_array[0] = 'Feb '; break;\r\n case '03': str_array[0] = 'Mar '; break;\r\n case '04': str_array[0] = 'Apr '; break;\r\n case '05': str_array[0] = 'May '; break;\r\n case '06': str_array[0] = 'Jun '; break;\r\n case '07': str_array[0] = 'Jul '; break;\r\n case '08': str_array[0] = 'Aug '; break;\r\n case '09': str_array[0] = 'Sep '; break;\r\n case '10': str_array[0] = 'Oct '; break;\r\n case '11': str_array[0] = 'Nov '; break;\r\n case '12': str_array[0] = 'Dec '; break;\r\n }\r\n dateString = str_array[0] + str_array[1];\r\n\r\n return dateString;\r\n}\r\n\r\n// Function: navigateToPerformanceListPage -----------------------------------------------------------\r\nfunction navigateToPerformanceListPage(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.get(\"enterpriseId\") + \"&tab=reports\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/reports\");\r\n }\r\n}\r\n\r\n// Function: navigateToOverviewPage -----------------------------------------------------------\r\nfunction navigateToOverviewPage(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.get(\"enterpriseId\") + \"&tab=overview\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/overview-enterprise\");\r\n }\r\n}\r\n\r\n\r\n// Function: hideChartLine --------------------------------------------------------------------------\r\nfunction setupHideChartLineClick(viewmodel) {\r\n\r\n $('.chart-series-line-icon').off('click');\r\n\r\n $(\".chart-series-line-icon\").click(function (e) {\r\n if (viewmodel.get(\"isChartVisible\")) { //only when graph is available.\r\n\r\n var targetClass = $(e.target).attr('class');\r\n if (!targetClass) targetClass = \"card\";\r\n if ($(e.target).hasClass(\"mini-help\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"clean-mini-help\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"mini-plus\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"clean-mini-plus\") || targetClass.indexOf(\"popover\") > -1) return;\r\n\r\n var dataLine = $(this).data(\"seriesname\");\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n } else {\r\n var chart = $(\"#chart-corporate\").data(\"kendoChart\");\r\n }\r\n\r\n $(this).find(\".metric-icon\").toggleClass(\"active\");\r\n $(this).toggleClass(\"active\");\r\n\r\n if (chart) {\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === dataLine;\r\n })[0];\r\n seriesObj.visible = !seriesObj.visible;\r\n chart.redraw();\r\n }\r\n }\r\n });\r\n}\r\n\r\n// Function: createChart ----------------------------------------------------------------------------\r\nfunction createChart(data, colours, viewmodel) {\r\n\r\n var isCorporate = viewmodel.get(\"isCorporate\");\r\n const maxLabels = 13;\r\n const step = Math.ceil(data.length / maxLabels);\r\n //data.forEach(function (item) {\r\n // item.Revenue = kendo.toString(item.Revenue, \"n0\");\r\n // item.Profit = kendo.toString(item.Profit, \"n0\");\r\n // item.ProcurementSpend = kendo.toString(item.ProcurementSpend, \"n0\");\r\n //});\r\n\r\n //Display different chart for Corporate Users\r\n if (isCorporate) {\r\n\r\n\r\n $(\"#chart-corporate\").kendoChart({\r\n dataSource: {\r\n data: data\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers: {\r\n visible: false\r\n }\r\n },\r\n series: [{\r\n field: \"RevenueGrowth\",\r\n name: \"Revenue Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"ProcurementSpendGrowthRate\",\r\n name: \"Procurement Spend Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"HeadcountGrowth\",\r\n name: \"Headcount Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: false,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#: category #
    #: value #% (#= series.name #)\" //#=dataItem.ProcurementSpend#\r\n }\r\n\r\n });\r\n } else {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers: {\r\n visible: false\r\n }\r\n },\r\n series: [{\r\n field: \"Revenue\",\r\n name: \"Revenue\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Profit\",\r\n name: \"Profit\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProfitGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"CapitalDeployed\",\r\n name: \"Capital Deployed\",\r\n missingValues: \"interpolate\",\r\n color: colours.CapitalDeployed,\r\n visible: false,\r\n axis: \"Capital Deployed\"\r\n }, {\r\n field: \"ProcurementSpend\",\r\n name: \"Procurement Spend\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Headcount\",\r\n name: \"Headcount\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: false,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#= category #
    # # # if(series.name != 'Headcount'){# R#: kendo.toString(value,'n0') + ' (' + series.name #) #} else {##: kendo.toString(value,'n0')+ ' (' + series.name #) #} #\"\r\n }\r\n\r\n });\r\n }\r\n}\r\n\r\n// Function: reloadChart --------------------------------------------------------------------------\r\nfunction reloadChart(viewmodel) {\r\n // MAGIC\r\n\r\n var calendarStart = viewmodel.get(\"calendarStartDate\");\r\n var calendarEnd = viewmodel.get(\"calendarEndDate\");\r\n var startDate = kendo.toString(calendarStart, \"MM/yyyy\");\r\n var endDate = kendo.toString(calendarEnd, \"MM/yyyy\");\r\n var id = viewmodel.get(\"enterpriseId\");\r\n\r\n var data = {\r\n viewmodel: viewmodel,\r\n id: id,\r\n startDate: startDate,\r\n endDate: endDate\r\n };\r\n $(\"body\").trigger('onChangeCalendarEvent', data);\r\n\r\n}\r\n\r\n// Function: showChartDataNodeNotAvailable ----------------------------------------------------------\r\nfunction showBeeCertificateUploadSection(data, viewmodel) {\r\n\r\n if (viewmodel.get(\"userRole\") != \"Corporate\") {\r\n if (data) {\r\n if (data.IsCertificateExpired) {\r\n viewmodel.set(\"showBeeCertificateUploadRequired\", true);\r\n viewmodel.set(\"showBeeCertificateUploadIconColour\", \"#fe1313\");\r\n viewmodel.set(\"showBeeCertificateUploadText\", \"Your B-BBEE certificate has expired on \" + data.BeeCertificateExpiryDate.slice(0, 10) + \". Please upload a new B-BBEE certificate document.\");\r\n }\r\n else if (data.IsCertificateExpiring) {\r\n viewmodel.set(\"showBeeCertificateUploadRequired\", true);\r\n viewmodel.set(\"showBeeCertificateUploadIconColour\", \"#ff6a00\");\r\n viewmodel.set(\"showBeeCertificateUploadText\", \"Your B-BBEE certificate previously uploaded will expire on \" + data.BeeCertificateExpiryDate.slice(0, 10) + \". Please upload a new B-BBEE certificate document.\");\r\n }\r\n else if (!data.IsCertificateExpired && data.HasCertificate) {\r\n viewmodel.set(\"showBeeCertificateUploadRequired\", false);\r\n }\r\n else if (!data.HasCertificate) {\r\n viewmodel.set(\"showBeeCertificateUploadRequired\", true);\r\n viewmodel.set(\"showBeeCertificateUploadIconColour\", \"#fe1313\");\r\n viewmodel.set(\"showBeeCertificateUploadText\", \"You have no B-BBEE certificate. Please upload a new B-BBEE certificate document.\");\r\n }\r\n } else {\r\n viewmodel.set(\"showBeeCertificateUploadRequired\", true);\r\n viewmodel.set(\"showBeeCertificateUploadIconColour\", \"#fe1313\");\r\n viewmodel.set(\"showBeeCertificateUploadText\", \"You have no B-BBEE certificate. Please upload a new B-BBEE certificate document.\");\r\n }\r\n }\r\n}\r\n\r\n// Function: showChartDataNodeNotAvailable ----------------------------------------------------------\r\nfunction showChartDataNodeNotAvailable(data, colours, viewmodel) {\r\n var missingDataPoints = false;\r\n for (var i = 0; i < data.length; i++) {\r\n var item = data[i];\r\n if (item.RevenueGrowth === null || item.ProfitGrowth === null || item.ProcurementSpend === null) {\r\n missingDataPoints = true;\r\n break;\r\n }\r\n }\r\n\r\n if (missingDataPoints) {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", true);\r\n } else {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", false);\r\n }\r\n\r\n}\r\n\r\n// Function: bindChartData --------------------------------------------------------------------------\r\nfunction bindChartData(data, colours, viewmodel) {\r\n if (data.ShowChart === true) {\r\n viewmodel.set(\"isChartVisible\", true);\r\n\r\n var onlyChartDataShouldBeVisible = data.EnterprisePerformanceGraphAndTableBindingModels.filter(function (obj) {\r\n return obj.ShowOnGraph === true;\r\n });\r\n\r\n $(document).bind(\"kendo:skinChange\", createChart(onlyChartDataShouldBeVisible, colours, viewmodel));\r\n $(window).resize(function () {\r\n $(\"#chart\").data(\"kendoChart\").resize();\r\n $(\"#chart-corporate\").data(\"kendoChart\").resize();\r\n });\r\n \r\n\r\n }\r\n\r\n}\r\n\r\n// Function: hideLinesNotShownByDefault -------------------------------------------------------------\r\nfunction hideLinesNotShownByDefault(hideline) { //todo should be array probably of lines\r\n if (!viewmodel.get(isCorporate)) {\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n } else {\r\n var chart = $(\"#chart-corporate\").data(\"kendoChart\");\r\n }\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === hideline;\r\n })[0];\r\n seriesObj.visible = false;\r\n chart.redraw();\r\n}\r\n\r\n//Function: bindGridData ---------------------------------------------------------------------------\r\nfunction bindGridData(viewmodel, data) {\r\n\r\n var def = $.Deferred();\r\n\r\n function grid_dataBound(e) {\r\n\r\n //if (!viewmodel.get(\"isCorporate\")) {\r\n // var grid = $(\"#enterprise-dashboard-grid\").data(\"kendoGrid\");\r\n //} else {\r\n // var grid = $(\"#enterprise-dashboard-grid-corporate\").data(\"kendoGrid\");\r\n //}\r\n //var gridRows = grid.tbody.find(\"tr\");\r\n\r\n //gridRows.each(function (i, v) {\r\n // var dataItem = grid.dataItem(gridRows[i]);\r\n // //if (dataItem.HasNoData) {\r\n // // viewmodel.set(\"isBreakdownVisible\", false);\r\n // //} else {\r\n viewmodel.set(\"isBreakdownVisible\", true);\r\n // //}\r\n //});\r\n app.AppDashboard.gridFixedHeaders(this);\r\n\r\n\r\n loadClickEvents(viewmodel);\r\n\r\n def.resolve();\r\n }\r\n\r\n console.log('isenterprise', viewmodel.get('isEnterpriseView'));\r\n\r\n if (viewmodel.get(\"isEnterpriseView\")) {\r\n if ($('#enterprise-dashboard-grid').data('kendoGrid'))\r\n $('#enterprise-dashboard-grid').data('kendoGrid').destroy();\r\n\r\n $(\"#enterprise-dashboard-grid\").kendoGrid({\r\n dataBound: grid_dataBound,\r\n dataSource: data,\r\n sortable: true,\r\n height: 580,\r\n reorderable: true,\r\n resizable: true,\r\n pageable: {\r\n refresh: false,\r\n pageSizes: true\r\n },\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n columnMenu: true,\r\n columns: [{\r\n attributes: { \"class\": \"showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: \"#: ReportMonth #\",\r\n field: \"ReportMonthFull\",\r\n type: \"date\",\r\n title: \"Month\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Headcount === null){# - #} else {##: Headcount ## } #',\r\n field: \"Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Revenue === null){# - #} else {#R#: kendo.toString(Revenue, \"n0\") ## } #',\r\n field: \"Revenue\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Revenue === null){# - #} else {#R#: kendo.toString(CostOfSales, \"n0\") ## } #',\r\n field: \"CostOfSales\",\r\n title: \"Cost Of Sales\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Expenses === null){# - #} else {#R#: kendo.toString(Expenses, \"n0\") ## } #',\r\n field: \"Expenses\",\r\n title: \"Operating Expenses\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Profit === null){# - #} else {#R#: kendo.toString(Profit, \"n0\") ## } #',\r\n field: \"Profit\",\r\n title: \"Net Profit\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (JobsCreated === null){# - #} else {##: JobsCreated ## } #',\r\n field: \"JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (NetJobs === null){# - #} else {##: NetJobs ## } #',\r\n field: \"NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (CapitalCommitted === null){# - #} else {# R#: kendo.toString(CapitalCommitted, \"n0\") # # } #',\r\n field: \"CapitalCommitted\",\r\n title: \"Capital Committed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (CapitalDeployed === null){# - #} else {# R#: kendo.toString(CapitalDeployed, \"n0\") # # } #',\r\n field: \"CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (RevenueGrowth === null){# - #} else {# #: RevenueGrowth #% # } #',\r\n field: \"RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (ProfitGrowth === null){# - #} else {# #: ProfitGrowth #% # } #',\r\n field: \"ProfitGrowth\",\r\n title: \"Profit Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (ProcurementSpendGrowthRate === null){# - #} else {# #: ProcurementSpendGrowthRate #% # } #',\r\n field: \"ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (PermanentEmployment === null){# - #} else {##: PermanentEmployment ## } #',\r\n field: \"PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (TemporaryEmployment === null){# - #} else {##: TemporaryEmployment ## } #',\r\n field: \"TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (SupportProvided === null){# - #} else {# #: SupportProvided #h # } #',\r\n field: \"SupportProvided\",\r\n title: \"Support Provided\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (SMEEngagementScore === null){# - #} else {##: SMEEngagementScore ## } #',\r\n field: \"SMEEngagementScore\",\r\n title: \"Engagement\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (ProcurementSpendTotal === null){# - #} else {# R#: kendo.toString(ProcurementSpendTotal, \"n0\") # # } #',\r\n field: \"ProcurementSpendTotal\",\r\n title: \"Procurement\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (TotalNumberOfContracts === null){# - #} else {# #: kendo.toString(TotalNumberOfContracts, \"n0\") # # } #',\r\n field: \"TotalNumberOfContracts\",\r\n title: \"Number of contracts\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (TotalContractsRandValue === null){# - #} else {# R#: kendo.toString(TotalContractsRandValue, \"n0\") # # } #',\r\n field: \"TotalContractsRandValue\",\r\n title: \"Total value of contracts\",\r\n width: 150\r\n }\r\n\r\n ]\r\n });\r\n var grid = $(\"#enterprise-dashboard-grid\").getKendoGrid();\r\n if (grid) {\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(20);\r\n });\r\n }\r\n } else {\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n if ($('#enterprise-performance-dashboard-grid').data('kendoGrid'))\r\n $('#enterprise-performance-dashboard-grid').data('kendoGrid').destroy();\r\n\r\n $(\"#enterprise-performance-dashboard-grid\").kendoGrid({\r\n dataBound: grid_dataBound,\r\n dataSource: data,\r\n sortable: true,\r\n height: 580,\r\n reorderable: true,\r\n resizable: true,\r\n pageable: {\r\n refresh: false,\r\n pageSizes: true\r\n },\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n columnMenu: true,\r\n columns: [{\r\n attributes: { \"class\": \"showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: \"#: ReportMonth #\",\r\n field: \"ReportMonthFull\",\r\n type: \"date\",\r\n title: \"Month\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Headcount === null){# - #} else {##: Headcount ## } #',\r\n field: \"Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Revenue === null){# - #} else {#R#: kendo.toString(Revenue, \"n0\") ## } #',\r\n field: \"Revenue\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Revenue === null){# - #} else {#R#: kendo.toString(CostOfSales, \"n0\") ## } #',\r\n field: \"CostOfSales\",\r\n title: \"Cost Of Sales\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Expenses === null){# - #} else {#R#: kendo.toString(Expenses, \"n0\") ## } #',\r\n field: \"Expenses\",\r\n title: \"Operating Expenses\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Profit === null){# - #} else {#R#: kendo.toString(Profit, \"n0\") ## } #',\r\n field: \"Profit\",\r\n title: \"Net Profit\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (JobsCreated === null){# - #} else {##: JobsCreated ## } #',\r\n field: \"JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (NetJobs === null){# - #} else {##: NetJobs ## } #',\r\n field: \"NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (CapitalCommitted === null){# - #} else {# R#: kendo.toString(CapitalCommitted, \"n0\") # # } #',\r\n field: \"CapitalCommitted\",\r\n title: \"Capital Committed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (CapitalDeployed === null){# - #} else {# R#: kendo.toString(CapitalDeployed, \"n0\") # # } #',\r\n field: \"CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (RevenueGrowth === null){# - #} else {# #: RevenueGrowth #% # } #',\r\n field: \"RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (ProfitGrowth === null){# - #} else {# #: ProfitGrowth #% # } #',\r\n field: \"ProfitGrowth\",\r\n title: \"Profit Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (ProcurementSpendGrowthRate === null){# - #} else {# #: ProcurementSpendGrowthRate #% # } #',\r\n field: \"ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (PermanentEmployment === null){# - #} else {##: PermanentEmployment ## } #',\r\n field: \"PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (TemporaryEmployment === null){# - #} else {##: TemporaryEmployment ## } #',\r\n field: \"TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (SupportProvided === null){# - #} else {# #: SupportProvided #h # } #',\r\n field: \"SupportProvided\",\r\n title: \"Support Provided\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (SMEEngagementScore === null){# - #} else {##: SMEEngagementScore ## } #',\r\n field: \"SMEEngagementScore\",\r\n title: \"Engagement\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (ProcurementSpendTotal === null){# - #} else {# R#: kendo.toString(ProcurementSpendTotal, \"n0\") # # } #',\r\n field: \"ProcurementSpendTotal\",\r\n title: \"Procurement\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (TotalNumberOfContracts === null){# - #} else {# #: kendo.toString(TotalNumberOfContracts, \"n0\") # # } #',\r\n field: \"TotalNumberOfContracts\",\r\n title: \"Number of contracts\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (TotalContractsRandValue === null){# - #} else {# R#: kendo.toString(TotalContractsRandValue, \"n0\") # # } #',\r\n field: \"TotalContractsRandValue\",\r\n title: \"Total value of contracts\",\r\n width: 150\r\n }\r\n\r\n ]\r\n });\r\n var grid = $(\"#enterprise-performance-dashboard-grid\").getKendoGrid();\r\n if (grid) {\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(20);\r\n });\r\n }\r\n\r\n } else {\r\n if ($('#enterprise-dashboard-grid-corporate').data('kendoGrid'))\r\n $('#enterprise-dashboard-grid-corporate').data('kendoGrid').destroy();\r\n\r\n $(\"#enterprise-dashboard-grid-corporate\").kendoGrid({\r\n dataSource: data,\r\n sortable: true,\r\n reorderable: true,\r\n resizable: true,\r\n height: 580,\r\n pageable: {\r\n refresh: false,\r\n pageSizes: true\r\n },\r\n dataBound: grid_dataBound,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n columnMenu: true,\r\n columns: [{\r\n attributes: { \"class\": \"showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: \"#: ReportMonth #\",\r\n field: \"ReportMonthFull\",\r\n type: \"date\",\r\n title: \"Month\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Headcount === null){# - #} else {##: Headcount ## } #',\r\n field: \"Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (Revenue === null){# - #} else {#R#: kendo.toString(Revenue, \"n0\") ## } #',\r\n field: \"Revenue\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (JobsCreated === null){# - #} else {##: JobsCreated ## } #',\r\n field: \"JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (NetJobs === null){# - #} else {##: NetJobs ## } #',\r\n field: \"NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (CapitalCommitted === null){# - #} else {# R#: kendo.toString(CapitalCommitted, \"n0\") # # } #',\r\n field: \"CapitalCommitted\",\r\n title: \"Capital Committed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (CapitalDeployed === null){# - #} else {# R#: kendo.toString(CapitalDeployed, \"n0\") # # } #',\r\n field: \"CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (RevenueGrowth === null){# - #} else {# #: RevenueGrowth #% # } #',\r\n field: \"RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (ProcurementSpendGrowthRate === null){# - #} else {# #: ProcurementSpendGrowthRate #% # } #',\r\n field: \"ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (PermanentEmployment === null){# - #} else {##: PermanentEmployment ## } #',\r\n field: \"PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (TemporaryEmployment === null){# - #} else {##: TemporaryEmployment ## } #',\r\n field: \"TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (SupportProvided === null){# - #} else {# #: SupportProvided #h # } #',\r\n field: \"SupportProvided\",\r\n title: \"Support Provided\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"reportMonth\": '#= kendo.toString(ReportMonthFull, \"MM/yyyy\" ) #' },\r\n headerAttributes: { class: \"clean-panel-table-column\" }, // Add class to header\r\n template: '# if (ProcurementSpendTotal === null){# - #} else {# R#: kendo.toString(ProcurementSpendTotal, \"n0\") # # } #',\r\n field: \"ProcurementSpendTotal\",\r\n title: \"Procurement\",\r\n width: 150\r\n }]\r\n });\r\n var grid = $(\"#enterprise-dashboard-grid-corporate\").getKendoGrid();\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(20);\r\n });\r\n }\r\n }\r\n\r\n \r\n\r\n app.AppGrids.addCustomKendoDownloadCsvButton();\r\n app.AppGrids.addCustomKendoDownloadPdfButton();\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents(viewmodel) {\r\n\r\n if (viewmodel.get(\"userRole\") !== \"Corporate\") {\r\n $(\".showReport\").off(\"click\");\r\n $(\".showReport\").on('click', function (e) {\r\n var EnterpriseId = $(this).attr(\"EnterpriseId\"); //Investigate method for assigning ID/date to kendo row\r\n var reportMonth = $(this).attr(\"reportMonth\");\r\n if (EnterpriseId === '0') {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.id + \"&tab=reports\");\r\n //var invalid = {\r\n // title: \"Sorry!\",\r\n // message: \"Please create a report for \" + reportMonth +\".\"\r\n //};\r\n //app.AppNotify.showWarning(invalid);\r\n } else if (EnterpriseId && reportMonth) {\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-report-view?id=\" + EnterpriseId + \"&month=\" + reportMonth);\r\n }\r\n });\r\n } else {\r\n $(\".showReport\").removeClass(\"showReport\");\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n $(\".toggleAnnualMonthsGraph\").on('change', function (e) {\r\n var isChecked = $(this).is(\":checked\");\r\n toggleTrailingMonthsGraphVisibility(isChecked, viewmodel);\r\n //viewmodel.set(\"wasChartVisable\", viewmodel.isChartVisible);\r\n\r\n\r\n if (isChecked && viewmodel.annualizedGraphData.AnnualizedData.length <= 0) {\r\n viewmodel.set(\"showGraphButtons\", true);\r\n viewmodel.set(\"isChartVisible\", false);\r\n }\r\n\r\n if (!isChecked) {\r\n viewmodel.set(\"isChartVisible\", viewmodel.get(\"wasChartVisable\"));\r\n viewmodel.set(\"showGraphButtons\", viewmodel.get(\"wasChartVisable\"));\r\n }\r\n });\r\n\r\n $(\".startHelpTour\").off(\"click\");\r\n $(\".startHelpTour\").on('click', function (e) {\r\n app.AppHelper.startHelper(viewmodel, 'EnterprisePerformance');\r\n });\r\n\r\n $(\".startHelpTour\").off(\"click\");\r\n\r\n}\r\n\r\nfunction toggleTrailingMonthsGraphVisibility(isChecked, viewmodel) {\r\n if (isChecked) {\r\n renderAnnualizedChart(viewmodel);\r\n $(\".togglePercentageView\").prop(\"checked\", false);\r\n $(\".download-csv\").hide();\r\n viewmodel.set(\"isAnnualGraphShown\", false);\r\n } else {\r\n viewmodel.set(\"isAnnualGraphShown\", true);\r\n $(\".download-csv\").show();\r\n viewmodel.set(\"showAnnualMonthsReportingToEndDateMessage\", false);\r\n reloadChart(viewmodel);\r\n app.AppDashboard.resetMetrics();\r\n }\r\n}\r\n\r\n// Function: getMetricData --------------------------------------------------------------------------\r\nfunction getMetricData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var enterpriseId = viewmodel.get(\"enterpriseId\");\r\n var isCorporate = false;\r\n if (viewmodel.get(\"userRole\") === \"Corporate\") {\r\n isCorporate = true;\r\n }\r\n\r\n app.AppEnterprise.getPerformanceMetrics(enterpriseId, startDate, endDate, isCorporate).then(\r\n function (result) {\r\n setMetricData(viewmodel, result);\r\n //app.AppDashboard.styleMetrics(viewmodel);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: setMetricData --------------------------------------------------------------------------\r\nfunction setMetricData(viewmodel, data) {\r\n\r\n console.log(\"Setting Metric data...\");\r\n\r\n viewmodel.metricsModel.set(\"jobsCreated\", Math.round(data.JobsCreated));\r\n viewmodel.metricsModel.set(\"permanentJobsCreated\", data.PermanentJobsCreated);\r\n viewmodel.metricsModel.set(\"temporaryJobsCreated\", data.TemporaryJobsCreated);\r\n viewmodel.metricsModel.set(\"BBBEELevel\", data.BBBEELevel);\r\n viewmodel.metricsModel.set(\"headcountGrowth\", data.HeadcountGrowth);\r\n viewmodel.metricsModel.set(\"procurementspend\", app.AppDashboard.formatMoneyRounding(data.Procurementspend, 2));\r\n viewmodel.metricsModel.set(\"procurementSpendGrowthRate\", app.AppDashboard.formatNumberSign(data.ProcurementSpendGrowthRate));\r\n viewmodel.metricsModel.set(\"SMEInvestment\", data.SMEInvestment);\r\n viewmodel.metricsModel.set(\"supportProvided\", data.SupportProvided);\r\n viewmodel.metricsModel.set(\"headcount\", Math.round(data.Headcount));\r\n viewmodel.metricsModel.set(\"permanentEmployment\", data.PermanentEmployment);\r\n viewmodel.metricsModel.set(\"temporaryEmployment\", data.TemporaryEmployment);\r\n viewmodel.metricsModel.set(\"revenue\", app.AppDashboard.formatMoneyRounding(data.Revenue, 2));\r\n viewmodel.metricsModel.set(\"profit\", app.AppDashboard.formatMoneyRounding(data.Profit, 2));\r\n viewmodel.metricsModel.set(\"netJobs\", Math.round(data.NetJobs));\r\n viewmodel.metricsModel.set(\"permanentNetJobs\", data.PermanentNetJobs);\r\n viewmodel.metricsModel.set(\"temporaryNetJobs\", data.TemporaryNetJobs);\r\n viewmodel.metricsModel.set(\"SMEEngagementScore\", data.SMEEngagementScore);\r\n viewmodel.metricsModel.set(\"capitalDeployed\", data.CapitalDeployedTotal);\r\n\r\n\r\n \r\n if (data.isRevenueGrowthPositive !== null) {\r\n\r\n if (data.isRevenueGrowthPositive === false) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Loss \");\r\n $(\".revenueMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.isRevenueGrowthPositive === true) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Growth \");\r\n $(\".revenueMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", app.AppDashboard.formatNumberSign(data.RevenueGrowth));\r\n $(\".revenueMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n if (data.isProfitGrowthPositive !== null) {\r\n\r\n if (data.isProfitGrowthPositive === false) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Loss \");\r\n $(\".profitMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.isProfitGrowthPositive === true) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Growth \");\r\n $(\".profitMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"profitGrowth\", app.AppDashboard.formatNumberSign(data.ProfitGrowth));\r\n $(\".profitMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n viewmodel.metricsModel.set(\"revenueGrowth\", app.AppDashboard.formatNumberSign(data.RevenueGrowth));\r\n viewmodel.metricsModel.set(\"headCountGrowth\", app.AppDashboard.formatNumberSign(data.HeadcountGrowth));\r\n viewmodel.metricsModel.set(\"procurementSpendGrowthRate\", app.AppDashboard.formatNumberSign(data.ProcurementSpendGrowthRate));\r\n\r\n\r\n setCapitalDeployedGrandTotal(viewmodel, data.CapitalDeployedList);\r\n setIncompleteDataClasses(viewmodel, data);\r\n\r\n //Ticket: Enterprise not to see their own SME Engagement score on the Dashboard\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Enterprise\")\r\n $(\".enterprise-engagement-score\").closest(\".metric\").remove();\r\n}\r\n\r\nfunction loadProcurementSpendGrowthWagrModal() {\r\n var showModal = \"dashboard-procurement-growth-wagr-report-breakdown\";\r\n app.AppDialog.showProcurementGrowthWagrReportBreakdown(showModal);\r\n\r\n}\r\n// Function: setCapitalDeployedGrandTotal -------------------------------------------------------------------------\r\nfunction setCapitalDeployedGrandTotal(viewmodel, enterpriseFundCapitalDeployed) {\r\n\r\n var capitalDeployedPerFundTextHtml = '';\r\n $(\".capitalDeployed-popover\").empty();\r\n\r\n for (var item in enterpriseFundCapitalDeployed) {\r\n\r\n capitalDeployedPerFundTextHtml = $(\".capitalDeployed-popover\").append(\"
    \" + enterpriseFundCapitalDeployed[item].Name +\r\n ' : R' + enterpriseFundCapitalDeployed[item].Amount + \"
    \" + '
    ');\r\n }\r\n\r\n}\r\n\r\n\r\n// Function: setIncompleteDataClasses --------------------------------------------------------------------------\r\nfunction setIncompleteDataClasses(viewmodel, data) {\r\n //CADECEA -- REMOVED THE PROFIT SECTION AS IT WAS REMOVING THE STYLING \r\n\r\n //if (!data.ProfitGrowth) {\r\n // $('#metricCard-profitGrowth').removeClass(\"metric-chart-profit\");\r\n //}\r\n //if (data.Profit == null) {\r\n // $('#metricCard-profit').removeClass(\"metric-chart-profit\");\r\n //}\r\n\r\n if (!data.RevenueGrowth) {\r\n $('#metricCard-revenueGrowth').removeClass(\"metric-chart-revenue\");\r\n }\r\n\r\n if (data.Revenue == null) {\r\n $('#metricCard-revenue').removeClass(\"metric-chart-revenue\");\r\n }\r\n\r\n if (!data.HeadcountGrowth) {\r\n $('#metricCard-headcountGrowth').removeClass(\"metric-chart-headcount\");\r\n }\r\n if (data.Headcount == null) {\r\n $('#metricCard-headcount').removeClass(\"metric-chart-headcount\");\r\n }\r\n\r\n if (data.ProcurementSpendGrowthRate === null) {\r\n $('#metricCard-procurementSpendGrowthRate').removeClass(\"metric-chart-procurement\");\r\n }\r\n if (data.ProcurementSpend === null) {\r\n $('#metricCard-procurementspend').removeClass(\"metric-chart-procurement\");\r\n }\r\n if (data.CapitalDeployedTotal === null) {\r\n $('#metricCard-capitaldeployed').removeClass(\"metric-chart-capitaldeployed\");\r\n }\r\n\r\n}\r\n\r\nfunction renderAnnualizedChart(viewmodel) {\r\n var colours = app.AppDashboardColors.get();\r\n var annualizedData = viewmodel.annualizedGraphData.AnnualizedData;\r\n\r\n const maxLabels = 13;\r\n const step = Math.ceil(annualizedData.length / maxLabels);\r\n\r\n showTrailingGraphMessage(viewmodel);\r\n if (annualizedData || annualizedData.length > 0) {\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: annualizedData,\r\n },\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers: {\r\n visible: false\r\n }\r\n },\r\n series: [{\r\n field: \"Revenue\",\r\n name: \"Revenue\",\r\n color: colours.RevenueGrowth,\r\n missingValues: \"interpolate\",\r\n visible: true,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Profit\",\r\n name: \"Profit\",\r\n color: colours.ProfitGrowth,\r\n missingValues: \"interpolate\",\r\n visible: true,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"ProcurementSpend\",\r\n name: \"Procurement Spend\",\r\n color: colours.ProcurementSpend,\r\n missingValues: \"interpolate\",\r\n visible: true,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"HeadCount\",\r\n name: \"Headcount\",\r\n color: colours.HeadcountGrowth,\r\n missingValues: \"interpolate\",\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n fotemplate: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }],\r\n categoryAxis: {\r\n field: \"AnnualPeriod\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, annualizedData.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"# if(series.name != 'Headcount'){# R#: kendo.toString(value,'n0') + ' (' + series.name #) #} else {##: kendo.toString(value,'n0')+ ' (' +series.name #) #} #\"\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction showTrailingGraphMessage(viewmodel) {\r\n var message = viewmodel.annualizedGraphData.OnlyShowingReportingUpToSpecificDateMessage;\r\n var showMessage = showAnnualMonthsReportingToEndDateMessage(message, viewmodel);\r\n if (showMessage) {\r\n viewmodel.set(\"showAnnualMonthsReportingToEndDateMessage\", true);\r\n if (message.indexOf(\"Reporting Data is only shown up to\") >= 0) {\r\n viewmodel.set(\"annualizedChartMessageIcon\", \"#FFFF00\");\r\n } else {\r\n viewmodel.set(\"annualizedChartMessageIcon\", \"#fe1313\");\r\n }\r\n } else {\r\n viewmodel.set(\"showAnnualMonthsReportingToEndDateMessage\", false);\r\n }\r\n}\r\n\r\nfunction showAnnualMonthsReportingToEndDateMessage(message, viewmodel) {\r\n if (message) {\r\n viewmodel.set(\"annualMonthsReportingToEndDateMessage\", message);\r\n return true;\r\n } else {\r\n viewmodel.set(\"annualMonthsReportingToEndDateMessage\", null);\r\n return false;\r\n }\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/enterprise\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.startup = function () { startup(this); };\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.cancel = function () { cancel(this); };\r\n this.removePhoto = function () { removePhoto(this); };\r\n\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n\r\n this.provinceList = app.AppDataLists.getProvincesLocal();\r\n this.industryList = app.AppDataLists.getIndustriesLocal();\r\n this.beeLevelList = app.AppDataLists.getBeeLevelsLocal();\r\n this.beeTypeList = app.AppDataLists.getBeeTypesLocal();\r\n\r\n this.downloadRecord = { id: \"\", enterpriseId: this.data.Id, name: \"\", file: \"\", type: \"\", expiryDate: \"\" };\r\n this.uploadedFiles = [];\r\n this.addDiagnosticReportToMaturityIndex = function (e) { addDiagnosticReportToMaturityIndex(this, e); };\r\n this.isEdgeUser = false;\r\n this.isMentorUser = false;\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().role;\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (enterpriseId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/edit\", \"Enterprise - Edit\");\r\n\r\n app.AppEnterpriseAddEditShared.isEdgeUser(viewmodel);\r\n\r\n if (loggedInUserRole === \"Mentor\") {\r\n viewmodel.set(\"isMentorUser\", true);\r\n }\r\n\r\n getEnterprise(viewmodel, enterpriseId).then(\r\n function (enterpriseData) {\r\n \r\n app.AppFund.getFunds(1, 10000, \" \", \" \", \" \", \"active\", \" \", userRole).then(\r\n function (fundListData) {\r\n if (fundListData) {\r\n app.AppFund.setFundsLocal(fundListData.Results);\r\n }\r\n setEnterprise(viewmodel, enterpriseData);\r\n app.AppEnterpriseAddEditShared.hideEnterpriseFinancialsForCorporatesToggle();\r\n enterpriseReportCreationDayDropDownList(viewmodel);\r\n \r\n doFormValidation(viewmodel);\r\n $('body,html').animate({ scrollTop: 0 }, 200); //Scroll to top of page\r\n def.resolve();\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n\r\n });\r\n\r\n app.AppEnterprise.getEnterpriseSelectedProducts(enterpriseId).then(\r\n function success(enterpriseProducts) {\r\n window.enterpriseProducts = enterpriseProducts; //todo fix add this back//\r\n viewmodel.data.set('enterpriseExistingProducts', enterpriseProducts);\r\n getIndustryProducts(enterpriseData.IndustryId, enterpriseId, viewmodel);\r\n def.resolve();\r\n },\r\n function error(error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n }\r\n );\r\n\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to edit enterprise details.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n navigateDefault();\r\n }\r\n\r\n initextEditor();\r\n\r\n bindEvents(viewmodel);\r\n\r\n enableProductsMultiSelectControl(true);\r\n\r\n viewmodel.set(\"isEditMode\", true);\r\n \r\n}\r\n\r\n// Function: bindEvents --------------------------------------------------------------------------------\r\nfunction bindEvents(viewmodel) {\r\n\r\n dropDrownEvents(viewmodel);\r\n\r\n multiSelectEvents();\r\n\r\n $('#maturity').on('input', function () {\r\n viewmodel.set(\"hasMaturityValueChanged\", true);\r\n });\r\n}\r\n\r\n// Function: dropDrownEvents ----------------------------------------------------------------------------\r\nfunction dropDrownEvents(viewmodel) {\r\n\r\n $(\"#industryId\").on('change', function (e) {\r\n e.preventDefault();\r\n enableProductsMultiSelectControl(true);\r\n getProducts(this.value);\r\n });\r\n\r\n $(\"#creationDays\").on('change', function (e) {\r\n viewmodel.data.set(\"reportCreationDay\", kendo.parseInt(this.value));\r\n });\r\n}\r\n\r\nfunction enterpriseReportCreationDayDropDownList(viewmodel) {\r\n destroyMultiSelect('#creationDays');\r\n\r\n var data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];\r\n\r\n var index = 0;\r\n if (viewmodel.data.get(\"reportCreationDay\")) {\r\n index = data.indexOf(viewmodel.data.get(\"reportCreationDay\"));\r\n }\r\n\r\n $(\"#creationDays\").kendoDropDownList({\r\n dataSource: data,\r\n index: index,\r\n });\r\n}\r\n\r\n// Function: multiSelectEvents ----------------------------------------------------------------------------\r\nfunction multiSelectEvents() {\r\n\r\n $(document).on('click', '#add-new-item-button', function (e) {\r\n e.preventDefault();\r\n var value = $('#add-new-item-button').attr('data-itemValue');\r\n var id = $('#add-new-item-button').attr('data-itemId');\r\n addNewProduct(id, value);\r\n });\r\n}\r\n\r\n// Function: getEnterprise ------------------------------------------------------------------------------\r\nfunction getEnterprise(viewmodel, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getEnterpriseById(enterpriseId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setEnterprise --------------------------------------------------------------------------\r\nfunction setEnterprise(viewmodel, enterprise) {\r\n\r\n //a bit hacky but gets the work done.\r\n $(\"#main-page-title\").text(enterprise.Name.toUpperCase());\r\n\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Enterprise\") {\r\n $(\".breadcrumbs\").remove();\r\n $(\".hide-for-enterprise-users\").css(\"display\", \"none\");\r\n }\r\n viewmodel.data.set(\"Id\", enterprise.EnterpriseId);\r\n viewmodel.data.set(\"name\", enterprise.Name);\r\n viewmodel.data.set(\"registeredName\", enterprise.RegisteredName);\r\n viewmodel.data.set(\"registrationNumber\", enterprise.RegistrationNumber);\r\n\r\n viewmodel.data.set(\"keyContactName\", enterprise.KeyContactName);\r\n viewmodel.data.set(\"keyContactCellNo\", enterprise.KeyContactCellNo);\r\n viewmodel.data.set(\"keyContactEmail\", enterprise.KeyContactEmail);\r\n\r\n viewmodel.data.set(\"logo\", enterprise.Logo);\r\n viewmodel.data.set(\"officephone\", enterprise.OfficePhone);\r\n viewmodel.data.set(\"email\", enterprise.Email);\r\n viewmodel.data.set(\"websiteUrl\", enterprise.WebsiteUrl);\r\n viewmodel.data.set(\"overview\", enterprise.Overview);\r\n viewmodel.data.set(\"industryId\", enterprise.IndustryId);\r\n viewmodel.data.set(\"DisableBbeeCertificateReminders\", enterprise.DisableBbeeCertificateReminders);\r\n if (enterprise.Bbee) {\r\n viewmodel.data.set(\"BbeeLevelId\", enterprise.Bbee.BbeeLevelId);\r\n viewmodel.data.set(\"BbeeTypeId\", enterprise.Bbee.BbeeTypeId);\r\n viewmodel.data.set(\"blackWomanOwned\", enterprise.Bbee.BlackWomanOwned);\r\n viewmodel.data.set(\"blackOwnership\", enterprise.Bbee.BlackOwnership);\r\n }\r\n\r\n viewmodel.data.set(\"complexBuilding\", enterprise.Address.ComplexBuilding);\r\n viewmodel.data.set(\"street\", enterprise.Address.Street);\r\n viewmodel.data.set(\"suburb\", enterprise.Address.Suburb);\r\n viewmodel.data.set(\"provinceId\", enterprise.Address.ProvinceId);\r\n viewmodel.data.set(\"postalCode\", enterprise.Address.PostalCode);\r\n viewmodel.data.set(\"reportCreationDay\", enterprise.ReportCreationDay);\r\n\r\n app.AppEnterprise.createEnterpriseCapitalCommittedDeployedDataSourceAndGrid(viewmodel, 'capitalcommitted-grid', 'Capital Committed', enterprise.EnterpriseFundCapitalCommittedHistories);\r\n app.AppEnterprise.createEnterpriseCapitalCommittedDeployedDataSourceAndGrid(viewmodel, 'capitaldeployed-grid', 'Capital Deployed', enterprise.EnterpriseFundCapitalDeployedHistories);\r\n app.AppEnterprise.setStylingAddRecordToGridButton();\r\n\r\n app.AppEnterpriseAddEditShared.createMaturityDataSource(viewmodel, enterprise.MaturityHistories);\r\n\r\n viewmodel.data.set(\"hideEnterpriseFinancialsForCorporates\", enterprise.HideEnterpriseFinancialsForCorporates);\r\n viewmodel.data.set(\"solvingRealWorldProblems\", enterprise.SolvingRealWorldProblems);\r\n viewmodel.data.set(\"operateInFastGrowingMarket\", enterprise.OperateInFastGrowingMarket);\r\n viewmodel.data.set(\"smeManagementTeamScaleUp\", enterprise.SMEManagementTeamScaleUp);\r\n}\r\n\r\nfunction getIndustryProducts(industryId, enterpriseId, viewmodel) {\r\n app.AppEnterprise.getAllIndustryProducts(industryId, enterpriseId).then(\r\n function (result) {\r\n createProductsMulitSelect(result, viewmodel);\r\n },\r\n function (error) {\r\n drawMultiSelect(null);\r\n }\r\n );\r\n}\r\n\r\n// Function: initextEditor --------------------------------------------------------------------------\r\nfunction initextEditor() {\r\n\r\n // create Editor from textarea HTML element with default set of tools\r\n $(\"#overviewEdit\").kendoEditor({\r\n resizable: {\r\n toolbar: true\r\n }, tools: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"createLink\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n ]\r\n });\r\n}\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#enterpriseName\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n //viewmodel.data.set(\"logo\", reader.result);\r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n };\r\n}\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 450,\r\n height: 240,\r\n type: 'square'\r\n },\r\n boundary: {\r\n width: 600,\r\n height: 300\r\n }\r\n });\r\n\r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n\r\n $(\".uploadClick\").on(\"click\", function () {\r\n uploadImage.croppie('result', { type: 'base64', size: 'viewport', quality: 0.8 }).then(function (base64) {\r\n viewmodel.data.set(\"logo\", base64);\r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n })\r\n\r\n $('#croppie-modal').on('hidden.bs.modal', function () {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n })\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n};\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"logo\", \"\");\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#edit-enterprise-form\").kendoValidator(\r\n {\r\n rules: {\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\" ||\r\n $(input).attr(\"name\") === \"keyContactCellNo\") {\r\n if (input.val() != \"\") {\r\n return input.val().length > 9\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n url: \"Your input is not a valid URL\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\") {\r\n return \"Telephone is not valid\"\r\n }\r\n if ($(input).attr(\"name\") === \"keyContactCellNo\") {\r\n return \"Cellphone is not valid\"\r\n }\r\n else {\r\n return \"Your input is not valid\"\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n};\r\n\r\n// Function: cancel ---------------------------------------------------------------------------------\r\nfunction cancel(viewmodel) {\r\n navigateDefault();\r\n}\r\n\r\n// Function: navigateDefault ------------------------------------------------------------------------\r\nfunction navigateDefault() {\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/overview-enterprise\");\r\n } else {\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=overview\");\r\n }\r\n}\r\n\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n app.AppEnterpriseAddEditShared.getHideEnterpriseFinancialsForCorporatesToggleValue(viewmodel);\r\n\r\n var updateData = getEnterpriseObject(viewmodel);\r\n app.AppEnterprise.update(updateData).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise successfully updated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/overview-enterprise\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + updateData.EnterpriseId + \"&tab=overview\");\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n //app.AppRouter.router.navigate(\"/\");\r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: getEnterpriseObject --------------------------------------------------------------------\r\nfunction getEnterpriseObject(viewmodel) {\r\n\r\n var strImage = \"\";\r\n if (viewmodel.data.get(\"logo\")) {\r\n var strToReplace = viewmodel.data.get(\"logo\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n }\r\n\r\n var enterpriseproducts = getEntperiseProducts();\r\n\r\n return {\r\n\r\n EnterpriseId: viewmodel.data.get(\"Id\"),\r\n Name: viewmodel.data.get(\"name\"),\r\n RegisteredName: viewmodel.data.get(\"registeredName\"),\r\n RegistrationNumber: viewmodel.data.get(\"registrationNumber\"),\r\n\r\n KeyContactName: viewmodel.data.get(\"keyContactName\"),\r\n KeyContactCellNo: viewmodel.data.get(\"keyContactCellNo\"),\r\n KeyContactEmail: viewmodel.data.get(\"keyContactEmail\"),\r\n\r\n OfficePhone: viewmodel.data.get(\"officephone\"),\r\n Email: viewmodel.data.get(\"email\"),\r\n WebsiteUrl: viewmodel.data.get(\"websiteUrl\"),\r\n Overview: viewmodel.data.get(\"overview\"),\r\n IndustryId: viewmodel.data.get(\"industryId\"),\r\n DisableBbeeCertificateReminders: viewmodel.data.get(\"DisableBbeeCertificateReminders\"),\r\n BbeeLevelId: viewmodel.data.get(\"BbeeLevelId\"),\r\n BbeeTypeId: viewmodel.data.get(\"BbeeTypeId\"),\r\n BlackWomanOwned: viewmodel.data.get(\"blackWomanOwned\"),\r\n BlackOwnership: viewmodel.data.get(\"blackOwnership\"),\r\n Products: enterpriseproducts,\r\n MaturityHistories: app.AppEnterpriseAddEditShared.buildMaturityHistory(viewmodel),\r\n\r\n EnterpriseFundCapitalCommittedHistories: app.AppEnterprise.buildCapitalCommittedDeployedHistoriesObjectToPostFromDataSource(\"capitalcommitted-grid\"),\r\n EnterpriseFundCapitalDeploymentHistories: app.AppEnterprise.buildCapitalCommittedDeployedHistoriesObjectToPostFromDataSource(\"capitaldeployed-grid\"),\r\n\r\n Logo: strImage,\r\n\r\n ComplexBuilding: viewmodel.data.get(\"complexBuilding\"),\r\n Street: viewmodel.data.get(\"street\"),\r\n Suburb: viewmodel.data.get(\"suburb\"),\r\n ProvinceId: viewmodel.data.get(\"provinceId\"),\r\n PostalCode: viewmodel.data.get(\"postalCode\"),\r\n HideEnterpriseFinancialsForCorporates: viewmodel.get(\"HideEnterpriseFinancialsForCorporates\"),\r\n SolvingRealWorldProblems: viewmodel.data.get(\"solvingRealWorldProblems\"),\r\n OperateInFastGrowingMarket: viewmodel.data.get(\"operateInFastGrowingMarket\"),\r\n SMEManagementTeamScaleUp: viewmodel.data.get(\"smeManagementTeamScaleUp\"),\r\n ReportCreationDay: viewmodel.data.get(\"reportCreationDay\")\r\n };\r\n}\r\n\r\n// Function: destroyMultiSelect -----------------------------------------------------------------------------------------------\r\nfunction destroyMultiSelect(selector) {\r\n\r\n var multiselect = $(selector).data(\"kendoMultiSelect\");\r\n if (multiselect) {\r\n app.AppProduct.destroyMultiSelect(selector);\r\n }\r\n}\r\n\r\n// Function: createProductsMulitSelect -----------------------------------------------------------------------------------------\r\nfunction createProductsMulitSelect(data, viewmodel) {\r\n\r\n //Clear before setting the new data.\r\n destroyMultiSelect('#products');\r\n\r\n var localDataSource = new kendo.data.DataSource({ data: data });\r\n $('#products').kendoMultiSelect({\r\n dataSource: localDataSource,\r\n dataTextField: 'ProductName',\r\n dataValueField: 'ProductId',\r\n filter: 'contains',\r\n noDataTemplate: $(\"#noDataTemplate\").html()\r\n }).data(\"kendoMultiSelect\");\r\n\r\n assignPreviouslyAssignedEnterpriseProductsToMultiselect(viewmodel);\r\n}\r\n\r\n// Function: setDataOnMultiSelect -------------------------------------------------------------------------------------------\r\nfunction setDataOnMultiSelect(id, data) {\r\n var multiselect = $(id).data(\"kendoMultiSelect\");\r\n if (multiselect) {\r\n multiselect.value(data);\r\n }\r\n}\r\n\r\n// Function: getProducts ----------------------------------------------------------------------------------------------------\r\nfunction getProducts(industryId) {\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppEnterprise.getAllIndustryProducts(industryId, enterpriseId).then(\r\n\r\n function (result) {\r\n createProductsMulitSelect(result);\r\n },\r\n function (error) {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n }\r\n );\r\n}\r\n\r\n// Function: getEntperiseProducts --------------------------------------------------------------------------------------------\r\nfunction getEntperiseProducts() {\r\n\r\n var industryId = getIndustryId();\r\n\r\n if (industryId) {\r\n\r\n var productsToAddToEnterprise = app.AppProduct.buildEnterpriseProducts(industryId);\r\n return productsToAddToEnterprise;\r\n }\r\n}\r\n\r\n// Function: addNewProduct ----------------------------------------------------------------------------------------------------\r\nfunction addNewProduct(widgetId, value) {\r\n\r\n if (value) {\r\n app.AppProduct.addNewProduct(widgetId, value);\r\n }\r\n}\r\n\r\n// Function: getIndustryId ----------------------------------------------------------------------------------------------------\r\nfunction getIndustryId() {\r\n return $(\"#industryId\").val();\r\n}\r\n\r\n// Function: enableProductsMultiSelectControl --------------------------------------------------------------------------------\r\nfunction enableProductsMultiSelectControl(canEnable) {\r\n var multiSelect = $(\"#Products\").data('kendoMultiSelect');\r\n if (multiSelect) {\r\n\r\n multiSelect.enable(canEnable);\r\n }\r\n}\r\n\r\n//Maturity Index ---------------------------------------------------------------------------------------\r\nfunction addDiagnosticReportToMaturityIndex(viewmodel, e) {\r\n e.preventDefault();\r\n var maturity = $(\"#maturity\").val();\r\n viewmodel.set(\"maturity\", maturity);\r\n app.AppEnterpriseAddEditShared.addDiagnosticReportToMaturityIndex(viewmodel, viewmodel.downloadRecord);\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction assignPreviouslyAssignedEnterpriseProductsToMultiselect(viewmodel) {\r\n\r\n var enterpriseProducts = viewmodel.data.get('enterpriseExistingProducts');\r\n\r\n var selectedProducts = [];\r\n enterpriseProducts.forEach(function (product) {\r\n selectedProducts.push(product.ProductId);\r\n });\r\n setDataOnMultiSelect(\"#products\", selectedProducts);\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.isAdmin = false;\r\n this.data = new kendo.data.Model();\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/inactive\", \"Inactive\");\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Administrator\" ||\r\n loggedInUserRole === \"Super Admin\") {\r\n viewmodel.set(\"isAdmin\", true);\r\n }\r\n bindInActiveEnterprises(viewmodel);\r\n};\r\n\r\n// Function: bindInActiveEnterprises ------------------------------------------------------------------\r\nfunction bindInActiveEnterprises(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getInActiveEnterprises().then(\r\n\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n Industry: { type: \"string\" },\r\n Province: { type: \"string\" },\r\n HeadCount: { type: \"number\" },\r\n BbeeLevelId: { type: \"number\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n var result = {\r\n data: []\r\n };\r\n\r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n EnterpriseId: v.EnterpriseId,\r\n Name: v.Name,\r\n Logo: v.Logo,\r\n HeadCount: Math.round(v.HeadCount),\r\n Permissions: v.Permissions\r\n };\r\n if (v.Industry && v.Industry.Name) { pushData.Industry = v.Industry.Name; }\r\n if (v.Address.Province) { pushData.Province = v.Address.Province.Name; }\r\n if (v.Bbee && v.Bbee.BbeeLevelId) { pushData.BbeeLevelId = v.Bbee.BbeeLevelId; }\r\n \r\n result.data.push(pushData);\r\n });\r\n\r\n return result;\r\n }\r\n },\r\n pageable: true\r\n \r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function alterDisplayedTable(e) {\r\n var isAdminUser = viewmodel.get(\"isAdminUser\");\r\n\r\n $(\"#grid-inactive-users .enterprise-list-tr\").each(function () {\r\n var currentDataItem = $(\"#grid-inactive-users\").data(\"kendoGrid\").dataItem($(this));\r\n\r\n var havePermissions = false;\r\n if (isAdminUser || (currentDataItem.Permissions && currentDataItem.Permissions.length > 0))\r\n havePermissions = true;\r\n\r\n if (!havePermissions) {\r\n $(this).find(\"div.list-dropdown\").find(\"ul\").find(\".divider\").remove();\r\n $(this).find(\"div.list-dropdown\").find(\"ul\").find(\".deleteEnterprise\").remove();\r\n $(this).find(\"div.list-dropdown\").find(\"ul\").find(\".edit\").remove();\r\n };\r\n });\r\n loadClickEvents();\r\n };\r\n\r\n\r\n $(\"#grid-inactive-users\").kendoGrid({\r\n autoBind: false,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n \r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"extraLarge\")\r\n },\r\n {\r\n field: \"Industry\",\r\n title: \"Industry\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"medium\")\r\n },\r\n {\r\n field: \"Province\",\r\n title: \"Province\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n }, {\r\n field: \"HeadCount\",\r\n title: \"Head Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"extraSmall\")\r\n }, {\r\n field: \"BbeeLevelId\",\r\n title: \"BBEE Level\",\r\n width: app.AppGrids.getGridColumnWidthSize(\"extraSmall\")\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }],\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n rowTemplate: kendo.template($(\"#inactive-enterprise-list-template\").html())\r\n });\r\n\r\n var grid = $(\"#grid-inactive-users\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n\r\n\r\n// Function: getInActiveEnterprises -------------------------------------------------------------------\r\nfunction getInActiveEnterprises() {\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getInActiveEnterprises(1, 10000, \" \", null, null, null).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".restoreEnterprise\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"name\");\r\n var id = $(this).attr(\"id\");\r\n\r\n restoreEnterprise(name, id);\r\n });\r\n\r\n};\r\n\r\n// Function: restoreEnterprise -----------------------------------------------------------------------\r\nfunction restoreEnterprise(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n restoreConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.restoreEnterprise(id).then(\r\n\r\n function (data) {\r\n $(\"#grid-inactive-users\").data(\"kendoGrid\").dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise successfully restored.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: restoreConfirm --------------------------------------------------------------------------\r\nfunction restoreConfirm(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"restoreConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to restore \" + enterprise + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n//var model = require(\"app_mvvm_models/custom/enterprise/performance\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.data = new kendo.data.Model();\r\n this.argsParams = argsParams;\r\n //this.isEnterpriseUser = false;\r\n this.backToReports = function () { backToReports(this); };\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) { \r\n\r\n // ------------------------------------ New startup --------------------------------------------\r\n \r\n var def = $.Deferred();\r\n\r\n var reportId = app.AppRouter.getCurrentRoute().params.id; \r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (reportId) {\r\n \r\n getPerformanceData(reportId).then(\r\n\r\n function (data) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/monthly-report-confirmation\", \"Enterprise report - Confirmation\");\r\n setPerformanceData(viewmodel, data);\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") { \r\n var enterpriseName = viewmodel.data.get(\"enterpriseName\"); \r\n var enterpriseId = viewmodel.data.get(\"enterpriseId\");\r\n\r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#breadcrumb-second\").text(enterpriseName.toUpperCase()); \r\n $(\"#breadcrumb-link\").attr(\"href\", \"#/enterprise/dashboard?id=\" + enterpriseId + \"&tab=reports\");\r\n } else {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"#/reports\");\r\n }\r\n\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n\r\n });\r\n\r\n } else {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load monthly report.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n};\r\n\r\n// Function: backToReports --------------------------------------------------------------------------------\r\nfunction backToReports(viewmodel) {\r\n var link = $(\"#breadcrumb-link\").attr(\"href\");\r\n app.AppRouter.router.navigate(link);\r\n};\r\n\r\n\r\n\r\n\r\n// Function: getPerformanceData ---------------------------------------------------------------------\r\nfunction getPerformanceData(id) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getPerformanceDataById(id).then(\r\n\r\n function (results) {\r\n def.resolve(results.data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setPerformanceData ---------------------------------------------------------------------\r\nfunction setPerformanceData(viewmodel, performance) { \r\n\r\n var date = kendo.parseDate(performance.PerformanceMonth, \"MM/yyyy\");\r\n var month = kendo.toString(new Date(date), \"y\").replace(\",\", \" \");\r\n $(\".report-month\").text(month);\r\n\r\n viewmodel.data.set(\"Id\", performance.Id);\r\n viewmodel.data.set(\"enterpriseId\", performance.EnterpriseId);\r\n viewmodel.data.set(\"performanceMonth\", performance.PerformanceMonth);\r\n viewmodel.data.set(\"status\", performance.Status);\r\n viewmodel.data.set(\"enterpriseName\", performance.EnterpriseName);\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/contracts\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.validator;\r\n this.showInfoPanel = true;\r\n this.contractInfo = [];\r\n this.addContractInfo = function () { addContractInfo(this); };\r\n this.removeContractInfo = function (e) { removeContractInfo(e, this); };\r\n this.contractInfoToRemove = [];\r\n\r\n this.performanceId;\r\n this.startup = function () { startup(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n var reportId = app.AppRouter.getCurrentRoute().params.id;\r\n viewmodel.performanceId = reportId;\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (reportId) {\r\n\r\n getContractInfo(reportId).then(\r\n\r\n function (data) {\r\n setContractInfo(viewmodel, data.data.Contracts);\r\n bindClickEvents(viewmodel);\r\n doFormValidation(viewmodel);\r\n refreshCarousel();\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n } else {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load Contract report.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n //app.AppRouter.router.navigate(\"/\");\r\n }\r\n\r\n}\r\n// Function: getContractInfo ----------------------------------------------------------------------\r\nfunction getContractInfo(id) {\r\n //Todo: David, we need to fix the application context to return contracts only.\r\n var def = $.Deferred();\r\n app.AppEnterprise.getPerformanceDataById(id).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error)\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setContractInfo ------------------------------------------------------------------------\r\nfunction setContractInfo(viewmodel, contract) {\r\n\r\n var contractInfo = [];\r\n\r\n contract.forEach(function (v, i) {\r\n\r\n contractInfo.push(new model({\r\n \"clientName\" : v.Client, \r\n \"details\": v.Details,\r\n \"contractLength\": v.Length,\r\n \"rand\": v.Rand,\r\n }));\r\n });\r\n\r\n viewmodel.set(\"contractInfo\", contractInfo);\r\n\r\n if (contractInfo.length === 0) {\r\n viewmodel.set(\"showInfoPanel\", true);\r\n } else {\r\n viewmodel.set(\"showInfoPanel\", false);\r\n }\r\n\r\n};\r\n\r\n// Function: bindClickEvents ------------------------------------------------------------------------\r\nfunction bindClickEvents(viewmodel) {\r\n\r\n $(\".owl-next\").unbind('click').on(\"click\", function () {\r\n save(viewmodel);\r\n });\r\n\r\n\r\n $(\".last-input-field-on-page\").keydown(function (e) {\r\n if (e.which == 9) {\r\n e.preventDefault();\r\n };\r\n });\r\n\r\n};\r\n\r\n// Function: addContractInfo ----------------------------------------------------------------------\r\nfunction addContractInfo(viewmodel) {\r\n\r\n var contract = new model();\r\n contract.order = viewmodel.get(\"contractInfo\").length;\r\n viewmodel.get(\"contractInfo\").push(contract);\r\n\r\n viewmodel.set(\"showInfoPanel\", false);\r\n\r\n refreshCarousel();\r\n};\r\n\r\n// Function: removeContractInfo -------------------------------------------------------------------\r\nfunction removeContractInfo(e, viewmodel) {\r\n\r\n var copy = viewmodel.get(\"contractInfo\");\r\n\r\n var record = e.data;\r\n\r\n deleteConfirm(record).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n var index = copy.indexOf(record);\r\n\r\n copy.splice(index, 1);\r\n\r\n if (record.Id) {\r\n viewmodel.contractInfoToRemove.push(record);\r\n };\r\n\r\n var updatedList = []\r\n copy.forEach(function (v, i) {\r\n v.order = i;\r\n updatedList.push(v);\r\n });\r\n\r\n viewmodel.set(\"contractInfo\", updatedList);\r\n\r\n if (updatedList.length > 0) {\r\n viewmodel.set(\"showInfoPanel\", false);\r\n\r\n } else {\r\n viewmodel.set(\"showInfoPanel\", true);\r\n }\r\n\r\n refreshCarousel();\r\n }\r\n });\r\n};\r\n\r\n// Function: shouldDisplayConfirmation --------------------------------------------------------------\r\nfunction shouldDisplayConfirmation(item) {\r\n\r\n if (item && item.details === \"\" && item.contractLength === \"\") {\r\n return false;\r\n\r\n } else {\r\n return true;\r\n };\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(item) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var confirm = shouldDisplayConfirmation(item);\r\n\r\n if (confirm) {\r\n var body = \"Are you sure you want to delete Contract ?\";\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n } else {\r\n\r\n def.resolve(true);\r\n }\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: refreshCarousel ------------------------------------------------------------------------\r\nfunction refreshCarousel() {\r\n var owl = $('#enterprise-report-form-pages');\r\n owl.trigger('refreshed.owl.carousel');\r\n}\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#contract-info-container\").kendoValidator(\r\n {\r\n rules: {\r\n amountMin: function (input) {\r\n if ($(input).attr(\"data-contract-minimum-amount\") === \"contractminlength\") {\r\n if (input.val()!= \"\") {\r\n return input.val() >= 100000\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n required: \"This field is required.\",\r\n \r\n amountMin: \"Amount should be more than R100 000\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n\r\n};\r\n\r\n// Function: next -----------------------------------------------------------------------------------\r\nfunction next(viewmodel) {\r\n app.AppRender.showView(\"#mentor-rating\", {\r\n html: \"./custom/enterprise/report/mentor-rating\",\r\n viewmodel: \"./custom/enterprise/report/mentor-rating\",\r\n code: \"./custom/enterprise/report/mentor-rating\",\r\n //viewmodelParams: { performanceId: 1 }\r\n });\r\n\r\n var owl = $('#enterprise-report-form-pages');\r\n owl.trigger('next.owl.carousel');\r\n}\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var data = buildUpdateObject(viewmodel);\r\n\r\n if (data.ContractBindingModels.length > 0) {\r\n app.AppEnterprise.updateMonthlyContracts(data).then(\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise monthly contract successfully saved.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n if (viewmodel.get(\"isMonthlyReport\")) {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.data.get(\"enterpriseId\") + \"&tab=reports\");\r\n } else {\r\n\r\n next();\r\n }\r\n\r\n },\r\n \r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.data.get(\"enterpriseId\") + \"&tab=reports\");\r\n });\r\n } else {\r\n next(); \r\n } \r\n \r\n }\r\n else {\r\n def.reject();\r\n //app.AppRouter.router.navigate(\"/enterprise/monthly-report?id=\" + viewmodel.data.get(\"enterpriseId\") );\r\n $(\".k-invalid:first\").focus();\r\n };\r\n\r\n return def.promise();\r\n\r\n}\r\n\r\n// Function: buildUpdateObject ----------------------------------------------------------------------\r\nfunction buildUpdateObject(viewmodel) {\r\n\r\n var data = {\r\n EnterpriseMonthlyPerformanceId: viewmodel.performanceId,\r\n ContractBindingModels: []\r\n\r\n };\r\n viewmodel.get(\"contractInfo\").forEach(function (v, i) {\r\n data.ContractBindingModels.push({\r\n Client: v.clientName, \r\n Details: v.details,\r\n Length: v.contractLength,\r\n Rand: v.rand\r\n });\r\n });\r\n\r\n return data;\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.data = new kendo.data.Model();\r\n this.loadingDef;\r\n this.reportMonth;\r\n this.mentorReportMonth;\r\n this.validator;\r\n this.reportType = \"\";\r\n this.showhideCreateReport = false;\r\n this.argsParams = argsParams;\r\n this.createReportBlank = function () { createReportBlank(this); };\r\n this.openEnterpriseReportModal = function () { openEnterpriseReportModal(this); };\r\n this.createMentorReportBlank = function () { createMentorReportBlank(this); };\r\n this.openMentorReportModal = function () { openMentorReportModal(this); };\r\n this.reportList = [];\r\n this.permissions = [];\r\n this.enterpriseId = \"\";\r\n this.performanceId = \"\";\r\n this.deletePerformance = function () { deletePerformance(this) };\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n viewmodel.loadingDef = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef);\r\n if (role === \"Super Admin\") {\r\n\r\n setTimeout( //delay displaying list because grid is not rendered in time. see Task-10583-377\r\n function () {\r\n getEnterpriseByUserOrQueryParam().then(\r\n function (enterpriseId) {\r\n if (enterpriseId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/dashboard/reports-edit\", \"Reports List Edit\");\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n \r\n viewmodel.set(\"enterpriseId\", enterpriseId);\r\n getEnterpriseName(viewmodel, enterpriseId);\r\n getBindReportList(viewmodel, enterpriseId);\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load enterprise reports.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n viewmodel.loadingDef.reject();\r\n }\r\n }, function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Something went wrong, could not load enterprise.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n viewmodel.loadingDef.reject();\r\n });\r\n },\r\n 500);\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load enterprise reports.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n viewmodel.loadingDef.reject();\r\n }\r\n\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n var tourStarted = false;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.data = new kendo.data.Model();\r\n this.loadingDef;\r\n this.reportMonth;\r\n this.mentorReportMonth;\r\n this.validator;\r\n this.reportType = \"\";\r\n this.showhideCreateReport = false;\r\n this.argsParams = argsParams;\r\n this.createReportBlank = function () { createReportBlank(this); };\r\n this.openEnterpriseReportModal = function () { openEnterpriseReportModal(this); };\r\n this.createMentorReportBlank = function () { createMentorReportBlank(this); };\r\n this.openMentorReportModal = function () { openMentorReportModal(this); };\r\n this.openQuickEdit = function () { openQuickEdit(this); };\r\n this.reportList = [];\r\n this.permissions = [];\r\n this.enterpriseId = \"\";\r\n this.performanceId = \"\";\r\n this.isSuperAdmin = false;\r\n this.deletePerformance = function () { deletePerformance(this); };\r\n this.startup = function () { startup(this); };\r\n this.tourStarted = false;\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n viewmodel.loadingDef = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef); \r\n\r\n\r\n if (!tourStarted) {\r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n app.AppHelper.setTourCache(data);\r\n //console.log(\"retrieved all lists from api\");\r\n app.AppHelper.startHelper(viewmodel, \"EnterpriseReportList\", false); \r\n },\r\n function () {\r\n console.log(\"retrieving all lists failed\");\r\n tourStarted = false;\r\n });\r\n \r\n tourStarted = true;\r\n }\r\n \r\n\r\n setTimeout( //delay displaying list because grid is not rendered in time. see Task-10583-377\r\n function () {\r\n doReportingDateValidation(viewmodel);\r\n\r\n getEnterpriseByUserOrQueryParam().then(\r\n function (enterpriseId) {\r\n if (enterpriseId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/dashboard/reports\", \"Reports List\");\r\n viewmodel.set(\"enterpriseId\", enterpriseId);\r\n getEnterpriseName(viewmodel, enterpriseId);\r\n getBindReportList(viewmodel, enterpriseId);\r\n }\r\n else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load enterprise reports.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n viewmodel.loadingDef.reject();\r\n }\r\n }, function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Something went wrong, could not load enterprise.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n viewmodel.loadingDef.reject();\r\n });\r\n },\r\n 500);\r\n\r\n \r\n\r\n}\r\n\r\n// Function: getEnterpriseName ----------------------------------------------------------------------\r\nfunction getEnterpriseName(viewmodel, id) {\r\n\r\n app.AppEnterprise.getEnterpriseById(id).then(\r\n function (data) {\r\n //a bit hacky but gets the work done. \r\n if (data.Name) {\r\n $(\"#main-page-title\").text(data.Name.toUpperCase());\r\n\r\n if (app.AppRouter.getCurrentRoute().params.fund) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/fund/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.fund + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.programme) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/programme/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.programme + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.mentor) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/mentor/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.mentor + \"&tab=enterprises\");\r\n }\r\n\r\n viewmodel.set(\"enterpriseName\", data.Name);\r\n }\r\n });\r\n}\r\n\r\n// Function: getEnterpriseByUserOrQueryParam --------------------------------------------------------\r\nfunction getEnterpriseByUserOrQueryParam() {\r\n\r\n var def = $.Deferred();\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Enterprise\") {\r\n app.AppEnterprise.getEnterpriseByUser().then(\r\n function (result) {\r\n def.resolve(result.EnterpriseId);\r\n },\r\n function (error) {\r\n def.reject(error);\r\n });\r\n } else {\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n def.resolve(enterpriseId);\r\n }\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getBindReportList ----------------------------------------------------------------------\r\nfunction getBindReportList(viewmodel, enterpriseId) {\r\n var def = new $.Deferred();\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getReportList(enterpriseId, viewmodel).then(\r\n function (result) {\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n //Remove Dropdowns from list for EnterpriseUsers \r\n result.data.reportlist.forEach(function (report) {\r\n if (loggedInUser === 'Enterprise') {\r\n if (report.EnterpriseReport) {\r\n report.hasDropDown = true;\r\n } else {\r\n report.hasDropDown = false;\r\n }\r\n } else {\r\n report.hasDropDown = true;\r\n }\r\n \r\n });\r\n options.success(result);\r\n def.resolve();\r\n viewmodel.loadingDef.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n viewmodel.loadingDef.resolve();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n parse: function (apiResult) {\r\n var result = {\r\n data: apiResult.data.reportlist\r\n };\r\n return result;\r\n }\r\n }\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n}\r\n\r\n// Function: getReportList -------------------------------------------------------------------------\r\nfunction getReportList(enterpriseId, viewmodel) {\r\n\r\n var def = $.Deferred();\r\n app.AppEnterprise.getReports(enterpriseId).then(\r\n\r\n function (results) {\r\n viewmodel.set(\"permissions\", results.data.enterprisePermissions);\r\n\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (loggedInUser === \"Super Admin\" || loggedInUser === \"Mentor\") {\r\n viewmodel.set(\"isSuperAdmin\", true);\r\n } else {\r\n viewmodel.set(\"isSuperAdmin\", false);\r\n }\r\n\r\n if (loggedInUser !== \"Enterprise\" && loggedInUser !== \"Corporate\") {\r\n\r\n if (loggedInUser === \"Manager\") {\r\n if (viewmodel.get(\"permissions\").length > 0) {\r\n viewmodel.set(\"showhideCreateReport\", true);\r\n\r\n } else {\r\n $(\".create-button\").remove();\r\n }\r\n\r\n } else {\r\n viewmodel.set(\"showhideCreateReport\", true);\r\n }\r\n\r\n } else {\r\n $(\".create-button\").remove();\r\n }\r\n\r\n def.resolve(results);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: bindToGrid -----------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) { \r\n\r\n function grid_dataBound(e) {\r\n bindClickEvents(viewmodel); \r\n\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (loggedInUser === \"Corporate\") {\r\n\r\n $(\"#grid-report-list tbody tr div.list-dropdown\").each(function () {\r\n $(this).remove();\r\n });\r\n\r\n $(\"#grid-report-list tbody tr .k-grid-VIEWREPORT\").each(function () {\r\n $(this).remove();\r\n });\r\n\r\n } else {\r\n\r\n $(\"#grid-report-list tbody tr .k-grid-DELETE\").each(function () {\r\n\r\n if (loggedInUser === \"Manager\" &&\r\n viewmodel.get(\"permissions\").length === 0) {\r\n $(this).remove();\r\n }\r\n\r\n if (loggedInUser === \"Corporate\" || loggedInUser === \"Enterprise\") {\r\n $(this).remove();\r\n }\r\n });\r\n\r\n $(\"#grid-report-list tbody tr .k-grid-EDIT\").each(function () {\r\n\r\n if (loggedInUser === \"Manager\" && viewmodel.get(\"permissions\").length === 0) {\r\n $(this).remove();\r\n }\r\n\r\n if (loggedInUser === \"Corporate\") {\r\n $(this).remove();\r\n }\r\n });\r\n\r\n $(\"#grid-report-list tbody tr .performance-delete\").each(function () {\r\n if (loggedInUser === \"Enterprise\") {\r\n $(this).remove();\r\n }\r\n });\r\n\r\n $(\"#grid-report-list tbody tr .performance-create\").each(function () {\r\n if (loggedInUser === \"Enterprise\") {\r\n $(this).remove();\r\n }\r\n }); \r\n\r\n $(\"#grid-report-list tbody tr .mentor-report-delete\").each(function () {\r\n if (loggedInUser === \"Enterprise\") {\r\n $(this).remove();\r\n }\r\n });\r\n\r\n $(\"#grid-report-list tbody tr .mentor-report-create\").each(function () {\r\n if (loggedInUser === \"Enterprise\") {\r\n $(this).remove();\r\n }\r\n });\r\n\r\n $(\"#grid-report-list tbody tr .mentor-report-edit\").each(function () {\r\n if (loggedInUser === \"Enterprise\") {\r\n $(this).remove();\r\n }\r\n });\r\n\r\n $(\"#grid-report-list tbody tr .divider\").each(function () {\r\n if (loggedInUser === \"Enterprise\") {\r\n $(this).remove();\r\n }\r\n });\r\n }\r\n };\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#grid-report-list\").kendoGrid({\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n //width: 1000,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n columns: [{\r\n template: \"#: MonthYear #\",\r\n field: \"MonthYearFull\",\r\n title: \"Date\",\r\n type: \"date\"\r\n //width: 150\r\n }, {\r\n template: \"# if (EnterpriseReport) { #\" +\r\n \"#: EnterpriseReport.Status #\" +\r\n \"# } #\" +\r\n \"# if (!EnterpriseReport) { #\" +\r\n \" Not created\" +\r\n \"# } #\",\r\n title: \"Enterprise Performance\"\r\n //width: 300\r\n }, {\r\n template: \"# if (MentorReport) { #\" +\r\n \"#: MentorReport.Status #\" +\r\n \"# } #\" +\r\n \"# if (!MentorReport) { #\" +\r\n \" Not created\" +\r\n \"# } #\",\r\n title: \"Mentor Report\"\r\n //width: 300\r\n }, {\r\n attributes: { \"class\": \"view-report\" },\r\n command: [{ text: \"VIEW REPORT\" }]\r\n }, {\r\n attributes: { \"class\": \"grid-dropdown-overflow\" },\r\n template: \r\n '
    ' +\r\n '
    VIEW REPORT
    ' +\r\n '
    ' +\r\n '# if (hasDropDown) { #' +\r\n '' +\r\n '# } #' +\r\n '' + \r\n '
    ' +\r\n '
    ' \r\n //width: 300\r\n }\r\n ]\r\n });\r\n\r\n var grid = $(\"#grid-report-list\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", grid_dataBound);\r\n grid.hideColumn(3);\r\n //grid.refresh();\r\n //grid.dataSource.fetch();\r\n\r\n}\r\n\r\n// Function: bindClickEvents ------------------------------------------------------------------------\r\nfunction bindClickEvents(viewmodel) {\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser();\r\n\r\n\r\n $(\".performance-edit\").unbind('click').on(\"click\", function (e) {\r\n editPerformance(e, loggedInUser);\r\n });\r\n $(\".performance-delete\").unbind('click').on(\"click\", function (e) {\r\n deletePerformance(e, loggedInUser);\r\n });\r\n $(\".mentor-report-edit\").unbind('click').on(\"click\", function (e) {\r\n editMentorReport(e, loggedInUser);\r\n });\r\n $(\".mentor-report-delete\").unbind('click').on(\"click\", function (e) {\r\n deleteMentorReport(e, loggedInUser);\r\n }); \r\n\r\n $(\".mentor-report-create\").unbind('click').on(\"click\", function (e) {\r\n openMentorReportModal(viewmodel);\r\n });\r\n $(\".performance-create\").unbind('click').on(\"click\", function (e) {\r\n openEnterpriseReportModal(viewmodel);\r\n });\r\n\r\n $(\".view-report\").unbind('click').on(\"click\", function (e) {\r\n viewReport(e, loggedInUser);\r\n });\r\n\r\n app.AppGrids.adjustDropdowns();\r\n \r\n}\r\n\r\n// Function: openQuickEdit --------------------------------------------------------------\r\nfunction openQuickEdit(viewmodel) {\r\n\r\n //document.getElementsByClassName(\"createToggle\").innerHTML = \"QUICK UPDATE \";\r\n //$(\".createToggle\").append('');\r\n\r\n var enterpriseId = viewmodel.get(\"enterpriseId\"); \r\n\r\n if (enterpriseId) {\r\n app.AppRouter.router.navigate(\"/enterprise/reports-super-edit?id=\" + enterpriseId);\r\n }\r\n}\r\n\r\n// Function: viewReport -----------------------------------------------------------------------------\r\nfunction viewReport(e, viewmodel) {\r\n\r\n var row = $(e.currentTarget).closest(\"tr\"); \r\n var element = row.find('[id^=performanceId]'); \r\n var performanceMonth = row.find('.performanceMonthYear').text();\r\n\r\n if (element.length === 1) {\r\n \r\n var monthYear = kendo.toString(new Date(performanceMonth), \"MM/yyyy\");\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (!enterpriseId)\r\n enterpriseId = viewmodel.get(\"enterpriseId\");\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.fund;\r\n var programmeId = app.AppRouter.getCurrentRoute().params.programme;\r\n var mentorId = app.AppRouter.getCurrentRoute().params.mentor;\r\n if (fundId) {\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-report-view?id=\" + enterpriseId + \"&month=\" + monthYear + \"&fund=\" + fundId);\r\n } else if (programmeId) {\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-report-view?id=\" + enterpriseId + \"&month=\" + monthYear + \"&programme=\" + programmeId);\r\n } else if (mentorId) {\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-report-view?id=\" + enterpriseId + \"&month=\" + monthYear + \"&mentor=\" + mentorId);\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-report-view?id=\" + enterpriseId + \"&month=\" + monthYear);\r\n }\r\n } else {\r\n var warning = {\r\n title: \"Not Created\",\r\n message: \"No report found for \" + performanceMonth + \".\"\r\n };\r\n app.AppNotify.showWarning(warning);\r\n }\r\n\r\n \r\n}\r\n\r\n// Function: editPerformance ------------------------------------------------------------------------\r\nfunction editPerformance(e, loggedInUser) {\r\n e.preventDefault();\r\n var row = $(e.currentTarget).closest(\"tr\");\r\n var element = row.find('[id^=performanceId]');\r\n var performanceId = element.attr('id').replace(\"performanceId\", \"\");\r\n if (loggedInUser.userRole === \"Mentor\") {\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-performance?id=\" + performanceId);\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-report?id=\" + performanceId);\r\n }\r\n\r\n}\r\n\r\n// Function: editMentorReport ------------------------------------------------------------------------\r\nfunction editMentorReport(e, loggedInUser) {\r\n e.preventDefault();\r\n var row = $(e.currentTarget).closest(\"tr\");\r\n var element = row.find('[id^=mentorReportId]');\r\n var mentorReportId = element.attr('id').replace(\"mentorReportId\", \"\");\r\n app.AppRouter.router.navigate(\"/mentor/monthly-report?id=\" + mentorReportId);\r\n}\r\n\r\n// Function: deleteMentorReport ----------------------------------------------------------------------\r\nfunction deleteMentorReport(e) {\r\n e.preventDefault();\r\n var row = $(e.currentTarget).closest(\"tr\");\r\n var mentorReportId = row.find('[id^=mentorReportId]').attr('id').replace(\"mentorReportId\", \"\");\r\n var performanceMonth = row.find('.performanceMonthYear').text();\r\n\r\n var def = new $.Deferred();\r\n deleteConfirm(\"mentor\", performanceMonth).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (mentorReportId) {\r\n //$('#delete-user-modal').modal('hide');\r\n\r\n app.AppMentor.deleteMentorReport(mentorReportId).then(\r\n\r\n function (data) {\r\n $('#grid-report-list').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Deleted\",\r\n message: \"Report successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find report.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n }\r\n\r\n }\r\n });\r\n}\r\n\r\n// Function: deletePerformance ----------------------------------------------------------------------\r\nfunction deletePerformance(e) {\r\n e.preventDefault();\r\n var row = $(e.currentTarget).closest(\"tr\");\r\n var performanceId = row.find('[id^=performanceId]').attr('id').replace(\"performanceId\", \"\");\r\n var performanceMonth = row.find('.performanceMonthYear').text();\r\n\r\n var def = new $.Deferred();\r\n deleteConfirm(\"enterprise\", performanceMonth).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (performanceId) {\r\n //$('#delete-user-modal').modal('hide');\r\n\r\n app.AppEnterprise.deletePerformanceById(performanceId).then(\r\n\r\n function (data) {\r\n $('#grid-report-list').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Deleted\",\r\n message: \"Report successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find report.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n }\r\n\r\n }\r\n });\r\n}\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(reportType, month) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"Are you sure you want to delete the \" + reportType + \" report for the month of \" +\r\n month +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"Please note that this report will be permanently deleted from the system.\";\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: openEnterpriseReportModal --------------------------------------------------------------\r\nfunction openEnterpriseReportModal(viewmodel) {\r\n \r\n $(\"#angleDown\").remove();\r\n document.getElementById(\"createToggleSmall\").innerHTML = \"CREATE ENTERPRISE REPORT \"; \r\n $(\"#createToggleSmall\").append('');\r\n\r\n document.getElementById(\"createToggleMedium\").innerHTML = \"CREATE ENTERPRISE REPORT \";\r\n $(\"#createToggleMedium\").append('');\r\n\r\n viewmodel.set(\"reportType\", \"enterprise\");\r\n showModal(viewmodel);\r\n}\r\n\r\n// Function: openMentorReportModal ------------------------------------------------------------------\r\nfunction openMentorReportModal(viewmodel) {\r\n\r\n $(\"#angleDown\").remove();\r\n document.getElementById(\"createToggleSmall\").innerHTML = \"CREATE MENTOR REPORT \";\r\n $(\"#createToggleSmall\").append('');\r\n\r\n document.getElementById(\"createToggleMedium\").innerHTML = \"CREATE MENTOR REPORT \"; \r\n $(\"#createToggleMedium\").append('');\r\n\r\n viewmodel.set(\"reportType\", \"mentor\");\r\n showModal(viewmodel);\r\n}\r\n\r\n// Function: showModal ------------------------------------------------------------------------------\r\nfunction showModal(viewmodel) {\r\n\r\n viewmodel.set(\"reportMonth\", \"\");\r\n\r\n var datepicker = $(\"#report-month\").data(\"kendoDatePicker\");\r\n\r\n if (datepicker) {\r\n datepicker.destroy();\r\n $(\"#report-month\").empty();\r\n }\r\n\r\n $(\"#report-month\").kendoDatePicker({\r\n depth: \"year\",\r\n start: \"year\",\r\n format: \"MMMM yyyy\",\r\n\r\n disableDates: function (date) {\r\n var currentDate = moment();\r\n date = moment(date);\r\n\r\n if (date > currentDate) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n $(\"#report-month\").bind(\"click\", function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n\r\n $(\"#report-month\").bind(\"focus\", function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n\r\n $('#report-modal').modal('show');\r\n\r\n $('#report-modal').on(\"hide.bs.modal\", function () {\r\n viewmodel.set(\"reportType\", \"\");\r\n });\r\n}\r\n\r\n// Function: createReportBlank ----------------------------------------------------------------------\r\nfunction createReportBlank(viewmodel) {\r\n\r\n if (viewmodel.get(\"reportType\") === \"enterprise\") {\r\n createEnterpriseReportBlank(viewmodel);\r\n }\r\n else if (viewmodel.get(\"reportType\") === \"mentor\") {\r\n createMentorReportBlank(viewmodel);\r\n }\r\n}\r\n\r\n// Function: createEnterpriseReportBlank ------------------------------------------------------------\r\nfunction createEnterpriseReportBlank(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var report = getEnterpriseReportObject(viewmodel);\r\n\r\n app.AppEnterprise.createMonthlyPerformance(report).then(\r\n\r\n function (result) {\r\n def.resolve();\r\n $('#report-modal').modal('hide');\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-performance?id=\" + result.data);\r\n\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-report?id=\" + result.data);\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n}\r\n\r\n// Function: getEnterpriseReportObject --------------------------------------------------------------\r\nfunction getEnterpriseReportObject(viewmodel) {\r\n\r\n var report = {\r\n\r\n EnterpriseId: viewmodel.get(\"enterpriseId\"),\r\n PerformanceMonth: viewmodel.get(\"reportMonth\")\r\n };\r\n\r\n return report;\r\n}\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doReportingDateValidation(viewmodel) {\r\n\r\n var validator = $(\"#report-modal\").kendoValidator(\r\n {\r\n rules: {\r\n },\r\n messages: {\r\n required: \"The reporting month field is required.\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n}\r\n\r\n// Function: createMentorReportBlank ----------------------------------------------------------------\r\nfunction createMentorReportBlank(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var report = getMentorReportObject(viewmodel);\r\n\r\n app.AppMentor.createMentorMonthlyReport(report).then(\r\n\r\n function (result) {\r\n def.resolve();\r\n $('#report-modal').modal('hide');\r\n app.AppRouter.router.navigate(\"/mentor/monthly-report?id=\" + result);\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n}\r\n\r\n// Function: getMentorReportObject ------------------------------------------------------------------\r\nfunction getMentorReportObject(viewmodel) {\r\n\r\n var report = {\r\n\r\n EnterpriseId: viewmodel.get(\"enterpriseId\"),\r\n ReportMonth: viewmodel.get(\"reportMonth\")\r\n };\r\n\r\n return report;\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/mentor-rating\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.mentorRatings = [];\r\n this.mentors = [];\r\n this.edgeMentors = [];\r\n this.data = new model();\r\n this.performanceId;\r\n this.mentorName = \"\";\r\n this.notApplicable = new kendo.data.Model();\r\n this.hideShowSlider = function () { hideShowSlider(this); };\r\n this.save = function () { save(this); };\r\n this.startup = function () { startup(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var reportId = app.AppRouter.getCurrentRoute().params.id;\r\n if (reportId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/monthly-report\", \"Enterprise report - Mentor rating\");\r\n\r\n viewmodel.performanceId = reportId;\r\n getBindMentorRating(viewmodel);\r\n bindButtonFinishClickEvent(viewmodel); \r\n //var edgeUsers = viewmodel.get(\"edgeMentors\"); \r\n\r\n } else {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load mentor rating.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n\r\n}\r\n\r\n// Function: hideShowSlider -------------------------------------------------------------\r\nfunction hideShowSlider(viewmodel) {\r\n var notApplicableValue = $(\"#notApplicable\").is(':checked');\r\n if (notApplicableValue) {\r\n //$(\"#question-contents\").hide();\r\n viewmodel.mentorRatings.forEach(function (v, i) {\r\n var slider = $(\"#answer-question-\" + v.enterpriseMentorRatingQuestionId).data(\"kendoSlider\"); \r\n slider.value(1);\r\n slider.enable(false);\r\n slider.trigger(\"change\", { value: slider.value() });\r\n });\r\n } else {\r\n //$(\"#question-contents\").show(); \r\n viewmodel.mentorRatings.forEach(function (v, i) {\r\n var slider = $(\"#answer-question-\" + v.enterpriseMentorRatingQuestionId).data(\"kendoSlider\"); \r\n slider.enable(true);\r\n slider.trigger(\"change\", { value: slider.value() });\r\n });\r\n \r\n }\r\n refreshCarousel();\r\n}\r\n\r\n// Function: refreshCarousel ------------------------------------------------------------------------\r\nfunction refreshCarousel() {\r\n var owl = $('#enterprise-report-form-pages');\r\n owl.trigger('refreshed.owl.carousel');\r\n}\r\n\r\n// Function: bindButtonFinishClickEvent -------------------------------------------------------------\r\nfunction bindButtonFinishClickEvent(viewmodel) {\r\n $(\"#btn-finish-enterprise-report\").unbind('click').on(\"click\", function () {\r\n save(viewmodel);\r\n }); \r\n\r\n}\r\n\r\n// Function: getBindMentorRating --------------------------------------------------------------------\r\nfunction getBindMentorRating(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppEnterprise.getMonthlyMentorRating(viewmodel.performanceId).then(\r\n function (data) {\r\n setMentorRating(viewmodel, data);\r\n setMentor(viewmodel, data);\r\n initToggle(viewmodel);\r\n hideShowSlider(viewmodel);\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n\r\n// Function: initToggle ------------------------------------------------------------------------\r\nfunction initToggle(viewmodel) {\r\n $(function () {\r\n $('#notApplicable').checkboxpicker({\r\n html: true,\r\n offLabel: 'YES',\r\n onLabel: 'NO'\r\n });\r\n\r\n $('#notApplicable').on('change', function () {\r\n hideShowSlider(viewmodel);\r\n });\r\n\r\n \r\n });\r\n}\r\n\r\n\r\n// Function: setMentor ------------------------------------------------------------------------\r\nfunction setMentor(viewmodel, data) {\r\n\r\n //viewmodel.set(\"mentors\", data.Mentors);\r\n //viewmodel.set(\"edgeMentors\", data.EdgeMentors);\r\n\r\n var mentorList = [];\r\n var mentors = viewmodel.get(\"mentors\");\r\n var edgeUsers = viewmodel.get(\"edgeMentors\");\r\n\r\n\r\n //TODO: check for lead \r\n //mentors.forEach(function (v, i) {\r\n // mentorList.push(v);\r\n //})\r\n\r\n //edgeUsers.forEach(function (v, i) {\r\n // mentorList.push(v);\r\n //})\r\n\r\n //TODO: \r\n //viemodel.set(\"lead\", data.leadMentor);\r\n}\r\n\r\n// Function: setMentorRating ------------------------------------------------------------------------\r\nfunction setMentorRating(viewmodel, data) {\r\n var questionAnswers = [];\r\n data.Answers.forEach(function (v, i) {\r\n var answer = new model();\r\n answer.set(\"enterpriseMentorRatingQuestionId\", v.Question.Id);\r\n answer.set(\"questionName\", v.Question.Name);\r\n answer.set(\"answer\", v.Answer);\r\n answer.set(\"enterpriseMentorRatingId\", v.EnterpriseMentorRatingId);\r\n answer.set(\"id\", v.Id); \r\n questionAnswers.push(answer);\r\n }); \r\n viewmodel.set(\"mentorRatings\", questionAnswers);\r\n viewmodel.set(\"notApplicable\", data.NotApplicable);\r\n viewmodel.set(\"mentorName\", data.MentorName);\r\n initSliders(viewmodel); \r\n\r\n}\r\n\r\n// Function: initSliders ----------------------------------------------------------------------------\r\nfunction initSliders(viewmodel) {\r\n $(\".slider\").kendoSlider({\r\n precision: 1,\r\n smallStep: 0.5,\r\n largeStep: 1,\r\n min: 1,\r\n max: 5,\r\n value: 0,\r\n change: sliderChange,\r\n drag: sliderChange,\r\n slide: sliderChange,\r\n tooltip: {\r\n format: \"{0:#,#.####}\"\r\n }\r\n });\r\n viewmodel.mentorRatings.forEach(function (v, i) {\r\n var slider = $(\"#answer-question-\" + v.enterpriseMentorRatingQuestionId).data(\"kendoSlider\");\r\n slider.value(v.answer);\r\n slider.trigger(\"change\", { value: slider.value() });\r\n });\r\n\r\n refreshCarousel();\r\n}\r\n\r\n\r\n// Function: sliderChange -----------------------------------------------------------------------------------\r\nfunction sliderChange(e) {\r\n\r\n var color = getSliderColor(e.value);\r\n var wrapper = $(e.sender.wrapper).find(\".k-state-disabled\");\r\n\r\n if (wrapper && wrapper.context && wrapper.context.attributes[6]) {\r\n $(e.sender.wrapper).find(\".k-draghandle\").css(\"border-color\", \"#8B8B8B\");\r\n $(e.sender.wrapper).find(\".k-draghandle\").css(\"background-color\", \"#8B8B8B\");\r\n $(e.sender.wrapper).find(\".k-slider-selection\").css(\"background-color\", color);\r\n } else {\r\n $(e.sender.wrapper).find(\".k-draghandle\").css(\"border-color\", color);\r\n $(e.sender.wrapper).find(\".k-draghandle\").css(\"background-color\", color);\r\n $(e.sender.wrapper).find(\".k-slider-selection\").css(\"background-color\", color);\r\n }\r\n\r\n \r\n}\r\n\r\n// Function: getSliderColor -------------------------------------------------------------------------\r\nfunction getSliderColor(value) {\r\n\r\n if (value > 0 && value <= 2) {\r\n return \"#cc0000\";\r\n\r\n } else if (value > 2 && value <= 3) {\r\n return \"#cc6600\";\r\n\r\n } else if (value > 3 && value <= 4) {\r\n return \"#cccc00\";\r\n\r\n } else {\r\n return \"#60bd68\";\r\n }\r\n}\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var updateData = buildRatingsObject(viewmodel);\r\n app.AppEnterprise.updateMonthlyMentorRating(updateData).then(\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Mentor rating successfully saved.\"\r\n };\r\n app.AppTag.setTagsAnalyticsEvent(\"custom\", \"enterprise report\", \"submitted\", \"Enterprise report mentor rating submitted\");\r\n app.AppNotify.showSuccess(success);\r\n\r\n var enterpriseName = $(\"#breadcrumb-second\").text();\r\n var month = $(\"#report-month\").text();\r\n\r\n // app.AppRouter.router.navigate(\"/enterprise/monthly-report-confirmation?date=\" + month + \"&name=\" + enterpriseName + \"&eId=\" + data.data.enterpriseId + \"&pId=\" + data.data.performance);\r\n app.AppRouter.router.navigate(\"/enterprise/monthly-report-confirmation?id=\" + data.data.performanceId);\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n\r\n}\r\n\r\n// Function: buildRatingsObject ---------------------------------------------------------------------\r\nfunction buildRatingsObject(viewmodel) {\r\n var performanceId = viewmodel.performanceId;\r\n var notApplicable = viewmodel.notApplicable;\r\n\r\n var ratings = [];\r\n\r\n viewmodel.mentorRatings.forEach(function (v, i) {\r\n var rating = {\r\n EnterpriseMentorRatingId: v.enterpriseMentorRatingId,\r\n EnterpriseMentorRatingQuestionId: v.enterpriseMentorRatingQuestionId,\r\n Answer: v.answer,\r\n Id: v.id\r\n };\r\n if (notApplicable) {\r\n rating.Answer = null;\r\n }\r\n ratings.push(rating);\r\n });\r\n\r\n var object = {\r\n Id: performanceId,\r\n NotApplicable: notApplicable,\r\n Rating: ratings\r\n };\r\n\r\n\r\n return object;\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/performance\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.argsParams = argsParams;\r\n this.isMonthlyReport = argsParams.isMonthlyReport;\r\n this.inEditMode = false;\r\n this.validator;\r\n this.isEnterpriseUser = false;\r\n this.goToMentorRating = false;\r\n this.data = new model();\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n this.startup = function () {\r\n startup(this);\r\n };\r\n\r\n this.backToReports = function () { backToReports(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n var def = $.Deferred();\r\n\r\n var reportId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (reportId) {\r\n checkUserRole(viewmodel);\r\n getPerformanceData(reportId).then(\r\n function (data) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\r\n \"PageView\",\r\n \"/enterprise/monthly-report\",\r\n \"Enterprise report - Performance\"\r\n );\r\n\r\n setPerformanceData(viewmodel, data);\r\n bindClickEvents(viewmodel);\r\n doFormValidation(viewmodel);\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error,\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n );\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load monthly report.\",\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n}\r\n\r\n// Function: watchCurrencyValues --------------------------------------------------------------------\r\n//function watchCurrenyValues(viewmodel, id) {\r\n\r\n//}\r\n\r\n// Function: checkUserRole --------------------------------------------------------------------------\r\nfunction checkUserRole(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Enterprise\") {\r\n viewmodel.set(\"isEnterpriseUser\", true);\r\n viewmodel.set(\"goToMentorRating\", true);\r\n } else if (\r\n role === \"Administrator\" ||\r\n role === \"Super Admin\" ||\r\n role === \"Manager\"\r\n ) {\r\n viewmodel.set(\"isEnterpriseUser\", false);\r\n viewmodel.set(\"goToMentorRating\", true);\r\n } else {\r\n viewmodel.set(\"isEnterpriseUser\", false);\r\n viewmodel.set(\"goToMentorRating\", false);\r\n }\r\n}\r\n\r\n// Function: getPerformanceData ---------------------------------------------------------------------\r\nfunction getPerformanceData(id) {\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getPerformanceDataById(id).then(\r\n function (results) {\r\n def.resolve(results.data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n }\r\n );\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: setPerformanceData ---------------------------------------------------------------------\r\nvar previousMonthPerformance;\r\nfunction setPerformanceData(viewmodel, performance) {\r\n if (!viewmodel.get(\"isEnterpriseUser\")) {\r\n //a bit hacky but gets the work done.\r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#breadcrumb-second\").text(performance.EnterpriseName.toUpperCase());\r\n\r\n $(\"#breadcrumb-link\").attr(\r\n \"href\",\r\n \"/#/enterprise/dashboard?id=\" + performance.EnterpriseId + \"&tab=reports\"\r\n );\r\n } else {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"#/reports\");\r\n }\r\n\r\n var date = kendo.parseDate(performance.PerformanceMonth, \"MM/yyyy\");\r\n var month = kendo.toString(new Date(date), \"y\").replace(\",\", \" \");\r\n\r\n $(\"#enterprise-name\").text(performance.EnterpriseName);\r\n\r\n $('#enterprise-name').off('click');\r\n\r\n $(\"#enterprise-name\").click(function (e) {\r\n backToReports();\r\n });\r\n\r\n $(\"#report-month\").text(month);\r\n\r\n viewmodel.data.set(\"Id\", performance.Id);\r\n viewmodel.data.set(\"enterpriseId\", performance.EnterpriseId);\r\n viewmodel.data.set(\"performanceMonth\", performance.PerformanceMonth);\r\n viewmodel.data.set(\"revenue\", performance.Revenue);\r\n viewmodel.data.set(\"expenses\", performance.Expenses);\r\n viewmodel.data.set(\"costOfSales\", performance.CostOfSales);\r\n viewmodel.data.set(\"accountPayable\", performance.AccountsPayable);\r\n viewmodel.data.set(\"accountReceivable\", performance.AccountsReceivable);\r\n viewmodel.data.set(\"totalAssets\", performance.TotalAssets);\r\n viewmodel.data.set(\"totalLiabilities\", performance.TotalLiabilities);\r\n viewmodel.data.set(\"procurementSpend\", performance.ProcurementSpend);\r\n viewmodel.data.set(\"permanentEmployees\", performance.PermanentEmployees);\r\n viewmodel.data.set(\"temporaryEmployees\", performance.TemporaryEmployees);\r\n viewmodel.data.set(\"proposalsSubmitted\", performance.ProposalsSubmitted);\r\n viewmodel.data.set(\"salesPitchesMade\", performance.SalesPichesMade);\r\n previousMonthPerformance = performance.previousMonthPerformance;\r\n}\r\n\r\n\r\nfunction backToReports() {\r\n var link = $(\"#breadcrumb-link\").attr(\"href\");\r\n app.AppRouter.router.navigate(link);\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n var validator = $(\"#monthly-performance-report\")\r\n .kendoValidator({\r\n rules: {\r\n currency: function (input) {\r\n var asda = input.attr(\"data-currency-rule\");\r\n if (\r\n input.attr(\"data-currency-rule\") !== undefined &&\r\n $.trim(input.val()) !== \"\"\r\n ) {\r\n return isCurrencyValid(input.val());\r\n }\r\n return true;\r\n },\r\n },\r\n messages: {\r\n required:\r\n \"This field is required. If not applicable for this month, please enter 0 as a value\",\r\n pattern: \"Your input is not valid\",\r\n currency:\r\n \"Please do not use spaces, and enter only decimal points and numbers, eg 1500.00\",\r\n },\r\n })\r\n .data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n\r\n $(\"#monthly-performance-report input\").blur(function () {\r\n refreshCarousel();\r\n });\r\n}\r\n\r\n// Function: isCurrencyValid ------------------------------------------------------------------------\r\nfunction isCurrencyValid(currency) {\r\n var pattern = /^\\s*-?(?=.*\\d)\\d*[\\.]?\\d{1,2}$/;\r\n var isvalid = pattern.test(currency); //currency.match(pattern);\r\n return isvalid;\r\n}\r\n\r\n// Function: refreshCarousel ------------------------------------------------------------------------\r\nfunction refreshCarousel() {\r\n var owl = $(\"#enterprise-report-form-pages\");\r\n owl.trigger(\"refreshed.owl.carousel\");\r\n}\r\n\r\n// Function: showhideUpdateButton -------------------------------------------------------------------\r\nfunction showhideUpdateButton(viewmodel) {\r\n if (!viewmodel.get(\"isMonthlyReport\")) {\r\n $(\"#performance-update\").show();\r\n } else {\r\n $(\"#performance-update\").hide();\r\n }\r\n}\r\n\r\n// Function: bindClickEvents ------------------------------------------------------------------------\r\nfunction bindClickEvents(viewmodel) {\r\n //$('body').unbind('click').on(\"click\", \".owl-next-click\", function () {\r\n // save(viewmodel)\r\n //});\r\n\r\n //$('body').unbind('click').on(\"click\", \".owl-next\", function () {\r\n $(\".owl-next\")\r\n .unbind(\"click\")\r\n .on(\"click\", function () {\r\n save(viewmodel);\r\n });\r\n\r\n $(\"#btn-save-enterprise-performance\")\r\n .unbind(\"click\")\r\n .on(\"click\", function () {\r\n save(viewmodel);\r\n });\r\n\r\n $(\"#btn-cancel-enterprise-performance\")\r\n .unbind(\"click\")\r\n .on(\"click\", function () {\r\n cancel(viewmodel);\r\n });\r\n\r\n $(\".last-input-field-on-page\").keydown(function (e) {\r\n //disable tab\r\n if (e.which == 9) {\r\n e.preventDefault();\r\n }\r\n });\r\n}\r\n\r\n// Function: cancel -----------------------------------------------------------------------------------\r\nfunction cancel(viewmodel) {\r\n var enterpriseId = viewmodel.data.get(\"enterpriseId\");\r\n\r\n if (viewmodel.get(\"isEnterpriseUser\")) {\r\n app.AppRouter.router.navigate(\"/reports\");\r\n } else if (enterpriseId) {\r\n app.AppRouter.router.navigate(\r\n \"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=reports\"\r\n );\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprises\");\r\n }\r\n}\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n var performance = buildUpdateObject(viewmodel);\r\n\r\n var drasticDifferencesText;\r\n if (previousMonthPerformance) {\r\n drasticDifferencesText = getDrasticDifferencesComparedToPreviousMonth(\r\n performance,\r\n previousMonthPerformance\r\n );\r\n }\r\n\r\n if (drasticDifferencesText) {\r\n var displayText =\r\n \"You have entered a value which has a 20% difference to the previous month’s value for the following fields:\" +\r\n \"\\n\\n\" +\r\n drasticDifferencesText +\r\n \"\\n\" +\r\n \"If this is correct, click the OK button. If not, click the CANCEL button and change the values.\";\r\n if (confirm(displayText)) { //we could not use a bootstrap dialog here as it breaks the owl carousal and kendo routing.\r\n updateMonthlyPerformance(viewmodel, performance, def);\r\n } else {\r\n // Do nothing!\r\n }\r\n } else {\r\n updateMonthlyPerformance(viewmodel, performance, def);\r\n }\r\n } else {\r\n def.reject();\r\n\r\n //app.AppRouter.router.navigate(\"/enterprise/monthly-report?id=\" + viewmodel.data.get(\"enterpriseId\") );\r\n $(\".k-invalid:first\").focus();\r\n }\r\n\r\n return def.promise();\r\n}\r\n\r\nfunction updateMonthlyPerformance(viewmodel, performance, def) {\r\n app.AppLoading.hide();\r\n app.AppEnterprise.updateMonthlyPerformance(performance).then(\r\n function (data) {\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise monthly performance successfully saved.\",\r\n };\r\n\r\n app.AppTag.setTagsAnalyticsEvent(\r\n \"custom\",\r\n \"enterprise report\",\r\n \"submitted\",\r\n \"Enterprise report performance submitted\"\r\n );\r\n app.AppNotify.showSuccess(success);\r\n\r\n if (!viewmodel.get(\"isMonthlyReport\")) {\r\n app.AppRouter.router.navigate(\r\n \"/enterprise/dashboard?id=\" +\r\n viewmodel.data.get(\"enterpriseId\") +\r\n \"&tab=reports\"\r\n );\r\n def.resolve();\r\n } else {\r\n app.AppRender.showView(\"#contracts\", {\r\n html: \"./custom/enterprise/report/contracts\",\r\n viewmodel: \"./custom/enterprise/report/contracts\",\r\n code: \"./custom/enterprise/report/contracts\",\r\n });\r\n\r\n var owl = $(\"#enterprise-report-form-pages\");\r\n owl.trigger(\"next.owl.carousel\");\r\n\r\n def.resolve();\r\n }\r\n\r\n //todo should be: app.AppRouter.router.navigate(\"/enterprise/monthly-report-confirmation?id=\" + performance.Id);\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error,\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\r\n \"/enterprise/dashboard?id=\" +\r\n viewmodel.data.get(\"enterpriseId\") +\r\n \"&tab=reports\"\r\n );\r\n }\r\n );\r\n}\r\n\r\n// Function: buildUpdateObject ----------------------------------------------------------------------\r\nfunction buildUpdateObject(viewmodel) {\r\n var performance = {\r\n Id: viewmodel.data.get(\"Id\"),\r\n EnterpriseId: viewmodel.data.get(\"enterpriseId\"),\r\n PerformanceMonth: createDateFromMMYYYY(viewmodel.data.get(\"performanceMonth\")),\r\n Revenue: viewmodel.data.get(\"revenue\"),\r\n Expenses: viewmodel.data.get(\"expenses\"),\r\n CostOfSales: viewmodel.data.get(\"costOfSales\"),\r\n AccountsPayable: viewmodel.data.get(\"accountPayable\"),\r\n AccountsReceivable: viewmodel.data.get(\"accountReceivable\"),\r\n TotalAssets: viewmodel.data.get(\"totalAssets\"),\r\n TotalLiabilities: viewmodel.data.get(\"totalLiabilities\"),\r\n ProcurementSpend: viewmodel.data.get(\"procurementSpend\"),\r\n TemporaryEmployees: viewmodel.data.get(\"temporaryEmployees\"),\r\n PermanentEmployees: viewmodel.data.get(\"permanentEmployees\"),\r\n ProposalsSubmitted: viewmodel.data.get(\"proposalsSubmitted\"),\r\n SalesPichesMade: viewmodel.data.get(\"salesPitchesMade\"),\r\n };\r\n return performance;\r\n}\r\n\r\nfunction createDateFromMMYYYY(dateString) {\r\n //console.log(`createDateFromMMYYYY(${dateString})`);\r\n // Split the input string into month and year parts\r\n const [monthStr, yearStr] = dateString.split('/');\r\n\r\n // Convert the month and year strings to numbers\r\n const month = parseInt(monthStr, 10);\r\n const year = parseInt(yearStr, 10);\r\n\r\n // Create a new Date object using the extracted month and year\r\n // Note: In JavaScript, months are zero-based (January is 0, February is 1, etc.)\r\n const date = new Date(year, month - 1);\r\n\r\n return date;\r\n}\r\nfunction getDrasticDifferencesComparedToPreviousMonth(\r\n currentPerformanceMonth,\r\n previousMonthPerformance\r\n) {\r\n var differencesText = \"\";\r\n\r\n differencesText += determineIfReportedFieldsShouldReturnText(\r\n currentPerformanceMonth.Revenue,\r\n previousMonthPerformance.Revenue,\r\n \"Revenue\"\r\n );\r\n differencesText += determineIfReportedFieldsShouldReturnText(\r\n currentPerformanceMonth.Expenses,\r\n previousMonthPerformance.Expenses,\r\n \"Operating Expenses\"\r\n );\r\n differencesText += determineIfReportedFieldsShouldReturnText(\r\n currentPerformanceMonth.CostOfSales,\r\n previousMonthPerformance.CostOfSales,\r\n \"Cost of Sales\"\r\n );\r\n differencesText += determineIfReportedFieldsShouldReturnText(\r\n currentPerformanceMonth.ProcurementSpend,\r\n previousMonthPerformance.ProcurementSpend,\r\n \"Procurement Spend\"\r\n );\r\n differencesText += determineIfReportedFieldsShouldReturnText(\r\n currentPerformanceMonth.PermanentEmployees,\r\n previousMonthPerformance.PermanentEmployees,\r\n \"Permanent Employees\"\r\n );\r\n differencesText += determineIfReportedFieldsShouldReturnText(\r\n currentPerformanceMonth.TemporaryEmployees,\r\n previousMonthPerformance.TemporaryEmployees,\r\n \"Temporary Employees\"\r\n );\r\n differencesText += determineIfReportedFieldsShouldReturnText(\r\n currentPerformanceMonth.ProposalsSubmitted,\r\n previousMonthPerformance.ProposalsSubmitted,\r\n \"Proposals Submitted\"\r\n );\r\n differencesText += determineIfReportedFieldsShouldReturnText(\r\n currentPerformanceMonth.SalesPichesMade,\r\n previousMonthPerformance.SalesPichesMade,\r\n \"Sales Pitches Made\"\r\n );\r\n\r\n return differencesText;\r\n}\r\n\r\n// Function: determineIfReportedFieldsShouldReturnText-------------------------------------------------------------------------\r\nfunction determineIfReportedFieldsShouldReturnText(\r\n currentValue,\r\n previousValue,\r\n propertyName\r\n) {\r\n if (previousValue >= 20) {\r\n var difference;\r\n if (currentValue > previousValue) {\r\n difference = (previousValue / currentValue) * 100;\r\n } else {\r\n difference = (currentValue / previousValue) * 100;\r\n }\r\n return getDifferenceText(difference, propertyName);\r\n }\r\n return \"\";\r\n}\r\n\r\n// Function: getDifferenceText ------------------------------------------------------------------------\r\nfunction getDifferenceText(difference, propertyName) {\r\n var percentage = 100;\r\n var percentageDifference = percentage - difference;\r\n if (percentageDifference > 20) {\r\n return propertyName + \"\\n\";\r\n }\r\n return \"\";\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/enterprise\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.validator;\r\n this.isEnterpriseUser = false;\r\n this.isMentorUser = false;\r\n this.isAdminUser = false;\r\n this.isManagerUser = false;\r\n this.isCorporateUser = false; \r\n this.reportType = \"\";\r\n this.save = function () { save(this); };\r\n this.cancel = function () { cancel(this); };\r\n this.openEnterpriseReportModal = function () { openEnterpriseReportModal(this); };\r\n this.createEnterpriseReportBlank = function () { createEnterpriseReportBlank(this); };\r\n \r\n this.startup = function () { startup(this); }; \r\n \r\n \r\n};\r\n\r\n\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n doReportingDateValidation(viewmodel);\r\n\r\n if (enterpriseId) {\r\n\r\n getEnterpriseName(viewmodel, enterpriseId);\r\n\r\n getEnterpriseReports(viewmodel, enterpriseId).then(\r\n\r\n function (data) { \r\n CreateReportDataSource(viewmodel, data); \r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/enterprises\");\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to edit enterprise reports.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/enterprises\");\r\n };\r\n \r\n};\r\n\r\n// Function: getEnterpriseName ----------------------------------------------------------------------\r\nfunction getEnterpriseName(viewmodel, id) {\r\n\r\n var def = $.Deferred();\r\n app.AppEnterprise.getEnterpriseById(id).then(\r\n function (data) {\r\n\r\n var enterpriseName = data.Name.toUpperCase();\r\n\r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#main-page-title\").text(\"QUICK UPDATE\");\r\n $(\"#breadcrumb-second\").text(enterpriseName);\r\n\r\n $(\"#enterprise-name\").text(data.Name);\r\n\r\n\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/enterprise/dashboard?id=\" + id + \"&tab=reports\");\r\n\r\n def.resolve();\r\n });\r\n return def.promise();\r\n}\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doReportingDateValidation(viewmodel) {\r\n\r\n var validator = $(\"#report-modal\").kendoValidator(\r\n {\r\n rules: {\r\n },\r\n messages: {\r\n required: \"The reporting month field is required.\",\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n};\r\n\r\n// Function: getEnterpriseReports -------------------------------------------------------------------------\r\nfunction getEnterpriseReports(viewmodel, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getReportsSuperEdit(enterpriseId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: CreateReportDataSource ------------------------------------------------------------------------\r\nfunction CreateReportDataSource(viewmodel, data) {\r\n\r\n var reportsDataSource = new kendo.data.DataSource({ \r\n transport: {\r\n read: function (e) {\r\n e.success(data.data.reportlist);\r\n \r\n },\r\n update: function (e) { \r\n var updatedItem = e.data.models[0];\r\n updatedItem.PerformanceMonth = updatedItem.PerformanceMonth;\r\n\r\n if (updatedItem) {\r\n app.AppEnterprise.updateMonthlyPerformance(updatedItem).then(\r\n function (data) {\r\n \r\n e.success();\r\n },\r\n function (error) {\r\n \r\n e.error(error)\r\n });\r\n\r\n } else { \r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find report.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n }; \r\n \r\n\r\n },\r\n destroy: function (e) {\r\n var reportId = e.data.models[0].Id;\r\n if (reportId) {\r\n\r\n app.AppEnterprise.deletePerformanceById(reportId).then(\r\n\r\n function (data) { \r\n var success = {\r\n title: \"Deleted\",\r\n message: \"Report successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find report.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n }; \r\n \r\n \r\n },\r\n create: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n parameterMap: function (options, operation) {\r\n\r\n if (operation !== \"read\" && options.models) {\r\n return { models: kendo.stringify(options.models) };\r\n }\r\n }\r\n },\r\n batch: true, \r\n schema: {\r\n model: {\r\n id: \"Id\",\r\n fields: {\r\n Status: { type: \"string\", validation: { required: false }, nullable: true, editable: false },\r\n PerformanceMonth: { type: \"date\", validation: { required: false }, nullable: true, editable: false },\r\n Revenue: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n Expenses: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n CostOfSales: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n\r\n AccountsPayable: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n AccountsReceivable: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n TotalAssets: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n TotalLiabilities: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n \r\n ProcurementSpend: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n PermanentEmployees: { type: \"number\", validation: { required: false, min: 0 }, nullable: true }, \r\n TemporaryEmployees: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n\r\n ProposalsSubmitted: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n SalesPichesMade: { type: \"number\", validation: { required: false, min: 0 }, nullable: true },\r\n }\r\n }\r\n }\r\n }); \r\n\r\n\r\n createKendoGridReportList(viewmodel, reportsDataSource);\r\n \r\n\r\n}\r\n\r\n// Function: createKendoGridReportList --------------------------------------------------------------------------\r\nfunction createKendoGridReportList(viewmodel, reportsDataSource) {\r\n\r\n function grid_dataBound(e) { \r\n var report = getReportDetails();\r\n if (report) {\r\n viewmodel.data.set(\"report\", report.PerformanceMonth);\r\n } \r\n };\r\n\r\n if ($('#grid-report-list-edit').data('kendoGrid'))\r\n $('#grid-report-list-edit').data('kendoGrid').destroy();\r\n\r\n $(\"#grid-report-list-edit\").kendoGrid({\r\n\r\n dataSource: reportsDataSource,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n toolbar: [\"create\"],\r\n sortable: true, \r\n resizable: true,\r\n columns: [\r\n\r\n {\r\n command:\r\n [{ name: \"edit\", text: \"Edit\" },\r\n { name: \"destroy\", text: \"Remove\" }],\r\n title: \" \", width: 260\r\n },\r\n { \r\n field: \"Status\",\r\n title: \"Status\",\r\n attributes: { \"class\": \"status-colour-#:Status#\" },\r\n width: 150\r\n },\r\n {\r\n field: \"PerformanceMonth\",\r\n title: \"Date\", \r\n template: \"#= kendo.toString(kendo.parseDate(PerformanceMonth), 'MMMM yyyy', 'en-US') #\",\r\n width: 150\r\n },\r\n {\r\n field: \"PermanentEmployees\",\r\n title: \"*Permanent Employees\",\r\n template: \"# if (PermanentEmployees === null){# - #} else {##: PermanentEmployees ## } #\",\r\n width: 150\r\n },\r\n {\r\n field: \"TemporaryEmployees\",\r\n title: \"*Temporary Employees\",\r\n template: \"# if (TemporaryEmployees === null){# - #} else {##: TemporaryEmployees ## } #\",\r\n width: 150\r\n },\r\n {\r\n field: \"Revenue\",\r\n title: \"*Revenue\",\r\n attributes: { \"class\": \"\", \"min\": \"0\" },\r\n template: \"# if (Revenue === null){# - #} else {# R#: Revenue ## } #\", \r\n editor: editNumber,\r\n width: 150\r\n },\r\n {\r\n field: \"Expenses\",\r\n title: \"*Expenses\",\r\n template: \"# if (Expenses === null){# - #} else {# R#: Expenses ## } #\",\r\n editor: editNumber,\r\n width: 150\r\n },\r\n {\r\n field: \"CostOfSales\",\r\n title: \"*Cost Of Sales\",\r\n template: \"# if (CostOfSales === null){# - #} else {# R#: CostOfSales ## } #\",\r\n editor: editNumber,\r\n width: 150\r\n },\r\n //{\r\n // field: \"AccountsPayable\",\r\n // title: \"Accounts Payable\",\r\n // template: \"# if (AccountsPayable === null){# - #} else {# R#: AccountsPayable ## } #\",\r\n // editor: editNumber,\r\n // width: 150\r\n //},\r\n //{\r\n // field: \"AccountsReceivable\",\r\n // title: \"Accounts Receivable\",\r\n // template: \"# if (AccountsReceivable === null){# - #} else {# R#: AccountsReceivable ## } #\",\r\n // editor: editNumber,\r\n // width: 150\r\n //},\r\n //{\r\n // field: \"TotalAssets\",\r\n // title: \"Total Assets\",\r\n // template: \"# if (TotalAssets === null){# - #} else {# R#: TotalAssets ## } #\",\r\n // editor: editNumber,\r\n // width: 150\r\n //},\r\n //{\r\n // field: \"TotalLiabilities\",\r\n // title: \"Total Liabilities\",\r\n // template: \"# if (TotalLiabilities === null){# - #} else {# R#: TotalLiabilities ## } #\",\r\n // editor: editNumber,\r\n // width: 150\r\n //},\r\n {\r\n field: \"ProcurementSpend\",\r\n title: \"*Procurement Spend\",\r\n template: \"# if (ProcurementSpend === null){# - #} else {# R#: ProcurementSpend ## } #\",\r\n editor: editNumber,\r\n width: 150\r\n }, \r\n {\r\n field: \"ProposalsSubmitted\",\r\n title: \"Proposals Submitted\", \r\n template: \"# if (ProposalsSubmitted === null){# - #} else {##: ProposalsSubmitted ## } #\",\r\n width: 150\r\n },\r\n {\r\n field: \"SalesPichesMade\",\r\n title: \"Sales Piches Made\", \r\n template: \"# if (SalesPichesMade === null){# - #} else {##: SalesPichesMade ## } #\",\r\n width: 150\r\n }\r\n ],\r\n editable: {mode: \"inline\", confirmation: true}\r\n }); \r\n \r\n resizeGrid(); \r\n\r\n $(window).resize(function () {\r\n resizeGrid();\r\n });\r\n\r\n}\r\n\r\nfunction editNumber(container, options) {\r\n $('')\r\n .appendTo(container)\r\n .kendoNumericTextBox({\r\n spinners: false\r\n });\r\n}\r\n\r\n// Function: resizeGrid --------------------------------------------------------------\r\nfunction resizeGrid() {\r\n var gridElement = $(\"#grid-report-list-edit\"),\r\n dataArea = gridElement.find(\".k-grid-content\"),\r\n windowHeight = $(window).height(); \r\n\r\n dataArea.height(windowHeight - 300);\r\n}\r\n\r\n// Function: openEnterpriseReportModal --------------------------------------------------------------\r\nfunction openEnterpriseReportModal(viewmodel) {\r\n\r\n viewmodel.set(\"reportType\", \"enterprise\");\r\n showModal(viewmodel);\r\n};\r\n\r\n// Function: showModal ------------------------------------------------------------------------------\r\nfunction showModal(viewmodel) {\r\n\r\n viewmodel.set(\"reportMonth\", \"\");\r\n\r\n var datepicker = $(\"#report-month\").data(\"kendoDatePicker\");\r\n\r\n if (datepicker) {\r\n datepicker.destroy();\r\n $(\"#report-month\").empty();\r\n }\r\n\r\n $(\"#report-month\").kendoDatePicker({\r\n depth: \"year\",\r\n start: \"year\",\r\n format: \"MMMM yyyy\",\r\n\r\n disableDates: function (date) {\r\n var currentDate = moment().subtract(1, 'months');\r\n var date = moment(date);\r\n\r\n if (date > currentDate) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n $(\"#report-month\").bind(\"click\", function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n\r\n $(\"#report-month\").bind(\"focus\", function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n\r\n $('#report-modal').modal('show');\r\n\r\n $('#report-modal').on(\"hide.bs.modal\", function () {\r\n viewmodel.set(\"reportType\", \"\");\r\n });\r\n}\r\n\r\n// Function: createEnterpriseReportBlank ------------------------------------------------------------\r\nfunction createEnterpriseReportBlank(viewmodel) {\r\n\r\n //var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n //app.AppLoading.show(\"Loading...\", def);\r\n\r\n var report = getEnterpriseReportObject(viewmodel);\r\n\r\n app.AppEnterprise.createMonthlyPerformance(report).then(\r\n\r\n function (result) { \r\n // def.resolve(); \r\n $('#report-modal').modal('hide');\r\n var success = {\r\n title: \"Success\",\r\n message: \"Report successfully created.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n //$('#grid-report-list-edit').data('kendoGrid').dataSource.read();\r\n //$('#grid-report-list-edit').data('kendoGrid').refresh();\r\n startup(viewmodel);\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n //def.reject();\r\n });\r\n }\r\n};\r\n\r\n// Function: getEnterpriseReportObject --------------------------------------------------------------\r\nfunction getEnterpriseReportObject(viewmodel) {\r\n\r\n var report = {\r\n\r\n EnterpriseId: app.AppRouter.getCurrentRoute().params.id,\r\n PerformanceMonth: viewmodel.get(\"reportMonth\")\r\n };\r\n\r\n return report;\r\n};\r\n\r\n// Function: deletePerformance ----------------------------------------------------------------------\r\nfunction deletePerformance(e) { \r\n\r\n //var performanceId = e.model.Id;\r\n //var performanceMonth = e.model.PerformanceMonth;\r\n\r\n var performanceId = e.data.models[0].Id;\r\n var performanceMonth = e.data.models[0].PerformanceMonth;\r\n\r\n var def = new $.Deferred();\r\n deleteConfirm(\"enterprise\", performanceMonth).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (performanceId) { \r\n\r\n app.AppEnterprise.deletePerformanceById(performanceId).then(\r\n\r\n function (data) {\r\n //$('#grid-report-list').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Deleted\",\r\n message: \"Report successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find report.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n }\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(reportType, month) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"Are you sure you want to delete the \" + reportType + \" report for the month of \" +\r\n month +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"Please note that this report will be permanently deleted from the system.\";\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: save ----------------------------------------------------------------------------------- DELETE\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n //if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var reports = getReportsObject(viewmodel);\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppEnterprise.updatePerformanceReportSuperAdmin(reports.data).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Reports successfully updated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n startup(viewmodel);\r\n //app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=reports\");\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n //}\r\n //else {\r\n //$(\".k-invalid:first\").focus();\r\n //};\r\n};\r\n\r\n// Function: cancel -----------------------------------------------------------------------------------\r\nfunction cancel(viewmodel) {\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=reports\");\r\n}\r\n\r\n// Function: getReportsObject -------------------------------------------------------------------- DELETE\r\nfunction getReportsObject(viewmodel) {\r\n\r\n var grid = $('#grid-report-list-edit').data(\"kendoGrid\");\r\n var gridData = buildReportsObject(grid._data);\r\n\r\n var reports = { \r\n data: gridData \r\n };\r\n\r\n return reports;\r\n}\r\n\r\n// Function: buildReportsObject ----------------------------------------------------------------------------------- DELETE\r\nfunction buildReportsObject(data) {\r\n var objReturn = []; \r\n\r\n data.forEach(function (v, i) {\r\n objReturn.push({\r\n Id: v.Id,\r\n EnterpriseId: v.EnterpriseId,\r\n PerformanceMonth: v.PerformanceMonth,\r\n Revenue: v.Revenue,\r\n Expenses: v.Expenses,\r\n CostOfSales: v.CostOfSales,\r\n TotalLiabilities: v.TotalLiabilities,\r\n ProcurementSpend: v.ProcurementSpend,\r\n AccountsPayable: v.AccountsPayable,\r\n TotalAssets: v.TotalAssets,\r\n AccountsReceivable: v.AccountsReceivable,\r\n TemporaryEmployees: v.TemporaryEmployees,\r\n PermanentEmployees: v.PermanentEmployees,\r\n ProposalsSubmitted: v.ProposalsSubmitted,\r\n SalesPichesMade: v.SalesPichesMade,\r\n Status: v.Status\r\n });\r\n });\r\n\r\n return objReturn;\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar blankReport = {\r\n \"Month\": \"\",\r\n \"EnterpriseName\": \"\",\r\n \"EnterpriseReport\": {\r\n \"Performance\": {\r\n \"Status\": \"\",\r\n \"Revenue\": \"\",\r\n \"Expenses\": \"\",\r\n \"CostOfSales\": \"\",\r\n \"ProcurementSpend\": \"\",\r\n \"TemporaryEmployees\": \"\",\r\n \"PermanentEmployees\": \"\",\r\n \"Headcount\": \"\",\r\n \"AccountsReceivable\": \"\",\r\n \"AccountsPayable\": \"\",\r\n \"TotalAssets\": \"\",\r\n \"TotalLiabilities\": \"\",\r\n \"ProposalsSubmitted\": \"\",\r\n \"SalesPichesMade\": \"\",\r\n \"Contracts\": []\r\n },\r\n \"Rating\": []\r\n },\r\n \"MentorReport\": {\r\n \"Rating\": [],\r\n \"AdditionalInfo\": []\r\n },\r\n \"Documents\": []\r\n}\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.data = new kendo.data.Model();\r\n this.argsParams = argsParams;\r\n this.report = blankReport;\r\n this.isApprovePerformanceButtonVisible = false;\r\n this.isApproveEnterpriseRatingButtonVisible = false;\r\n this.enterpriseId = \"\";\r\n this.canViewMentorRatingOnEnterprise = true;\r\n this.canViewEnterpriseRatingOnMentor = true;\r\n this.approvePerformance = function () { approvePerformance(this); };\r\n this.approveMentorRatingOfEnterprise = function () { approveMentorRatingOfEnterprise(this); };\r\n this.startup = function () { startup(this); };\r\n this.backToReports = function () { backToReports(this); };\r\n this.statusClassMentor = \"\";\r\n this.statusClassEnterprise = \"\";\r\n this.isStatusVisible = false;\r\n this.isAccountsPayableVisible = false;\r\n this.isAccountsReceivableVisible = false;\r\n this.isTotalAssetsVisible = false;\r\n this.isTotalLiabilitiesVisible = false;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n viewmodel.set(\"enterpriseId\", enterpriseId)\r\n var month = app.AppRouter.getCurrentRoute().params.month;\r\n\r\n showhideRatings(viewmodel);\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (enterpriseId) {\r\n getReportDetails(enterpriseId, month).then(\r\n\r\n function (data) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/monthly-report-view\", \"Enterprise - Report\");\r\n setReportDetatils(viewmodel, data);\r\n $(\"#back-to-top\").trigger(\"click\");\r\n def.resolve();\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n def.reject();\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to view report.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n def.reject();\r\n }\r\n};\r\n\r\n// Function: showhideRatings -----------------------------------------------------------------------\r\nfunction showhideRatings(viewmodel) {\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Enterprise\") {\r\n viewmodel.set(\"canViewMentorRatingOnEnterprise\", false);\r\n\r\n } else if (role === \"Mentor\" || role === \"Corporate\") {\r\n viewmodel.set(\"canViewEnterpriseRatingOnMentor\", false);\r\n };\r\n};\r\n\r\n// Function: getReportDetails -----------------------------------------------------------------------\r\nfunction getReportDetails(enterpriseId, month) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getReportFullDetails(enterpriseId, month).then(\r\n\r\n function (data) {\r\n\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction backToReports(viewmodel) {\r\n var link = $(\"#breadcrumb-link\").attr(\"href\");\r\n app.AppRouter.router.navigate(link);\r\n};\r\n\r\n\r\n// Function: setReportDetatils ----------------------------------------------------------------------\r\nfunction setReportDetatils(viewmodel, data) {\r\n\r\n viewmodel.set(\"report\", data);\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n //a bit hacky but gets the work done.\r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n if (data.EnterpriseName)\r\n $(\"#breadcrumb-second\").text(data.EnterpriseName.toUpperCase());\r\n\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/enterprise/dashboard?id=\" + viewmodel.get(\"enterpriseId\") + \"&tab=reports\");\r\n\r\n } else {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/reports\");\r\n }\r\n\r\n if (data.EnterpriseReport.Performance && data.EnterpriseReport.Performance.Status === \"Approval Pending\" &&\r\n (role === \"Super Admin\" || role === \"Administrator\" || role === \"Manager\" || role === \"Mentor\")) {\r\n viewmodel.set(\"isApprovePerformanceButtonVisible\", true);\r\n }\r\n\r\n if (data.MentorReport.Rating && data.MentorReport.Status === \"Approval Pending\" &&\r\n (role === \"Super Admin\" || role === \"Administrator\" || role === \"Manager\")) {\r\n viewmodel.set(\"isApproveEnterpriseRatingButtonVisible\", true);\r\n }\r\n\r\n if (role === \"Super Admin\" || role === \"Administrator\" || role === \"Manager\" || role === \"Mentor\") {\r\n viewmodel.set(\"isStatusVisible\", true);\r\n\r\n var performance = data.EnterpriseReport.Performance;\r\n if (!performance || performance.Status == null) {\r\n viewmodel.data.set(\"EnterpriseReportStatus\", \"Not Created\");\r\n viewmodel.set(\"statusClassEnterprise\", \"status-colour-NotCreated\");\r\n } else {\r\n viewmodel.data.set(\"EnterpriseReportStatus\", data.EnterpriseReport.Performance.Status);\r\n viewmodel.set(\"statusClassEnterprise\", \"status-colour-\" + data.EnterpriseReport.Performance.Status);\r\n }\r\n\r\n if (data.MentorReport.Status == null) {\r\n viewmodel.data.set(\"MentorReportStatus\", \"Not Created\");\r\n viewmodel.set(\"statusClassMentor\", \"status-colour-NotCreated\");\r\n } else {\r\n viewmodel.data.set(\"MentorReportStatus\", data.MentorReport.Status);\r\n viewmodel.set(\"statusClassMentor\", \"status-colour-\" + data.MentorReport.Status);\r\n }\r\n\r\n } else {\r\n viewmodel.set(\"isStatusVisible\", false);\r\n }\r\n\r\n if (data.EnterpriseReport.Performance.AccountsPayable !== null) {\r\n viewmodel.set(\"isAccountsPayableVisible\", true);\r\n }\r\n if (data.EnterpriseReport.Performance.AccountsPayable !== null) {\r\n viewmodel.set(\"isAccountsReceivableVisible\", true);\r\n }\r\n if (data.EnterpriseReport.Performance.AccountsPayable !== null) {\r\n viewmodel.set(\"isTotalAssetsVisible\", true);\r\n }\r\n if (data.EnterpriseReport.Performance.AccountsPayable !== null) {\r\n viewmodel.set(\"isTotalLiabilitiesVisible\", true);\r\n }\r\n\r\n var date = kendo.parseDate(data.Month, \"MM/yyyy\");\r\n var month = kendo.toString(new Date(date), \"y\").replace(\",\", \" \");\r\n $(\"#enterprise-name\").text(data.EnterpriseName);\r\n $(\"#report-month\").text(month);\r\n createDocumentGrid(viewmodel);\r\n};\r\n\r\n// Function: approvePerformance ---------------------------------------------------------------------\r\nfunction approvePerformance(viewmodel) {\r\n\r\n var def = $.Deferred(); \r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var performanceId = viewmodel.report.EnterpriseReport.Performance.Id;\r\n app.AppEnterprise.approvePerformanceReport(performanceId).then(\r\n function () {\r\n viewmodel.set(\"isApprovePerformanceButtonVisible\", false);\r\n var success = {\r\n title: \"Success\",\r\n message: \"Performance Report successfully approved.\"\r\n };\r\n\r\n app.AppTag.setTagsAnalyticsEvent(\"custom\", \"enterprise report\", \"approved\", \"Enterprise report approved\");\r\n \r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id; \r\n var month = app.AppRouter.getCurrentRoute().params.month;\r\n\r\n getReportDetails(enterpriseId, month).then(\r\n function (data) { \r\n setReportDetatils(viewmodel, data);\r\n app.AppNotify.showSuccess(success);\r\n def.resolve();\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n def.reject();\r\n }); \r\n \r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: approveMentorRatingOfEnterprise ---------------------------------------------------------------------\r\nfunction approveMentorRatingOfEnterprise(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var mentorReportId = viewmodel.report.MentorReport.Id;\r\n app.AppMentor.approveMentorRatingOfEnterprise(mentorReportId).then(\r\n\r\n function () {\r\n viewmodel.set(\"isApproveEnterpriseRatingButtonVisible\", false);\r\n var success = {\r\n title: \"Success\",\r\n message: \"Mentor rating of the Enterprise successfully approved.\"\r\n };\r\n\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n var month = app.AppRouter.getCurrentRoute().params.month;\r\n\r\n getReportDetails(enterpriseId, month).then(\r\n function (data) {\r\n setReportDetatils(viewmodel, data);\r\n app.AppNotify.showSuccess(success);\r\n def.resolve();\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n def.reject();\r\n }); \r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n}\r\n\r\n// Function: createDocumentGrid ---------------------------------------------------------------------\r\nfunction createDocumentGrid(viewmodel) {\r\n\r\n $(\"#documents\").kendoGrid({\r\n dataSource: viewmodel.report.Documents,\r\n //height: 100,\r\n sortable: true,\r\n resizable: true,\r\n //pageable: {\r\n // refresh: true,\r\n // pageSizes: true,\r\n // buttonCount: 5\r\n //},\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n /*scrollable: {\r\n virtual: true\r\n },*/\r\n columns: [{\r\n template: \"#: Name #\",\r\n field: \"Name\",\r\n title: \"Name\",\r\n width: 200\r\n }, {\r\n field: \"ReportMonth\",\r\n title: \"Report Month\",\r\n width: 200\r\n }, {\r\n command: [{ text: \"DOWNLOAD\", click: downloadDocument }],\r\n title: \" \",\r\n width: 280\r\n }]\r\n });\r\n}\r\n\r\n// Function: downloadDocument -----------------------------------------------------------------------\r\nfunction downloadDocument(e) {\r\n\r\n var def = new $.Deferred();\r\n\r\n e.preventDefault();\r\n var closestTr = $(e.currentTarget).closest(\"tr\");\r\n\r\n var document = this.dataItem(closestTr);\r\n\r\n app.AppLoading.show(\"Loading...\", def, true);\r\n\r\n app.AppMentor.getMentorReportDocumentBase64(document.Id).then(\r\n\r\n function (base64) {\r\n\r\n var extension = document.FileName.split(\".\")[1];\r\n var dataURI = \"data:text/plain;base64,\" + base64;\r\n kendo.saveAs({\r\n dataURI: dataURI,\r\n fileName: document.Name + \".\" + extension\r\n });\r\n\r\n def.resolve();\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/user/user\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.enterprise = {};\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.cancel = function () { cancel(this); };\r\n this.removePhoto = function () { removePhoto(this); };\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/user/add\", \"Enterprise - Add User\");\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (enterpriseId) {\r\n doFormValidation(viewmodel);\r\n getEnterprise(viewmodel, enterpriseId).then(\r\n\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#breadcrumb-second\").text(data.Name.toUpperCase());\r\n\r\n //$(\"#main-page-title\").text(data.Name.toUpperCase());\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/enterprise/dashboard?id=\" + data.EnterpriseId + \"&tab=users\");\r\n viewmodel.set(\"enterprise\", data);\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=users\");\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to add enterprise user.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/enterprises\");\r\n };\r\n};\r\n\r\n// Function: getEnterprise -------------------------------------------------------------------------\r\nfunction getEnterprise(viewmodel, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getEnterpriseById(enterpriseId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#register-user-form\").kendoValidator(\r\n {\r\n rules: {\r\n confirmEmail: function (input) {\r\n var ret = true;\r\n if (input.is(\"[name=email-confirm]\")) {\r\n ret = input.val() === $(\"#email\").val();\r\n };\r\n return ret;\r\n },\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"officephone\" ||\r\n $(input).attr(\"name\") === \"cellphone\") {\r\n if (input.val() != \"\") {\r\n return input.val().length > 9\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n confirmEmail: \"Emails do not match\",\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"officephone\") {\r\n return \"Office telephone is not valid\"\r\n }\r\n else if ($(input).attr(\"name\") === \"cellphone\") {\r\n return \"Cellphone is not valid\"\r\n }\r\n else {\r\n return \"Your input is not valid\"\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n //return validator.validate();\r\n};\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#fname\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n //viewmodel.data.set(\"profilePicture\", reader.result);\r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n\r\n };\r\n};\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 300,\r\n height: 300,\r\n type: 'square'\r\n }\r\n ,\r\n boundary: {\r\n width: 400,\r\n height: 400\r\n }\r\n });\r\n\r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n\r\n $(\".uploadClick\").on(\"click\", function () {\r\n uploadImage.croppie('result',{type: 'base64',size: 'viewport',quality: 0.8}).then(function(base64) {\r\n viewmodel.data.set(\"profilePicture\", base64);\r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n })\r\n\r\n $('#croppie-modal').on('hidden.bs.modal', function () {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n })\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n};\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var registerData = getUserObject(viewmodel);\r\n\r\n app.AppAuth.register(registerData).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise user successfully created.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=users\");\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n\r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: cancel ---------------------------------------------------------------------------------\r\nfunction cancel() {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\"+ app.AppRouter.getCurrentRoute().params.id + \"&tab=users\");\r\n}\r\n\r\n// Function: getUserObject --------------------------------------------------------------------------\r\nfunction getUserObject(viewmodel) {\r\n\r\n var strImage = \"\";\r\n\r\n if (viewmodel.data.get(\"profilePicture\")) {\r\n var strToReplace = viewmodel.data.get(\"profilePicture\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n }\r\n\r\n return {\r\n Email: viewmodel.data.get(\"email\"),\r\n Name: viewmodel.data.get(\"fname\"),\r\n Surname: viewmodel.data.get(\"surname\"),\r\n DisplayName: viewmodel.data.get(\"fname\") + \" \" + viewmodel.data.get(\"surname\"),\r\n Role: \"Enterprise\",\r\n ProfilePicture: strImage,\r\n CellPhone: viewmodel.data.get(\"cellphone\"),\r\n PhoneNumber: viewmodel.data.get(\"officephone\"),\r\n Company: viewmodel.enterprise.get(\"Name\"),\r\n };\r\n}\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"profilePicture\", \"\");\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/user/user\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.enterprise = {};\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.cancelLink = function () { return \"#/enterprise/dashboard?id=\" + this.enterprise.get(\"EnterpriseId\")+\"&tab=users\"; };\r\n this.removePhoto = function () { removePhoto(this); };\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var userId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (userId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/enterprise/user/edit\", \"Enterprise - Edit User\");\r\n\r\n getUserProfile(viewmodel, userId).then(\r\n\r\n function (data) {\r\n setUserProfile(viewmodel, data, def);\r\n doFormValidation(viewmodel);\r\n //def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to edit user profile.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.enterprise.get(\"EnterpriseId\") + \"&tab=users\");\r\n }\r\n\r\n};\r\n\r\n// Function: getUserProfile -------------------------------------------------------------------------\r\nfunction getUserProfile(viewmodel, userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppAuth.getUserProfile(userId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setUserProfile -------------------------------------------------------------------------\r\nfunction setUserProfile(viewmodel, profileData, def) {\r\n\r\n getEnterprise(profileData.UserId).then(\r\n\r\n function (enterprise) {\r\n\r\n //a bit hacky but gets the work done.\r\n //$(\"#main-page-title\").text(profileData.DisplayName.toUpperCase());\r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#breadcrumb-second\").text(enterprise.Name.toUpperCase());\r\n $(\"#main-page-title\").text(profileData.DisplayName.toUpperCase());\r\n\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/enterprise/dashboard?id=\" + enterprise.EnterpriseId + \"&tab=users\");\r\n //$(\"#breadcrumb-link\").text(\"ENTERPRISE USERS\");\r\n\r\n viewmodel.set(\"enterprise\", enterprise);\r\n\r\n viewmodel.data.set(\"userId\", profileData.UserId);\r\n viewmodel.data.set(\"email\", profileData.Email);\r\n $(\"#email-confirm\").val(profileData.Email);\r\n viewmodel.data.set(\"fname\", profileData.Name);\r\n viewmodel.data.set(\"surname\", profileData.Surname);\r\n viewmodel.data.set(\"DisplayName\", profileData.DisplayName);\r\n viewmodel.data.set(\"role\", profileData.Role);\r\n viewmodel.data.set(\"cellphone\", profileData.Cellphone);\r\n viewmodel.data.set(\"officephone\", profileData.PhoneNumber);\r\n viewmodel.data.set(\"profilePicture\", profileData.ProfilePicture);\r\n\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n })\r\n};\r\n\r\n// Function: getEnterprise --------------------------------------------------------------------------\r\nfunction getEnterprise(userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppEnterprise.getEnterpriseByUser(userId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#register-user-form\").kendoValidator(\r\n {\r\n rules: {\r\n confirmEmail: function (input) {\r\n var ret = true;\r\n if (input.is(\"[name=email-confirm]\")) {\r\n ret = input.val() === $(\"#email\").val();\r\n };\r\n return ret;\r\n },\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"officephone\" ||\r\n $(input).attr(\"name\") === \"cellphone\") {\r\n if (input.val() != \"\") {\r\n return input.val().length > 9\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n confirmEmail: \"Emails do not match\",\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"officephone\") {\r\n return \"Office telephone is not valid\";\r\n }\r\n else if ($(input).attr(\"name\") === \"cellphone\") {\r\n return \"Cellphone is not valid\";\r\n }\r\n else {\r\n return \"Your input is not valid\"\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n //return validator.validate();\r\n};\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#fname\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n //viewmodel.data.set(\"profilePicture\", reader.result);\r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n };\r\n}\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 300,\r\n height: 300,\r\n type: 'square'\r\n }\r\n ,\r\n boundary: {\r\n width: 400,\r\n height: 400\r\n }\r\n });\r\n\r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n\r\n $(\".uploadClick\").on(\"click\", function () {\r\n uploadImage.croppie('result',{type: 'base64',size: 'viewport',quality: 0.8}).then(function(base64) {\r\n viewmodel.data.set(\"profilePicture\", base64);\r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n })\r\n\r\n $('#croppie-modal').on('hidden.bs.modal', function () {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n })\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n};\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var updateData = getUserObject(viewmodel);\r\n app.AppAuth.updateUserProfile(updateData).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Profile details successfully updated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.enterprise.get(\"EnterpriseId\") + \"&tab=users\");\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: getUserObject --------------------------------------------------------------------------\r\nfunction getUserObject(viewmodel) {\r\n\r\n var strImage = \"\";\r\n\r\n if (viewmodel.data.get(\"profilePicture\")) {\r\n var strToReplace = viewmodel.data.get(\"profilePicture\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n }\r\n\r\n var obj = {\r\n UserId: viewmodel.data.get(\"userId\"),\r\n Email: viewmodel.data.get(\"email\"),\r\n Name: viewmodel.data.get(\"fname\"),\r\n Surname: viewmodel.data.get(\"surname\"),\r\n DisplayName: viewmodel.data.get(\"fname\") + \" \" + viewmodel.data.get(\"surname\"),\r\n ProfilePicture: strImage,\r\n CellPhone: viewmodel.data.get(\"cellphone\"),\r\n PhoneNumber: viewmodel.data.get(\"officephone\")\r\n };\r\n\r\n return obj;\r\n}\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"profilePicture\", \"\");\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n//using\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/wagr-report\"); \r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.startup = function () { startup(this); };\r\n this.submit = function () {\r\n submit(this);\r\n };\r\n this.loadWagrModal = function () { loadWagrModal(this); };\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n setDefaultValues(viewmodel);\r\n bindEvents(viewmodel);\r\n}\r\n\r\n// Function: setDefaultValues --------------------------------------------------------------------------------\r\nfunction setDefaultValues(viewmodel) {\r\n viewmodel.set(\"data.GrowthRatePecentageFilter\", 20);\r\n}\r\n\r\n// Function: showKendoReport --------------------------------------------------------------------------------\r\nfunction showKendoReport(viewmodel, canView) {\r\n viewmodel.set(\"canViewReport\", canView);\r\n\r\n showErrorMessageInplaceOfWeightedAverageGrowthRateReport(viewmodel, canView);\r\n}\r\n\r\nfunction showErrorMessageInplaceOfWeightedAverageGrowthRateReport(viewmodel, showMessage) {\r\n if (showMessage) {\r\n viewmodel.set(\"showDataNotFoundMessage\", false);\r\n } else {\r\n viewmodel.set(\"showDataNotFoundMessage\", true);\r\n }\r\n}\r\n\r\n// Function: bindEvents --------------------------------------------------------------------------------\r\nfunction bindEvents(viewmodel) {\r\n var dayToSetIntoPassed = kendo.date.today();\r\n dayToSetIntoPassed.getFullYear();\r\n dayToSetIntoPassed.setYear(dayToSetIntoPassed.getFullYear() - 9); \r\n $(\"#start\").kendoDatePicker({\r\n value: dayToSetIntoPassed\r\n }).data(\"kendoDatePicker\");\r\n\r\n var currentDay = kendo.date.today();\r\n $(\"#end\").kendoDatePicker({\r\n value: currentDay\r\n }).data(\"kendoDatePicker\");\r\n\r\n buildWeightedAverageGrowthRateTable(viewmodel);\r\n\r\n createFundsAndProgrammesMultiSelect();\r\n captureSelectedFundsAndProgrammes(viewmodel);\r\n\r\n captureSelectedFundsAndProgrammes(viewmodel);\r\n\r\n}\r\n\r\n// Function: buildWeightedAverageGrowthRateTable --------------------------------------------------------------------------------\r\nfunction buildWeightedAverageGrowthRateTable(viewmodel) {\r\n var fromDate = getCalenderValues().startDate.toUTCString();\r\n var toDate = getCalenderValues().endDate.toUTCString();\r\n\r\n captureSelectedFundsAndProgrammes(viewmodel);\r\n\r\n getWeightedGrowthAverageReport(viewmodel, fromDate, toDate, 20);\r\n}\r\n\r\n// Function: getWeightedGrowthAverageReport --------------------------------------------------------------------------------\r\nfunction getWeightedGrowthAverageReport(viewmodel, fromDate, toDate) {\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var growthRatePecentageFilter = viewmodel.get(\"data.GrowthRatePecentageFilter\");\r\n var funds = viewmodel.get('FundIds') ? viewmodel.get('FundIds') : [];\r\n var programmes = viewmodel.get('ProgrammeIds') ? viewmodel.get('ProgrammeIds') : [];\r\n app.AppEnterprise.getWeightedGrowthAverageReport(fromDate, toDate, growthRatePecentageFilter, funds, programmes).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n\r\n if (!data) {\r\n var success = {\r\n title: \"Error\",\r\n message: \"Failed to match search criteria\"\r\n };\r\n \r\n app.AppNotify.showError(success);\r\n showKendoReport(viewmodel, false);\r\n\r\n } else {\r\n var success = {\r\n title: \"Success\",\r\n message: \"Successfully matched search criteria.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n setViewModelData(data, viewmodel);\r\n showKendoReport(viewmodel, true);\r\n }\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n\r\n showKendoReport(viewmodel, true);\r\n\r\n def.reject();\r\n });\r\n}\r\n\r\n//Function: setViewModelData --------------------------------------------------------------------------------\r\nfunction setViewModelData(data, viewmodel) {\r\n viewmodel.set(\"data.WeightedAverageGrowthRateAllEnterprisesWithMoreThanTwelveReports\", data.WeightedAverageGrowthRate.AllEnterprisesWithMoreThanTwelveReports.toString());\r\n viewmodel.set(\"data.WeightedAverageGrowthRateAllEnterprisesReports\", data.WeightedAverageGrowthRate.AllEnterprisesReports.toString());\r\n\r\n viewmodel.set(\"data.NumberOfEnterprisesAllEnterprisesWithMoreThanTwelveReports\", data.NumberOfEnterprises.AllEnterprisesWithMoreThanTwelveReports.toString());\r\n viewmodel.set(\"data.NumberOfEnterprisesAllEnterprisesReports\", data.NumberOfEnterprises.AllEnterprisesReports.toString());\r\n\r\n viewmodel.set(\"data.BOTNumberOfEnterprisesAllEnterprisesWithMoreThanTwelveReports\", data.NumberBOTEnterprises.AllEnterprisesWithMoreThanTwelveReports.toString());\r\n viewmodel.set(\"data.BOTNumberOfEnterprisesAllEnterprisesReports\", data.NumberBOTEnterprises.AllEnterprisesReports.toString());\r\n\r\n viewmodel.set(\"data.EnterprisesGrowingGreaterThanTwentyPercentAllEnterprisesWithMoreThanTwelveReports\", data.EnterprisesGrowingGreaterThanFilterPercentage.AllEnterprisesWithMoreThanTwelveReports.toString());\r\n viewmodel.set(\"data.EnterprisesGrowingGreaterThanTwentyPercentAllEnterprisesReports\", data.EnterprisesGrowingGreaterThanFilterPercentage.AllEnterprisesReports.toString());\r\n\r\n viewmodel.set(\"data.BOTEnterprisesGrowingGreaterThanTwentyPercentAllEnterprisesWithMoreThanTwelveReports\", data.BOTEnterprisesGrowingGreaterThanFilterPercentage.AllEnterprisesWithMoreThanTwelveReports.toString());\r\n viewmodel.set(\"data.BOTEnterprisesGrowingGreaterThanTwentyPercentAllEnterprisesReports\", data.BOTEnterprisesGrowingGreaterThanFilterPercentage.AllEnterprisesReports.toString());\r\n}\r\n\r\n//Function: getCalenderValues --------------------------------------------------------------------------------\r\nfunction getCalenderValues() {\r\n var dateObj = {};\r\n dateObj.startDate = $(\"#start\").data(\"kendoDatePicker\").value();\r\n dateObj.endDate = $(\"#end\").data(\"kendoDatePicker\").value();\r\n return dateObj;\r\n}\r\n\r\n//Function: submit --------------------------------------------------------------------------------\r\nfunction submit(viewmodel) {\r\n buildWeightedAverageGrowthRateTable(viewmodel);\r\n}\r\n\r\n// Function: loadWagrModal ------------------------------------------------------------------------\r\nfunction loadWagrModal() {\r\n\r\n var showModal = \"wagr-dashboard-wagr-breakdown\";\r\n app.AppDialog.showWagrReportBreakdown(showModal);\r\n\r\n}\r\n\r\nfunction createFundsAndProgrammesMultiSelect() {\r\n getActiveFunds();\r\n getActiveProgrammes();\r\n\r\n getInActiveFunds();\r\n getInActiveProgrammes();\r\n\r\n getClosedFunds();\r\n getClosedProgrammes();\r\n}\r\n\r\nfunction getActiveFunds() {\r\n\r\n var def = $.Deferred();\r\n\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().role;\r\n app.AppFund.getFunds(1, 10000, \" \", \" \", \" \", \"active\", \" \", userRole).then(\r\n function (data) {\r\n destroyMultiSelect('#funds');\r\n $('#funds').kendoMultiSelect({\r\n dataSource: data.Results,\r\n dataTextField: 'Name',\r\n dataValueField: 'FundId',\r\n filter: 'contains',\r\n messages: {\r\n noData: \"There is no data!\"\r\n }\r\n }).data(\"kendoMultiSelect\");\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction getActiveProgrammes() {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppProgramme.getProgrammes(1, 10000, \" \", \" \", \" \", \"active\", \" \").then(\r\n\r\n function (data) {\r\n destroyMultiSelect('#programmes');\r\n $('#programmes').kendoMultiSelect({\r\n dataSource: data.Results,\r\n dataTextField: 'Name',\r\n dataValueField: 'ProgrammeId',\r\n filter: 'contains',\r\n noDataTemplate: $(\"#noDataTemplate\").html()\r\n }).data(\"kendoMultiSelect\");\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction getInActiveFunds() {\r\n\r\n var def = $.Deferred();\r\n\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().role;\r\n app.AppFund.getFunds(1, 10000, \" \", \" \", \" \", \"inactive\", \" \", userRole).then(\r\n function (data) {\r\n destroyMultiSelect('#inactive-funds');\r\n $('#inactive-funds').kendoMultiSelect({\r\n dataSource: data.Results,\r\n dataTextField: 'Name',\r\n dataValueField: 'FundId',\r\n filter: 'contains',\r\n messages: {\r\n noData: \"There is no data!\"\r\n }\r\n }).data(\"kendoMultiSelect\");\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction getInActiveProgrammes() {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppProgramme.getProgrammes(1, 10000, \" \", \" \", \" \", \"inactive\", \" \").then(\r\n\r\n function (data) {\r\n destroyMultiSelect('#inactive-programmes');\r\n $('#inactive-programmes').kendoMultiSelect({\r\n dataSource: data.Results,\r\n dataTextField: 'Name',\r\n dataValueField: 'ProgrammeId',\r\n filter: 'contains',\r\n noDataTemplate: $(\"#noDataTemplate\").html()\r\n }).data(\"kendoMultiSelect\");\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction getClosedFunds() {\r\n\r\n var def = $.Deferred();\r\n\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().role;\r\n app.AppFund.getFunds(1, 10000, \" \", \" \", \" \", \"closed\", \" \", userRole).then(\r\n function (data) {\r\n destroyMultiSelect('#closed-funds');\r\n $('#closed-funds').kendoMultiSelect({\r\n dataSource: data.Results,\r\n dataTextField: 'Name',\r\n dataValueField: 'FundId',\r\n filter: 'contains',\r\n messages: {\r\n noData: \"There is no data!\"\r\n }\r\n }).data(\"kendoMultiSelect\");\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction getClosedProgrammes() {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppProgramme.getProgrammes(1, 10000, \" \", \" \", \" \", \"closed\", \" \").then(\r\n\r\n function (data) {\r\n destroyMultiSelect('#closed-programmes');\r\n $('#closed-programmes').kendoMultiSelect({\r\n dataSource: data.Results,\r\n dataTextField: 'Name',\r\n dataValueField: 'ProgrammeId',\r\n filter: 'contains',\r\n noDataTemplate: $(\"#noDataTemplate\").html()\r\n }).data(\"kendoMultiSelect\");\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction destroyMultiSelect(selector) {\r\n\r\n var multiselect = $(selector).data('kendoMultiSelect');\r\n if (multiselect) {\r\n app.AppProduct.destroyMultiSelect(selector);\r\n }\r\n}\r\n\r\nfunction captureSelectedFundsAndProgrammes(viewmodel) {\r\n var activeFunds = $(\"#funds\").val();\r\n var inaciveFunds = $(\"#inactive-funds\").val();\r\n var closedFunds = $(\"#closed-funds\").val();\r\n\r\n var activeProgrammes = $(\"#programmes\").val();\r\n var inActiveProgrammes = $(\"#inactive-programmes\").val();\r\n var closedProgrammes = $(\"#closed-programmes\").val();\r\n\r\n if (activeFunds || inaciveFunds || closedFunds) {\r\n var fundList = activeFunds.concat(inaciveFunds, closedFunds).join(\",\");\r\n viewmodel.set('FundIds', fundList.toString());\r\n }\r\n else {\r\n viewmodel.set('FundIds', \"\");\r\n }\r\n\r\n if (activeProgrammes || inActiveProgrammes || closedProgrammes) {\r\n var programmeList = activeProgrammes.concat(inActiveProgrammes, closedProgrammes).join(\",\");\r\n viewmodel.set('ProgrammeIds', programmeList.toString());\r\n }\r\n else {\r\n viewmodel.set('ProgrammeIds', \"\");\r\n }\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/fund/active\", \"Active\");\r\n bindActiveFunds(viewmodel);\r\n};\r\n\r\n\r\n// Function: bindActiveFunds ------------------------------------------------------------------------\r\nfunction bindActiveFunds(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getActiveFunds().then(\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n IncompleteReports: { type: \"number\" },\r\n TotalReports: { type: \"number\" },\r\n StartDate: { type: \"date\" },\r\n EndDate: { type: \"date\" },\r\n EnterpriseCount: { type: \"number\" },\r\n Phase: { type: \"string\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n var result = {\r\n data: []\r\n };\r\n\r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n Name: v.Name,\r\n StartDate: v.StartDate,\r\n EndDate: v.EndDate,\r\n EnterpriseCount: v.EnterpriseCount,\r\n FundId: v.FundId,\r\n IncompleteReports: v.totalIncompleteReports,\r\n TotalReports: v.totalReports\r\n };\r\n if (v.Phase.Name) { pushData.Phase = v.Phase.Name; }\r\n result.data.push(pushData);\r\n });\r\n\r\n return result;\r\n }\r\n },\r\n pageable: true\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function alterDisplayedTable(e) { \r\n\r\n var grid = $(\"#active-fund-list-container\").data(\"kendoGrid\");\r\n var gridRows = grid.tbody.find(\"tr\");\r\n\r\n //gridRows.each(function (i, v) {\r\n // var dataItem = grid.dataItem(gridRows[i]); \r\n\r\n // var color = getStatusColor(dataItem.IncompleteReports, dataItem.TotalReports);\r\n // if (dataItem.Phase === \"Active\") {\r\n // $(this).find(\".report-status-display\").css(\"background-color\", color);\r\n // } else {\r\n // $(this).find(\".report-status-display\").css(\"color\", \"inherit\");\r\n // }\r\n //});\r\n\r\n loadClickEvents();\r\n }\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#active-fund-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true, \r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n serverOperation: false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n },\r\n // {\r\n // title: \"* Incomplete Reports\",\r\n // field: \"IncompleteReports\", \r\n // filterable: {\r\n // cell: { operator: \"gte\" }\r\n // },\r\n // width: app.AppGrids.getGridColumnWidthSize(\"medium\")\r\n //},\r\n {\r\n field: \"StartDate\",\r\n title: \"Start Date\",\r\n filterable:{\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n },\r\n {\r\n field: \"EndDate\",\r\n title: \"End Date\",\r\n filterable: {\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n }, {\r\n \r\n field: \"EnterpriseCount\",\r\n title: \"Enterprise Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n }, {\r\n field: \"Phase\",\r\n title: \"Phase\",\r\n width: app.AppGrids.getGridColumnWidthSize(\"extraSmall\")\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }], \r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n rowTemplate: kendo.template($(\"#active-fund-list-template\").html())\r\n });\r\n\r\n var grid = $(\"#active-fund-list-container\").data(\"kendoGrid\"); \r\n\r\n //grid.table.kendoTooltip({\r\n // filter: \"tr td:nth-child(2)\",\r\n // content: function (e) {\r\n // var target = e.target; // element for which the tooltip is shown\r\n // return 'Total Reports: ' + $(target).attr('totalreports');\r\n // }\r\n //});\r\n\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n}\r\n\r\n// Function: getStatusColor -------------------------------------------------------------------------\r\nfunction getStatusColor(value, total) {\r\n\r\n var percentage = value / total * 100;\r\n\r\n if (total <= 0 || percentage <= 10) {\r\n //green\r\n return \"#60bd68\";\r\n } else if (percentage > 10 && percentage < 30) {\r\n //orange\r\n return \"#cc6600\";\r\n } else if (percentage >= 30) {\r\n //red\r\n return \"#cc0000\";\r\n }\r\n\r\n}\r\n\r\n// Function: getActiveFunds -------------------------------------------------------------------------\r\nfunction getActiveFunds() {\r\n\r\n var def = $.Deferred();\r\n\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().role;\r\n app.AppFund.getFunds(1, 10000, \" \", \" \", \" \", \"active\", \" \", userRole).then(\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".deleteFund\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"fundName\");\r\n var id = $(this).attr(\"fundId\");\r\n\r\n deleteFund(name, id);\r\n });\r\n\r\n $(\".showPerformance\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var fundId = $(this).parent().attr(\"fundId\");\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + fundId + \"&tab=overview\");\r\n });\r\n\r\n app.AppGrids.adjustDropdowns();\r\n\r\n};\r\n\r\n// Function: deleteFund -----------------------------------------------------------------------------\r\nfunction deleteFund(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n deleteConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppFund.deleteFund(id).then(\r\n\r\n function (data) {\r\n $('#active-fund-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Deactivated\",\r\n message: \"Fund successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(fund) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to deactivate \" + fund + \"?\" + \"\\n\\n\" + \"This fund can be restored from the inactive section.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/fund/fund\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.phases = [];\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.fundPhaseList = app.AppDataLists.getFundPhasesLocal();\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/fund/add\", \"Fund - Add\");\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def); \r\n CreateFundCapitalDataSource(viewmodel);\r\n initDatePickers(viewmodel);\r\n initextEditor(viewmodel);\r\n doFormValidation(viewmodel);\r\n def.resolve();\r\n\r\n};\r\n\r\n// Function: initextEditor --------------------------------------------------------------------------\r\nfunction initextEditor() {\r\n\r\n // create Editor from textarea HTML element with default set of tools\r\n $(\"#vision\").kendoEditor({\r\n resizable: {\r\n toolbar: true\r\n }, tools: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"createLink\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n ]\r\n });\r\n\r\n // create Editor from textarea HTML element with default set of tools\r\n $(\"#objectives\").kendoEditor({\r\n resizable: {\r\n toolbar: true\r\n }, tools: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"createLink\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n ]\r\n });\r\n\r\n // create Editor from textarea HTML element with default set of tools\r\n $(\"#notes\").kendoEditor({\r\n resizable: {\r\n toolbar: true\r\n }, tools: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"createLink\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n ]\r\n });\r\n}\r\n\r\n// Function: initextEditor --------------------------------------------------------------------------\r\nfunction initDatePickers(viewmodel) {\r\n // Fund dates --------------------------------------------------------------------------\r\n startDatePicker();\r\n endDatePicker();\r\n \r\n // Reporting dates --------------------------------------------------------------------------\r\n reportingStartDatePicker(viewmodel);\r\n reportingEndDatePicker(viewmodel);\r\n}\r\n\r\n\r\nfunction startDatePicker() {\r\n $(\"#startDateAdd\").kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n change: function () {\r\n runDateRules();\r\n }\r\n });\r\n registerControllEvent(\"startDateAdd\", \"click\");\r\n registerControllEvent(\"startDateAdd\", \"focus\");\r\n}\r\n\r\nfunction endDatePicker() {\r\n var start = $(\"#startDateAdd\").data(\"kendoDatePicker\").value();\r\n\r\n $(\"#endDateAdd\").kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n disableDates: function (date) {\r\n\r\n var startDate = moment(start);\r\n var date = moment(date);\r\n\r\n if (startDate.endOf('day') > date.endOf('day')) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n }\r\n },\r\n change: function () {\r\n runDateRules();\r\n }\r\n });\r\n\r\n registerControllEvent(\"endDateAdd\", \"click\");\r\n registerControllEvent(\"endDateAdd\", \"focus\");\r\n}\r\n\r\nfunction reportingStartDatePicker() {\r\n var start = $(\"#startDateAdd\").data(\"kendoDatePicker\").value();\r\n var end = $(\"#endDateAdd\").data(\"kendoDatePicker\").value();\r\n\r\n $(\"#reportingStartDateAdd\").kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n change: function () {\r\n runDateRules();\r\n }\r\n });\r\n\r\n $(\"#reportingStartDateAdd\").data(\"kendoDatePicker\").min(start);\r\n $(\"#reportingStartDateAdd\").data(\"kendoDatePicker\").max(end);\r\n registerControllEvent(\"reportingStartDateAdd\", \"click\");\r\n registerControllEvent(\"reportingStartDateAdd\", \"focus\");\r\n};\r\n\r\nfunction reportingEndDatePicker() { \r\n var start = $(\"#startDateAdd\").data(\"kendoDatePicker\").value();\r\n var end = $(\"#endDateAdd\").data(\"kendoDatePicker\").value();\r\n $(\"#reportingEndDateAdd\").kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n change: function () {\r\n runDateRules();\r\n },\r\n disableDates: function (date) {\r\n\r\n var startDate = moment(start);\r\n var date = moment(end);\r\n\r\n if (startDate.endOf('day') > date.endOf('day')) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n }\r\n },\r\n });\r\n\r\n $(\"#reportingEndDateAdd\").data(\"kendoDatePicker\").min(start);\r\n $(\"#reportingEndDateAdd\").data(\"kendoDatePicker\").max(end);\r\n\r\n registerControllEvent(\"reportingEndDateAdd\", \"click\");\r\n registerControllEvent(\"reportingEndDateAdd\", \"focus\");\r\n};\r\n\r\nfunction registerControllEvent(element, bindEvent){\r\n var Id = \"#\" + element + \"\";\r\n $(Id).bind(bindEvent, function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n}\r\n\r\nfunction runDateRules() {\r\n\r\n var startDate = $(\"#startDateAdd\").data(\"kendoDatePicker\").value();;\r\n var endDate = $(\"#endDateAdd\").data(\"kendoDatePicker\").value();\r\n\r\n if (shouldClearStartDate(startDate, endDate)) {\r\n clearDatePicker(\"#startDateAdd\");\r\n }\r\n\r\n if (shouldClearEndDate(startDate, endDate)) {\r\n clearDatePicker(\"#endDateAdd\");\r\n }\r\n\r\n var reportingStartDate = $(\"#reportingStartDateAdd\").data(\"kendoDatePicker\").value();\r\n var reportingEndDate = $(\"#reportingEndDateAdd\").data(\"kendoDatePicker\").value();\r\n\r\n if (shouldClearReportingStartDate(startDate, endDate, reportingStartDate, reportingEndDate)) {\r\n clearDatePicker(\"#reportingStartDateAdd\");\r\n }\r\n\r\n if (shouldClearReportingEndDate(startDate, endDate, reportingStartDate, reportingEndDate)) {\r\n clearDatePicker(\"#reportingEndDateAdd\");\r\n }\r\n}\r\n\r\nfunction shouldClearStartDate(startDate, endDate){\r\n if(startDate && endDate){\r\n var startDateIsSmallerThanEndDate = startDate < endDate;\r\n if(!startDateIsSmallerThanEndDate ) {\r\n showDateErrorModal(\"Start Date, is not smaller than the End Date\");\r\n return true;\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction shouldClearEndDate(startDate, endDate) {\r\n if(startDate && endDate) {\r\n var endDateIsBiggerThanStartDate = endDate > startDate;\r\n if(!endDateIsBiggerThanStartDate) {\r\n showDateErrorModal(\"End Date, is not greater than the Start Date\");\r\n return true;\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction shouldClearReportingStartDate(startDate, endDate, reportingStartDate, reportingEndDate) {\r\n\r\n if(reportingStartDate && startDate) {\r\n var reportingStartDateIsBiggerThanOrEqualToStartDate = reportingStartDate >= startDate;\r\n if (!reportingStartDateIsBiggerThanOrEqualToStartDate) {\r\n showDateErrorModal(\"Reporting Start Date, is not greater or is equal to the Start Date\");\r\n return true;\r\n }\r\n }\r\n\r\n if(reportingStartDate && endDate) {\r\n var reportingStartDateIsSmallerThanEndDate = reportingStartDate < endDate;\r\n if(!reportingStartDateIsSmallerThanEndDate){\r\n showDateErrorModal(\"Reporting Start Date, is not smaller than the End Date\");\r\n return true;\r\n }\r\n }\r\n \r\n if(reportingStartDate && reportingEndDate) {\r\n var reportingStartDateIsSmallerThanReportingEndDate = reportingStartDate < reportingEndDate;\r\n if(!reportingStartDateIsSmallerThanReportingEndDate) {\r\n showDateErrorModal(\"Reporting Start Date, is not smaller than the reporting End Date\");\r\n return true\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction shouldClearReportingEndDate(startDate, endDate, reportingStartDate, reportingEndDate) {\r\n if (reportingEndDate && endDate) {\r\n var reportingEndDateIsSmallerOrEqualToEndDate = reportingEndDate <= endDate;\r\n if(!reportingEndDateIsSmallerOrEqualToEndDate) {\r\n showDateErrorModal(\"Reporting End Date, is not smaller or is equal To the End Date\");\r\n return true;\r\n }\r\n }\r\n \r\n if (reportingEndDate && startDate) {\r\n var reportingEndDateIsGreaterThanStartDate = reportingEndDate > startDate;\r\n if(!reportingEndDateIsGreaterThanStartDate){\r\n showDateErrorModal(\"Reporting End Date, is not greater than the Start Date\");\r\n return true;\r\n }\r\n }\r\n \r\n if (reportingEndDate && reportingStartDate) {\r\n var reportingEndDateIsGreaterThankReportingStartDate = reportingEndDate >= reportingStartDate;\r\n if(!reportingEndDateIsGreaterThankReportingStartDate) {\r\n showDateErrorModal(\"Reporting End Date, is smaller or equal to the reporting Start Date\");\r\n return true\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction clearDatePicker(datePickerId) {\r\n var datepicker = $(datePickerId).data(\"kendoDatePicker\");\r\n datepicker.value(null);\r\n}\r\n\r\nfunction showDateErrorModal(message) {\r\n var invalid = {\r\n title: \"Error on the selected dates\",\r\n message: message\r\n };\r\n app.AppNotify.showError(invalid);\r\n}\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n var validator = $(\"#add-fund-form\").kendoValidator(\r\n {\r\n rules: {\r\n startDate: function (input) {\r\n if (input.is(\"[name=startDateAdd]\")) {\r\n var startDateHasNoValue = $(\"#startDateAdd\").data(\"kendoDatePicker\").value();\r\n if(!startDateHasNoValue) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n },\r\n endDate: function (input) {\r\n if (input.is(\"[name=endDateAdd]\")) {\r\n var endDateHasNoValue = $(\"#endDateAdd\").data(\"kendoDatePicker\").value();\r\n var wasEndDatePreventFromOpening = $(\"#endDateEdit\");\r\n if(!endDateHasNoValue) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n },\r\n reportingStartDate: function (input) {\r\n if (input.is(\"[name=reportingStartDateAdd]\")) {;\r\n var reportingEndDateHasAValue = $(\"#reportingEndDateAdd\").data(\"kendoDatePicker\").value();\r\n if (reportingEndDateHasAValue) {\r\n var reportingStartDateHasAValue = $(\"#reportingStartDateAdd\").data(\"kendoDatePicker\").value();\r\n if(!reportingStartDateHasAValue) {\r\n return false;\r\n } \r\n } \r\n } \r\n return true; \r\n },\r\n reportingEndDate: function (input) {\r\n if (input.is(\"[name=reportingEndDateAdd]\")) { \r\n var reportingStartDateHasAValue = $(\"#reportingStartDateAdd\").data(\"kendoDatePicker\").value();\r\n if(reportingStartDateHasAValue) {\r\n var reportingEndDateHasAValue = $(\"#reportingEndDateAdd\").data(\"kendoDatePicker\").value();\r\n if(!reportingEndDateHasAValue) {\r\n return false;\r\n } \r\n }\r\n }\r\n return true;\r\n },\r\n phase: function (input) {\r\n if ($(input).attr(\"name\") === \"phaseslist\") {\r\n return validatePhase(viewmodel);\r\n }\r\n return true;\r\n },\r\n },\r\n messages: {\r\n startDate :\"Start date is required.\" ,\r\n endDate: \"End date is required.\",\r\n reportingStartDate: \"Reporting start date is required.\",\r\n reportingEndDate: \"Reporting end date is required.\",\r\n required: \"This field is required.\",\r\n phase: \"Invalid phase selection.\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n \r\n};\r\n\r\n// Function: validatePhase -----------------------------------------------------------------------------------\r\nfunction validatePhase(viewmodel) {\r\n\r\n var today = moment();\r\n var start = moment(viewmodel.data.get(\"startDate\"));\r\n var end = moment(viewmodel.data.get(\"endDate\"));\r\n var reportingStart = moment(viewmodel.data.get(\"reportingStartDate\"));\r\n var reportingEnd = moment(viewmodel.data.get(\"reportingEndDate\"));\r\n var phaseSelected = $(\"#phaseId\").data(\"kendoDropDownList\").text();\r\n\r\n switch (phaseSelected) {\r\n case \"Closed\":\r\n\r\n if (today.isAfter(end)) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n };\r\n\r\n break;\r\n\r\n case \"Active\":\r\n\r\n if ((today.isAfter(reportingStart) || today.isSame(reportingStart)) &&\r\n (reportingEnd.isAfter(today) || reportingEnd.isSame(today))) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n };\r\n\r\n break;\r\n\r\n case \"Post-Fund\":\r\n\r\n if (today.isAfter(reportingEnd) && end.isAfter(today)) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n };\r\n\r\n //case \"Pre-Fund\":\r\n\r\n // if (today.endOf('day') < start.endOf('day')) {\r\n // return true;\r\n\r\n // } else {\r\n // return false;\r\n // };\r\n // break;\r\n\r\n default:\r\n return true;\r\n };\r\n};\r\n\r\n\r\n// Function: CreateFundCapitalDataSource ------------------------------------------------------------------------\r\nfunction CreateFundCapitalDataSource(viewmodel) {\r\n\r\n var capitalDataSource;\r\n capitalDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (e) {\r\n e.success([]);\r\n },\r\n update: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n destroy: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n create: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n parameterMap: function (options, operation) {\r\n\r\n if (operation !== \"read\" && options.models) {\r\n return { models: kendo.stringify(options.models) };\r\n }\r\n }\r\n },\r\n batch: true,\r\n pageSize: 20,\r\n schema: {\r\n model: {\r\n id: \"Id\",\r\n fields: {\r\n TimeStamp: { type: \"date\", validation: { required: true }, nullable: false },\r\n Amount: { type: \"number\", validation: { required: true }, nullable: false }\r\n }\r\n }\r\n }\r\n });\r\n\r\n\r\n createKendoGridCapital(viewmodel, capitalDataSource);\r\n}\r\n\r\n// Function: getCapitalAmount --------------------------------------------------------------------------\r\nfunction getCapitalAmount() {\r\n\r\n var grid = $('#manage-capital-grid').data(\"kendoGrid\");\r\n var gridRows = grid.tbody.find(\"tr\");\r\n var dataItem = grid.dataItem(gridRows[0]);\r\n\r\n return dataItem;\r\n}\r\n\r\n// Function: createKendoGridCapital --------------------------------------------------------------------------\r\nfunction createKendoGridCapital(viewmodel, dataSource) {\r\n\r\n function grid_dataBound(e) {\r\n var capital = getCapitalAmount();\r\n if (capital) {\r\n viewmodel.data.set(\"capitalAmount\", capital.Amount);\r\n } else {\r\n viewmodel.data.set(\"capitalAmount\", \"0\");\r\n }\r\n \r\n };\r\n\r\n if ($('#manage-capital-grid').data('kendoGrid'))\r\n $('#manage-capital-grid').data('kendoGrid').destroy();\r\n\r\n $(\"#manage-capital-grid\").kendoGrid({\r\n\r\n dataSource: dataSource,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n toolbar: [\"create\"],\r\n columns: [\r\n {\r\n field: \"TimeStamp\",\r\n title: \"Date\",\r\n editor: datePickerEditor,\r\n template: \"#= kendo.toString(kendo.parseDate(TimeStamp), 'dd MMM yyyy', 'en-US') #\",\r\n width: 100\r\n }, {\r\n field: \"Amount\",\r\n title: \"Capital\",\r\n template: 'R' + \"#= Amount#\",\r\n width: 100\r\n }, {\r\n command:\r\n [{ name: \"edit\", text: \"Edit\" },\r\n { name: \"destroy\", text: \"Remove\" }],\r\n title: \" \", width: 80\r\n }\r\n ],\r\n editable: { mode: \"inline\", confirmation: true }\r\n });\r\n\r\n var grid = $('#manage-capital-grid').data(\"kendoGrid\");\r\n\r\n grid.bind(\"dataBound\", grid_dataBound);\r\n grid.dataSource.sort({ field: \"TimeStamp\", dir: \"desc\" });\r\n}\r\n\r\n// Function: datePickerEditor -----------------------------------------------------------------\r\nfunction datePickerEditor(container, options) {\r\n\r\n var viewmodel = $(\"#reportingEndDateAdd\").get(0).kendoBindingTarget.source;\r\n $('')\r\n .appendTo(container)\r\n .kendoDatePicker({\r\n autoBind: false,\r\n value: new Date(),\r\n format: \"dd/MM/yyyy\",\r\n disableDates: function (date) {\r\n return (date && date.getTime() > (new Date()).getTime());\r\n },\r\n animation: {\r\n close: {\r\n effects: \"fadeOut zoom:out\",\r\n duration: 300\r\n },\r\n open: {\r\n effects: \"fadeIn zoom:in\",\r\n duration: 300\r\n }\r\n }\r\n });\r\n\r\n $('').appendTo(container);\r\n}\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var addData = getFundObject(viewmodel);\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n viewmodel.set(\"userRole\", userRole);\r\n\r\n app.AppFund.add(addData).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Fund successfully created.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n if (userRole == \"Manager\") {\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + data.data + \"&tab=overview\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + data.data.FundId + \"&tab=overview\");\r\n }\r\n \r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: getFundObject --------------------------------------------------------------------\r\nfunction getFundObject(viewmodel) {\r\n\r\n var reportingStart = null;\r\n var reportingEnd = null; \r\n \r\n\r\n if (viewmodel.data.get(\"reportingStartDate\"))\r\n reportingStart = new Date(viewmodel.data.get(\"reportingStartDate\"))\r\n\r\n if (viewmodel.data.get(\"reportingEndDate\"))\r\n reportingEnd = new Date(viewmodel.data.get(\"reportingEndDate\"))\r\n\r\n var capitalData = $('#manage-capital-grid').data(\"kendoGrid\").dataSource.data();\r\n var capitalAmount = getCapitalAmount();\r\n var capitalInput = viewmodel.get(\"data.capitalAmount\");\r\n if (compareGridValues(capitalAmount, capitalInput) == false) {\r\n\r\n capitalData = updateDataSource(capitalData, capitalInput);\r\n }\r\n\r\n var fund = {\r\n\r\n Name: viewmodel.data.get(\"name\"), \r\n StartDate: new Date(viewmodel.data.get(\"startDate\")),\r\n EndDate: new Date(viewmodel.data.get(\"endDate\")), \r\n ReportingStartDate: reportingStart,\r\n ReportingEndDate: reportingEnd, \r\n FundCapitalHistories: buildFundHistory(capitalData, viewmodel),\r\n Vision: viewmodel.data.get(\"vision\"),\r\n Objectives: viewmodel.data.get(\"objectives\"),\r\n Notes: viewmodel.data.get(\"notes\"),\r\n PhaseId: viewmodel.data.get(\"phaseId\")\r\n };\r\n\r\n return fund;\r\n}\r\n\r\n// Function: buildFundHistory -----------------------------------------------------------------------------------\r\nfunction buildFundHistory(data, viewmodel) {\r\n var objReturn = [];\r\n\r\n data.forEach(function (v, i) {\r\n objReturn.push({\r\n FundId: '1',\r\n Amount: v.Amount,\r\n TimeStamp: v.TimeStamp\r\n });\r\n });\r\n\r\n return objReturn;\r\n}\r\n\r\n// Function: updateDataSource -----------------------------------------------------------------------------------\r\nfunction updateDataSource(data, input) {\r\n\r\n var today = new Date();\r\n\r\n var newItem = {};\r\n var dataSource = [data];\r\n\r\n newItem.Amount = input;\r\n newItem.TimeStamp = today;\r\n\r\n dataSource[0].push(newItem);\r\n\r\n\r\n return dataSource[0];\r\n\r\n}\r\n\r\n// Function: compareGridValues ------------------------------------------------------------------------\r\nfunction compareGridValues(data, input) {\r\n if (data) {\r\n if (data.Amount == input) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n \r\n\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams; \r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/fund/closed\", \"Closed\");\r\n bindClosedFunds(viewmodel);\r\n};\r\n\r\n// Function: bindClosedFunds -----------------------------------------------------------------------\r\nfunction bindClosedFunds(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n \r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getClosedFunds().then(\r\n\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n StartDate: { type: \"date\" },\r\n EndDate: { type: \"date\" },\r\n EnterpriseCount: { type: \"number\" },\r\n Phase: { type: \"string\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n data: []\r\n };\r\n\r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n Name: v.Name,\r\n StartDate: v.StartDate,\r\n EndDate: v.EndDate,\r\n EnterpriseCount: v.EnterpriseCount,\r\n FundId: v.FundId\r\n };\r\n if (v.Phase.Name) { pushData.Phase = v.Phase.Name; }\r\n\r\n result.data.push(pushData);\r\n });\r\n\r\n return result;\r\n },\r\n },\r\n pageable: true\r\n });\r\n createGrid(kendoDataSource, viewmodel);\r\n\r\n};\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function alterDisplayedTable(e) {\r\n loadClickEvents();\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#closed-fund-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n serverOperation: false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n },\r\n {\r\n field: \"StartDate\",\r\n title: \"Start Date\",\r\n filterable: {\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n },\r\n {\r\n field: \"EndDate\",\r\n title: \"End Date\",\r\n filterable: {\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n }, {\r\n field: \"EnterpriseCount\",\r\n title: \"Enterprise Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n }, {\r\n field: \"Phase\",\r\n title: \"Phase\",\r\n width: app.AppGrids.getGridColumnWidthSize(\"extraSmall\")\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }],\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n rowTemplate: kendo.template($(\"#closed-fund-list-template\").html())\r\n });\r\n\r\n var grid = $(\"#closed-fund-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: getClosedFunds ------------------------------------------------------------------------\r\nfunction getClosedFunds() {\r\n\r\n var def = $.Deferred();\r\n\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().role;\r\n app.AppFund.getFunds(1, 10000, \" \", \" \", \" \", \"closed\", \" \", userRole).then(\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n \r\n};\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".restoreFund\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"fundName\");\r\n var id = $(this).attr(\"fundId\");\r\n\r\n restoreFund(name, id);\r\n });\r\n\r\n $(\".showPerformance\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var fundId = $(this).parent().attr(\"fundId\");\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + fundId + \"&tab=overview\" + \"&status=closed\");\r\n });\r\n\r\n app.AppGrids.adjustDropdowns();\r\n\r\n};\r\n\r\n\r\n\r\n\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.assignEnterprise = function () { assignEnterprises(this) }\r\n this.startup = function () { startup(this); };\r\n\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n // setTimeout( //delay displaying list because grid is not rendered in time. see Task-10583-377\r\n // function () {\r\n \r\n if ($('#active-enterprise-list-container').data('kendoGrid') == undefined) {\r\n bindActiveEnterprises(viewmodel);\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\",\r\n \"/fund/dashboard/enterprise\",\r\n \"Fund - Enterprise\");\r\n }\r\n // },\r\n // 500);\r\n};\r\n\r\n// Function: bindActiveEnterprises ------------------------------------------------------------------\r\nfunction bindActiveEnterprises(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getActiveEnterprises().then(\r\n function (result) {\r\n options.success(result);\r\n\r\n var grid = $(\"#active-enterprise-list-container\").data(\"kendoGrid\");\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(grid.dataSource.total());\r\n });\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n Industry: { type: \"string\" },\r\n HeadCount: { type: \"number\" },\r\n BbeeLevelId: { type: \"number\" },\r\n Status: { type: \"string\" },\r\n HideEnterpriseFinancialsForCorporates: { type: \"boolean\" },\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n recordsCount: ApiResult.Enterprises.TotalCount,\r\n data: []\r\n };\r\n\r\n ApiResult.Enterprises.forEach(function (v, i) {\r\n var pushData = {\r\n EnterpriseId: v.EnterpriseId,\r\n Name: v.Name,\r\n Logo: v.Logo,\r\n HeadCount: Math.round(v.HeadCount),\r\n Status: v.Status,\r\n HideEnterpriseFinancialsForCorporates: v.HideEnterpriseFinancialsForCorporates,\r\n };\r\n if (v.Industry && v.Industry.Name) { pushData.Industry = v.Industry.Name; }\r\n if (v.Bbee && v.Bbee.BbeeLevelId) { pushData.BbeeLevelId = v.Bbee.BbeeLevelId; }\r\n\r\n result.data.push(pushData);\r\n });\r\n\r\n return result;\r\n }\r\n },\r\n pageable: true\r\n\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n function alterDisplayedTable(e) {\r\n loadClickEvents();\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Corporate\") {\r\n $(\".list-dropdown\").remove();\r\n $(\"#assign-enterprise\").remove();\r\n }\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#active-enterprise-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n filterable: { mode: 'row' },\r\n serverOperation: false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"extraLarge\")\r\n }, {\r\n field: \"Industry\",\r\n title: \"Industry\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n }, {\r\n field: \"HeadCount\",\r\n title: \"Head Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n }\r\n //width: app.AppGrids.getGridColumnWidthSize(\"extraSmall\")\r\n }, {\r\n field: \"BBEELevel\",\r\n title: \"BBEELevel\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n }\r\n //width: app.AppGrids.getGridColumnWidthSize(\"extraSmall\")\r\n }, {\r\n field: \"Status\",\r\n title: \"Status\",\r\n width: app.AppGrids.getGridColumnWidthSize(\"Small\"),\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n }\r\n }, {\r\n title: \" \",\r\n width: 100\r\n }],\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n rowTemplate: kendo.template($(\"#active-enterprise-list-template\").html())\r\n });\r\n\r\n var grid = $(\"#active-enterprise-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: getActiveEnterprises -------------------------------------------------------------------\r\nfunction getActiveEnterprises() {\r\n\r\n var def = $.Deferred();\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppFund.getActiveEnterprisesByFund(fundId, 1, 10000, \" \", null, null, null).then(\r\n\r\n function (data) {\r\n $(\"#main-page-title\").text(data.FundName.toUpperCase());\r\n $(\"#fund_name\").text(data.FundName);\r\n if (app.AppRouter.getCurrentRoute().params.enterprise) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/enterprise/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.enterprise + \"&tab=overview\");\r\n }\r\n\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n\r\n def.reject(error);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".removeEnterprise\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"enterpriseName\");\r\n var id = $(this).attr(\"enterpriseId\");\r\n\r\n removeEnterprise(name, id);\r\n });\r\n\r\n $(\".showPerformance\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n var enterpriseId = $(this).parent().attr(\"enterpriseId\");\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n var hideEnterpriseDetails = $(this).parent().attr(\"HideEnterpriseFinancialsForCorporates\");\r\n var isCorporateUser = app.AppUser.userCurrent.getCurrentUser().userRole === \"Corporate\";\r\n\r\n if (hideEnterpriseDetails === \"true\" && isCorporateUser) {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=overview&fund=\" + fundId);\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=overview&fund=\" + fundId);\r\n }\r\n\r\n });\r\n\r\n $(\".markEnterpriseAsInActive\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n var name = $(this).attr(\"enterpriseName\");\r\n var enterpriseId = $(this).attr(\"enterpriseId\");\r\n deactivateEntperiseOnFund(name, enterpriseId);\r\n });\r\n\r\n $(\".markEnterpriseAsActive\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n var name = $(this).attr(\"enterpriseName\");\r\n var enterpriseId = $(this).attr(\"enterpriseId\");\r\n activateEntperiseOnFund(name, enterpriseId);\r\n });\r\n\r\n app.AppGrids.adjustDropdowns();\r\n};\r\n\r\n// Function: removeEnterprise -----------------------------------------------------------------------\r\nfunction removeEnterprise(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n removeConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppFund.removeEnterprise(fundId, id).then(\r\n\r\n function (data) {\r\n $('#active-enterprise-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise successfully unassigned.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n// Function: removeConfirm --------------------------------------------------------------------------\r\nfunction removeConfirm(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"removeConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to remove \" + enterprise + \" from this fund?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction deactivateEntperiseOnFund(name, enterpriseId) {\r\n\r\n var def = new $.Deferred();\r\n\r\n deactivationOfEnterpriseOnFundConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppProgrammeFundEnterpriseShared.updateEnterpriseStatusOnFund(enterpriseId, fundId, \"Inactive\").then(\r\n\r\n function (data) {\r\n $('#active-enterprise-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n// Function: removeConfirm --------------------------------------------------------------------------\r\nfunction deactivationOfEnterpriseOnFundConfirm(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"removeConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to deactivate \" + enterprise + \" from this fund?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction activateEntperiseOnFund(name, enterpriseId) {\r\n\r\n var def = new $.Deferred();\r\n\r\n activationOfEnterpriseOnFundConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppProgrammeFundEnterpriseShared.updateEnterpriseStatusOnFund(enterpriseId, fundId, \"Active\").then(\r\n\r\n function (data) {\r\n $('#active-enterprise-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise successfully activated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n// Function: removeConfirm --------------------------------------------------------------------------\r\nfunction activationOfEnterpriseOnFundConfirm(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"removeConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to activate \" + enterprise + \" from this fund?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: assignEnterprises ----------------------------------------------------------------------\r\nfunction assignEnterprises(viewmodel) {\r\n\r\n getAssignEnterpriseList(viewmodel).then(\r\n\r\n function (enterpriseList) {\r\n\r\n if (enterpriseList && enterpriseList.length > 0)\r\n AddEnterprisesToFund(viewmodel, enterpriseList);\r\n });\r\n};\r\n\r\n// Function: assignEnterprises ----------------------------------------------------------------------\r\nfunction getAssignEnterpriseList(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var showIn = \"assign-enterprise-modal-container\";\r\n\r\n var entityId = app.AppRouter.getCurrentRoute().params.id;\r\n var entity = \"fund\";\r\n\r\n app.AppDialog.showAssignEnterprises(showIn, entity, entityId).then(\r\n\r\n function (result) {\r\n def.resolve(result);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: AddEnterprisesToFund -------------------------------------------------------------------\r\nfunction AddEnterprisesToFund(viewmodel, enterpriseList) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n var promises = [];\r\n var addPromise;\r\n\r\n enterpriseList.forEach(function (enterpriseId, index) {\r\n\r\n addPromise = app.AppFund.addEnterprise(fundId, enterpriseId);\r\n promises.push(addPromise);\r\n\r\n });\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n\r\n $('#active-enterprise-list-container').data('kendoGrid').dataSource.read();\r\n\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprises successfully assigned.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n def.resolve();\r\n },\r\n function () {\r\n\r\n var errorData = {\r\n title: \"Sorry!\",\r\n message: \"An error has occurred while assigning enterprises. Please try again, and if the problem persists, please contact support.\"\r\n };\r\n\r\n app.AppNotify.showError(errorData);\r\n def.reject();\r\n });\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/fund/dashboard/news\", \"Fund - News\");\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/fund/fund\");\r\nvar metricsModel = require(\"app_mvvm_models/custom/common/fund-programme/performance\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n console.log(this);\r\n console.log(argsParams);\r\n this.data = new model();\r\n //START Performance\r\n this.type = argsParams.type;\r\n this.metricsModel = new metricsModel();\r\n this.colors = app.AppDashboardColors.get();\r\n this.missingChartDataPointList = [];\r\n this.Id = \"\";\r\n this.fundName = \"\";\r\n this.programmeName = \"\";\r\n this.isDashboardVisible = false;\r\n this.isPercentageEnable = false;\r\n this.isChartVisible = false;\r\n this.isBreakdownVisible = false;\r\n this.datePickersAllMonths = [];\r\n this.datePickerStartDateValidMonths = [];\r\n this.isDataPointsMissingMessageVisible = false;\r\n this.navigateToPerformanceListPage = function () { navigateToPerformanceListPage(this); };\r\n this.HideChartLineClick = function () { HideChartLineClick(this); };\r\n this.toggleCalendarIcon = function () { toggleCalendarIcon(this); };\r\n this.loadWagrModal = function () { loadWagrModal(this); };\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n\r\n this.isCompareActive = false;\r\n this.loadProcurementSpendGrowthWagrModal = function () { loadProcurementSpendGrowthWagrModal(this); };\r\n this.loadProfitGrowthWagrModal = function () { loadProfitGrowthWagrModal(this); };\r\n //END Performance\r\n this.projectManagers = [];\r\n this.corporates = [];\r\n this.fundProgress = \"\";\r\n this.showReportingDates = false;\r\n this.argsParams = argsParams;\r\n this.isAdmin = false;\r\n this.showEdit = false;\r\n this.editFundLink = function () { return \"#/fund/edit?id=\" + this.data.get(\"Id\"); }\r\n this.addManager = function () { addManager(this); };\r\n this.addCorporate = function () { addCorporate(this); };\r\n // this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n this.startup = function () { startup(this); };\r\n\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n setDashboardDefault(viewmodel);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n var dateFromQueryString = app.AppRouter.getCurrentRoute().params.startDate;\r\n var dateToQueryString = app.AppRouter.getCurrentRoute().params.endDate;\r\n\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role === \"Corporate\") {\r\n viewmodel.set(\"isCorporate\", true);\r\n } else {\r\n viewmodel.set(\"isCorporate\", false);\r\n } \r\n\r\n if (fundId) {\r\n\r\n viewmodel.set(\"Id\", fundId);\r\n\r\n getFund(fundId).then(\r\n function (data) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/fund/dashboard/overview\", \"Fund - Overview\");\r\n setFund(viewmodel, data);\r\n\r\n app.AppDashboard.getFundProgrammeDashboardDatePickerValidMonths(viewmodel.type, fundId).then(\r\n function (resultValidMonths) {\r\n\r\n var dateRange = app.AppDashboard.datePickerValuesSetShared(viewmodel, resultValidMonths, dateFromQueryString, dateToQueryString);\r\n if (!dateRange) return;\r\n\r\n loadDashboard(viewmodel, dateRange.startDate, dateRange.endDate);\r\n\r\n $('body').off('onChangeCalendarEvent');\r\n $(\"body\").on(\"onChangeCalendarEvent\", function (event, data) {\r\n app.AppLoading.show(\"Loading...\", null, true);\r\n loadDashboard(data.viewmodel, data.startDate, data.endDate);\r\n });\r\n });\r\n //def.resolve();\r\n\r\n //if (data.Status.toLowerCase() === \"active\" || data.Status.toLowerCase() === \"pending\") {\r\n // \r\n // } else {\r\n //\r\n // var invalid = {\r\n // title: \"Sorry!\",\r\n // message: \"Fund \" + data.Name + \" is not active in the system.\"\r\n // };\r\n // app.AppNotify.showError(invalid);\r\n // def.reject();\r\n // app.AppRouter.router.navigate(\"/funds\");\r\n // }\r\n // def.resolve();\r\n },\r\n\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n //app.AppRouter.router.navigate(\"/enterprises\");\r\n });\r\n\r\n } else {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to view fund overview.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/funds\");\r\n }\r\n};\r\n\r\nfunction setDashboardDefault(viewmodel) {\r\n viewmodel.metricsModel.set(\"netJobs\", 0);\r\n viewmodel.metricsModel.set(\"jobsCreated\", 0);\r\n viewmodel.metricsModel.set(\"supportProvided\", 0);\r\n viewmodel.metricsModel.set(\"capitalDeployed\", 0);\r\n viewmodel.metricsModel.set(\"revenue\", 0);\r\n viewmodel.metricsModel.set(\"revenueGrowth\", 0);\r\n viewmodel.metricsModel.set(\"headcount\", 0);\r\n viewmodel.metricsModel.set(\"headcountGrowth\", 0);\r\n viewmodel.metricsModel.set(\"profit\", 0);\r\n viewmodel.metricsModel.set(\"profitGrowth\", 0);\r\n viewmodel.metricsModel.set(\"procurementspend\", 0);\r\n viewmodel.metricsModel.set(\"procurementSpendGrowthRate\", 0);\r\n}\r\n\r\n\r\n// Function: getFund --------------------------------------------------------------------------------\r\nfunction getFund(fundId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppFund.getFundById(fundId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setFund --------------------------------------------------------------------------------\r\nfunction setFund(viewmodel, fund) {\r\n\r\n //a bit hacky but gets the work done.\r\n $(\"#main-page-title\").text(fund.Name.toUpperCase());\r\n\r\n if (app.AppRouter.getCurrentRoute().params.enterprise) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/enterprise/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.enterprise + \"&tab=overview\");\r\n }\r\n\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Administrator\" ||\r\n loggedInUserRole === \"Super Admin\" ||\r\n loggedInUserRole === \"Manager\") {\r\n viewmodel.set(\"isAdmin\", true);\r\n }\r\n\r\n if (viewmodel.get(\"isAdmin\") || loggedInUserRole === \"Manager\") {\r\n viewmodel.set(\"showEdit\", true);\r\n }\r\n\r\n viewmodel.data.set(\"Id\", fund.FundId);\r\n viewmodel.data.set(\"name\", fund.Name);\r\n viewmodel.set(\"status\", fund.Status);\r\n viewmodel.data.set(\"startDate\", kendo.toString(new Date(fund.StartDate), \"D\"));\r\n viewmodel.data.set(\"endDate\", kendo.toString(new Date(fund.EndDate), \"D\"));\r\n\r\n var reportingStart = \"\";\r\n var reportingEnd = \"\";\r\n\r\n if (fund.ReportingStartDate)\r\n reportingStart = kendo.toString(new Date(fund.ReportingStartDate), \"D\")\r\n\r\n if (fund.ReportingEndDate)\r\n reportingEnd = kendo.toString(new Date(fund.ReportingEndDate), \"D\")\r\n\r\n viewmodel.data.set(\"reportingStartDate\", reportingStart);\r\n viewmodel.data.set(\"reportingEndDate\", reportingEnd);\r\n\r\n \r\n setCapital(viewmodel, fund); \r\n\r\n viewmodel.data.set(\"notes\", fund.Notes);\r\n viewmodel.data.set(\"vision\", fund.Vision);\r\n viewmodel.data.set(\"objectives\", fund.Objectives);\r\n viewmodel.set(\"projectManagers\", fund.ProjectManagers);\r\n viewmodel.set(\"corporates\", fund.Corporates);\r\n viewmodel.set(\"phase\", fund.Phase.Name);\r\n\r\n var fundProgress = calculateFundProgress(fund.StartDate, fund.EndDate);\r\n viewmodel.set(\"fundProgress\", fundProgress)\r\n $(\"div.progress-bar\").width(fundProgress + \"%\");\r\n\r\n\r\n if (fund.ReportingStartDate && fund.ReportingEndDate)\r\n {\r\n viewmodel.set(\"showReportingDates\", true);\r\n $(\".reporting-dates-container\").css(\"display\", \"block\");\r\n\r\n $(\"span.report-start\").css(\"padding-left\", getReportingStartPosition(fund) + \"%\");\r\n\r\n $(\"span.report-end\").css(\"padding-left\", getReportinEndPosition(fund) + \"%\");\r\n }\r\n \r\n createPMListView(viewmodel);\r\n createCorporatesListView(viewmodel);\r\n};\r\n\r\n// Function: setCapital ------------------------------------------------------------------\r\nfunction setCapital(viewmodel, fund) { \r\n \r\n var capital = app.AppDashboard.getBudgetCapitalMaxValue(fund.FundCapitalHistories);\r\n var capitalCommitted = fund.CapitalCommittedTotal;\r\n var capitalDeployed = fund.CapitalDeployedTotal;\r\n\r\n\r\n if (viewmodel.get(\"isCorporate\")) {\r\n viewmodel.data.set(\"capital\", false);\r\n } else {\r\n if (!capital) {\r\n viewmodel.data.set(\"capital\", \"0\");\r\n } else {\r\n viewmodel.data.set(\"capital\", kendo.toString(capital.Amount, 'n0'));\r\n viewmodel.data.set(\"capitalDate\", new Date(capital.TimeStamp));\r\n }\r\n }\r\n \r\n\r\n if (!capitalCommitted){\r\n viewmodel.data.set(\"capitalCommitted\", \"0\");\r\n } else {\r\n viewmodel.data.set(\"capitalCommitted\", kendo.toString(capitalCommitted, 'n0'));\r\n }\r\n\r\n if (!capitalDeployed) {\r\n viewmodel.data.set(\"capitalDeployed\", \"0\");\r\n } else {\r\n viewmodel.data.set(\"capitalDeployed\", kendo.toString(capitalDeployed, 'n0'));\r\n }\r\n};\r\n\r\n// Function: calculateFundProgress ------------------------------------------------------------------\r\nfunction calculateFundProgress(startDate, endDate) {\r\n\r\n var fundTotalDays = getTotalDays(startDate, endDate);\r\n var fundRemainderDays = getFundRemainderDays(startDate, endDate);\r\n\r\n var progressRemainder = Math.round((fundRemainderDays / fundTotalDays) * 100);\r\n\r\n var fundProgress = 0;\r\n\r\n if (progressRemainder != 0 && progressRemainder != 100) {\r\n fundProgress = 100 - progressRemainder\r\n\r\n } else {\r\n fundProgress = progressRemainder;\r\n }\r\n\r\n return fundProgress;\r\n};\r\n\r\n// Function: getTotalDays ---------------------------------------------------------------------------\r\nfunction getTotalDays(startDate, endDate) {\r\n\r\n var start = moment(startDate);\r\n var end = moment(endDate);\r\n\r\n return end.diff(start, \"days\") + 1;\r\n};\r\n\r\n// Function: getFundRemainderDays -------------------------------------------------------------------\r\nfunction getFundRemainderDays(startDate, endDate) {\r\n\r\n var current = moment();\r\n var start = moment(startDate);\r\n var end = moment(endDate);\r\n\r\n if (current.isBefore(start)) { //our fund did not start yet.\r\n return 0;\r\n\r\n } else if (current.isAfter(end)) { //our fund ended.\r\n return end.diff(start, \"days\") + 1;\r\n\r\n } else {\r\n return end.diff(current, \"days\") + 1;\r\n }\r\n};\r\n\r\n// Function: getFundRemainderDays -------------------------------------------------------------------\r\nfunction getReportingStartPosition(fund) {\r\n\r\n var width\r\n var start = moment(fund.StartDate);\r\n var end = moment(fund.EndDate);\r\n var reportStart = moment(fund.ReportingStartDate); \r\n\r\n var totalFundDays = getTotalDays(start, end);\r\n var totalDays = getTotalDays(start, reportStart);\r\n\r\n if (totalDays === 1) //start dates are the same.\r\n return 0;\r\n\r\n return Math.round((totalDays / totalFundDays) * 100) - 0.3;\r\n};\r\n\r\n// Function: getReportinEndPosition -----------------------------------------------------------------\r\nfunction getReportinEndPosition(fund) {\r\n\r\n var start = moment(fund.StartDate);\r\n var end = moment(fund.EndDate); \r\n var reportEnd = moment(fund.ReportingEndDate);\r\n\r\n var totalFundDays = getTotalDays(start, end);\r\n var totalDays = getTotalDays(start, reportEnd);\r\n\r\n if (totalDays === 1) //reporting end date is the same as start date.\r\n return 0;\r\n\r\n return Math.round((totalDays / totalFundDays) * 100) - 0.3;\r\n};\r\n\r\n// Function: createPMListView -----------------------------------------------------------------------\r\nfunction createPMListView(viewmodel) {\r\n\r\n var template = kendo.template($(\"#project-manager-template\").html());\r\n var data = viewmodel.get(\"projectManagers\");\r\n var result = kendo.render(template, data);\r\n $(\"#project-manager-container\").html(result);\r\n if (viewmodel.get(\"isAdmin\")) {\r\n loadPMClickEvents(viewmodel);\r\n\r\n } else {\r\n \r\n $(\"div.metric\").css(\"cursor\", \"default\");\r\n $(\"#add-project-manager\").remove();\r\n $(\".metric-menu\").remove();\r\n }\r\n \r\n};\r\n\r\n// Function: loadPMClickEvents ----------------------------------------------------------------------\r\nfunction loadPMClickEvents(viewmodel) {\r\n\r\n $(\".remove\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var manager = {\r\n Name: $(this).attr(\"PMName\"),\r\n Id: $(this).attr(\"PMId\")\r\n };\r\n\r\n removeManager(manager, viewmodel);\r\n });\r\n\r\n $(\".makeLead\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var PM = {\r\n Name: $(this).attr(\"PMName\"),\r\n Id: $(this).attr(\"PMId\")\r\n };\r\n\r\n makeLeadManager(PM, viewmodel);\r\n });\r\n\r\n};\r\n\r\n// Function: addManager -----------------------------------------------------------------------------\r\nfunction addManager(viewmodel) {\r\n\r\n getAssignManagerList(viewmodel).then(\r\n\r\n function (managerList) {\r\n\r\n if (managerList && managerList.length > 0)\r\n AddManagersToFund(viewmodel, managerList);\r\n });\r\n};\r\n\r\n// Function: getAssignManagerList -------------------------------------------------------------------\r\nfunction getAssignManagerList(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var showIn = \"assign-pm-modal-container\";\r\n\r\n var entityId = app.AppRouter.getCurrentRoute().params.id;\r\n var entity = \"fund\";\r\n\r\n app.AppDialog.showAssignProjectManagers(showIn, entity, entityId).then(\r\n\r\n function (result) {\r\n def.resolve(result);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: AddManagersToFund ----------------------------------------------------------------------\r\nfunction AddManagersToFund(viewmodel, managerList) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n var promises = [];\r\n var addPromise;\r\n\r\n managerList.forEach(function (managerId, index) {\r\n\r\n addPromise = app.AppFund.addProjectManager(fundId, managerId);\r\n promises.push(addPromise);\r\n\r\n });\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n\r\n def.resolve();\r\n startup(viewmodel);\r\n var success = {\r\n title: \"Success\",\r\n message: \"Managers successfully assigned.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n \r\n },\r\n function () {\r\n\r\n var errorData = {\r\n title: \"Sorry!\",\r\n message: \"An error has occurred while assigning managers. Please try again, and if the problem persists, please contact support.\"\r\n };\r\n\r\n app.AppNotify.showError(errorData);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: removeManager --------------------------------------------------------------------------\r\nfunction removeManager(manager, viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n removeManagerConfirm(manager.Name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppFund.removeProjectManager(fundId, manager.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n startup(viewmodel)\r\n var success = {\r\n title: \"Success\",\r\n message: manager.Name + \" successfully removed.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: removeManagerConfirm -------------------------------------------------------------------\r\nfunction removeManagerConfirm(manager) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to remove \" + manager + \" from fund?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: makeLeadManager ------------------------------------------------------------------------\r\nfunction makeLeadManager(manager, viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n makeLeadManagerConfirm(manager.Name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppFund.makeLeadProjectManager(fundId, manager.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n startup(viewmodel)\r\n var success = {\r\n title: \"Success\",\r\n message: manager.Name + \" successfully made lead.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: makeLeadManagerConfirm -----------------------------------------------------------------\r\nfunction makeLeadManagerConfirm(manager) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to make \" + manager + \" the lead manager?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: createCorporatesListView ---------------------------------------------------------------\r\nfunction createCorporatesListView(viewmodel) {\r\n\r\n var template = kendo.template($(\"#corporates-template\").html());\r\n var data = viewmodel.get(\"corporates\");\r\n var result = kendo.render(template, data);\r\n $(\"#corporates-container\").html(result);\r\n\r\n if (viewmodel.get(\"isAdmin\")) {\r\n loadCorporatesClickEvents(viewmodel);\r\n\r\n } else {\r\n\r\n $(\"div.metric\").css(\"cursor\", \"default\");\r\n $(\"#add-corporate\").remove();\r\n $(\".metric-menu\").remove();\r\n }\r\n};\r\n\r\n// Function: loadCorporatesClickEvents --------------------------------------------------------------\r\nfunction loadCorporatesClickEvents(viewmodel) {\r\n\r\n $(\".removeCorporate\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var corporate = {\r\n Name: $(this).attr(\"CorporateName\"),\r\n Id: $(this).attr(\"CorporateId\")\r\n };\r\n\r\n removeCorporate(corporate, viewmodel);\r\n });\r\n};\r\n\r\n// Function: addCorporate ---------------------------------------------------------------------------\r\nfunction addCorporate(viewmodel) {\r\n\r\n getAssignCorporateList(viewmodel).then(\r\n\r\n function (corporateList) {\r\n\r\n if (corporateList && corporateList.length > 0)\r\n AddCorporatesToFund(viewmodel, corporateList);\r\n });\r\n};\r\n\r\n// Function: getAssignCorporateList -----------------------------------------------------------------\r\nfunction getAssignCorporateList(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var showIn = \"assign-corporate-modal-container\";\r\n\r\n var entityId = app.AppRouter.getCurrentRoute().params.id;\r\n var entity = \"fund\";\r\n\r\n app.AppDialog.showAssignCorporates(showIn, entity, entityId).then(\r\n\r\n function (result) {\r\n def.resolve(result);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: AddCorporatesToFund --------------------------------------------------------------------\r\nfunction AddCorporatesToFund(viewmodel, corporateList) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n var promises = [];\r\n var addPromise;\r\n\r\n corporateList.forEach(function (corporateId, index) {\r\n\r\n addPromise = app.AppFund.addCorporate(fundId, corporateId);\r\n promises.push(addPromise);\r\n\r\n });\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n\r\n def.resolve();\r\n startup(viewmodel);\r\n var success = {\r\n title: \"Success\",\r\n message: \"Corporates successfully assigned.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n function () {\r\n\r\n var errorData = {\r\n title: \"Sorry!\",\r\n message: \"An error has occurred while assigning corporates. Please try again, and if the problem persists, please contact support.\"\r\n };\r\n\r\n app.AppNotify.showError(errorData);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: removeCorporate ------------------------------------------------------------------------\r\nfunction removeCorporate(corporate, viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n removeCorporateConfirm(corporate.Name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppFund.removeCorporate(fundId, corporate.Id).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n startup(viewmodel)\r\n var success = {\r\n title: \"Success\",\r\n message: corporate.Name + \" successfully removed.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: removeCorporateConfirm -----------------------------------------------------------------\r\nfunction removeCorporateConfirm(corporate) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to remove \" + corporate + \" from fund?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n//PERFORMANCE code\r\nfunction navigateToPerformanceListPage() {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.get(\"enterpriseId\") + \"&tab=reports\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/reports\");\r\n }\r\n}\r\n\r\nfunction toggleCalendarIcon(viewmodel) {\r\n\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-down');\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-up');\r\n\r\n}\r\n\r\nfunction loadWagrModal() {\r\n\r\n var showModal = \"fund-programme-dashboard-wagr-breakdown\";\r\n app.AppDialog.showWagrReportBreakdown(showModal);\r\n\r\n}\r\n\r\nfunction loadProcurementSpendGrowthWagrModal() {\r\n var showModal = \"dashboard-procurement-growth-wagr-report-breakdown\";\r\n app.AppDialog.showProcurementGrowthWagrReportBreakdown(showModal);\r\n\r\n}\r\n\r\nfunction loadProfitGrowthWagrModal() {\r\n var showModal = \"dashboard-profit-growth-wagr-report-breakdown\";\r\n app.AppDialog.showProfitGrowthWagrReportBreakdown(showModal);\r\n}\r\n\r\nfunction loadDashboard(viewmodel, startDate, endDate) {\r\n\r\n var metricPromise = getMetricData(viewmodel, startDate, endDate);\r\n var gridPromise = getGridData(viewmodel, startDate, endDate);\r\n var chartPromise = getChartData(viewmodel, startDate, endDate);\r\n \r\n var startDate = getDateString(startDate);\r\n var endDate = getDateString(endDate);\r\n viewmodel.metricsModel.set(\"startDate\", startDate);\r\n viewmodel.metricsModel.set(\"endDate\", endDate);\r\n \r\n $.when(metricPromise, gridPromise, chartPromise).done(\r\n function (metricData, gridData, chartData) {\r\n \r\n loadClickEvents(viewmodel);\r\n \r\n var type = viewmodel.get(\"type\");\r\n loadExportGrid(type, viewmodel, gridData);\r\n \r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n app.AppHelper.setTourCache(data);\r\n //console.log(\"retrieved all lists from api\");\r\n app.AppHelper.startHelper(viewmodel, \"Dashboard\", false);\r\n },\r\n function () {\r\n console.log(\"retrieving all lists failed\");\r\n });\r\n \r\n \r\n app.AppLoading.hide();\r\n //Resize Chart for headcount axis to fit properly\r\n kendo.resize($(\"#chart\"));\r\n \r\n }).fail(function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n app.AppLoading.hide();\r\n });\r\n\r\n};\r\n\r\nfunction loadExportGrid(userType, viewmodel, gridData) {\r\n if (userType !== \"dashboard\") {\r\n app.AppGrids.buildExportGridFundProgramme(viewmodel, gridData);\r\n } else {\r\n app.AppGrids.buildExportGridEdgeDashboard(viewmodel, gridData.BreakdownData);\r\n }\r\n}\r\n\r\n// Function: toggleGridMergedValues -------------------------------------------------------------------------- Check for refactor\r\nfunction toggleGridMergedValues(viewmodel) {\r\n\r\n app.AppLoading.show(\"Loading...\", null, true);\r\n var type = viewmodel.get(\"type\");\r\n\r\n var id = viewmodel.get(\"Id\");\r\n\r\n app.AppDashboard.getPerformanceGrid(id, viewmodel, type).then(\r\n function (result) {\r\n\r\n bindGridData(viewmodel, result).then(\r\n function () {\r\n app.AppLoading.hide();\r\n },\r\n function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n app.AppLoading.hide();\r\n });\r\n },\r\n function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n app.AppLoading.hide();\r\n });\r\n\r\n};\r\n\r\n// Function: getDateString --------------------------------------------------------------------------\r\nfunction getDateString(dateString) {\r\n\r\n var str_array = dateString.split('/');\r\n\r\n switch (str_array[0]) {\r\n case '01': str_array[0] = 'Jan '; break;\r\n case '02': str_array[0] = 'Feb '; break;\r\n case '03': str_array[0] = 'Mar '; break;\r\n case '04': str_array[0] = 'Apr '; break;\r\n case '05': str_array[0] = 'May '; break;\r\n case '06': str_array[0] = 'Jun '; break;\r\n case '07': str_array[0] = 'Jul '; break;\r\n case '08': str_array[0] = 'Aug '; break;\r\n case '09': str_array[0] = 'Sep '; break;\r\n case '10': str_array[0] = 'Oct '; break;\r\n case '11': str_array[0] = 'Nov '; break;\r\n case '12': str_array[0] = 'Dec '; break;\r\n }\r\n dateString = (str_array[0] + str_array[1]);\r\n\r\n return dateString;\r\n}\r\n\r\n// Function: navigateToPerformanceListPage ----------------------------------------------------------\r\nfunction navigateToPerformanceListPage() {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.get(\"enterpriseId\") + \"&tab=reports\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/reports\");\r\n }\r\n}\r\n\r\n//// Function: calenderSetup --------------------------------------------------------------------------\r\n//function calenderSetup(viewmodel, startDate, endDate) {\r\n// $(\"#calendar-start\").kendoCalendar({\r\n// depth: \"year\",\r\n// start: \"year\",\r\n// footer: false,\r\n// value: new Date(2016, 1, 1)\r\n// });\r\n\r\n// $(\"#calendar-end\").kendoCalendar({\r\n// depth: \"year\",\r\n// start: \"year\",\r\n// footer: false,\r\n// value: new Date(2016, 11, 1)\r\n// });\r\n//}\r\n\r\n// Function: getChartData ---------------------------------------------------------------------------\r\nfunction getChartData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var colours = viewmodel.get(\"colors\");\r\n var id = viewmodel.get(\"Id\");\r\n var type = viewmodel.get(\"type\");\r\n var isCorporate = viewmodel.get(\"isCorporate\")\r\n\r\n app.AppDashboard.getFundProgrammePerformanceChart(type, id, startDate, endDate, isCorporate).then(\r\n function (result) {\r\n var arrayData = result.MonthlyChartPerformances;\r\n bindChartData(result, colours, viewmodel);\r\n setupHideChartLineClick(viewmodel);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: hideChartLine -------------------------------------------------------------------------- //refactorz\r\nfunction setupHideChartLineClick(viewmodel) {\r\n\r\n $('.chart-series-line-icon').off('click');\r\n\r\n $(\".chart-series-line-icon\").click(function (e) {\r\n\r\n if (viewmodel.get(\"isChartVisible\")) { //only when graph is available.\r\n\r\n var targetClass = $(e.target).attr('class');\r\n if (!targetClass) targetClass = \"card\";\r\n if ($(e.target).hasClass(\"mini-help\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"mini-plus\") || targetClass.indexOf(\"popover\") > -1) return;\r\n\r\n console.log('Reached click handler...');\r\n\r\n var dataLine = $(this).data(\"seriesname\");\r\n\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n } else {\r\n var chart = $(\"#chart-corporate\").data(\"kendoChart\");\r\n }\r\n\r\n\r\n $(this).find(\".metric-icon\").toggleClass(\"active\");\r\n $(this).toggleClass(\"active\");\r\n\r\n if (chart) {\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === dataLine;\r\n })[0];\r\n\r\n seriesObj.visible = !seriesObj.visible;\r\n chart.redraw();\r\n }\r\n }\r\n });\r\n}\r\n\r\n\r\n// Function: createChart ----------------------------------------------------------------------------\r\nfunction createChart(data, colours, viewmodel) {\r\n\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n var isCorporate = viewmodel.get(\"isCorporate\");\r\n const maxLabels = 13;\r\n const step = Math.ceil(data.MonthlyChartPerformances.length / maxLabels);\r\n\r\n //Display different chart for Corporate Users\r\n if (isCorporate) {\r\n\r\n if (isPercentageEnable == false) {\r\n\r\n $(\"#chart-corporate\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers: {\r\n visible: false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.Revenue\",\r\n name: \"Revenue\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: data.ShowChartLineRevenueGrowth,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpend\",\r\n name: \"Procurement Spend\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Headcount\",\r\n name: \"Headcount\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n format: \"{0}\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"# if(series.name != 'Headcount'){# R#: kendo.toString(value,'n0') + ' (' + series.name #) #} else {##: kendo.toString(value,'n0')+ ' (' + series.name #) #} #\"\r\n }\r\n\r\n\r\n });\r\n\r\n } else {\r\n\r\n $(\"#chart-corporate\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers: {\r\n visible: false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.RevenueGrowthRateWeightedAverage\",\r\n name: \"Weighted Revenue Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: data.ShowChartLineRevenueGrowth,\r\n axis: \"Revenue\"\r\n\r\n }, {\r\n field: \"Performance.ProcurementSpendGrowthRateWeightedAverage\",\r\n name: \"Weighted Procurement Spend Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.HeadcountGrowthRateWeightedAverage\",\r\n name: \"Weighted Headcount Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n },\r\n {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: 10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#: category #
    #: value #% (#= series.name #)\" //#=dataItem.ProcurementSpend#\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n } else {\r\n\r\n if (isPercentageEnable == false) {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers: {\r\n visible: false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.Revenue\",\r\n name: \"Revenue\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: data.ShowChartLineRevenueGrowth,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Profit\",\r\n name: \"Profit\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProfitGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpend\",\r\n name: \"Procurement Spend\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Headcount\",\r\n name: \"Headcount\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) #\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n //template: \"# if(1 == 2){# R #} else {# H #} #\" \r\n template: \"#= category #
    # # # if(series.name != 'Headcount'){# R#: kendo.toString(value,'n0') + ' (' + series.name #) #} else {##: kendo.toString(value,'n0')+ ' (' + series.name #) #} #\"\r\n }\r\n });\r\n\r\n } else {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\",\r\n markers: {\r\n visible: false\r\n }\r\n },\r\n series: [{\r\n field: \"Performance.RevenueGrowthRateWeightedAverage\",\r\n name: \"Weighted Revenue Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: data.ShowChartLineRevenueGrowth,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProfitGrowthRateWeightedAverage\",\r\n name: \"Weighted Profit Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProfitGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpendGrowthRateWeightedAverage\",\r\n name: \"Weighted Procurement Spend Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.HeadcountGrowthRateWeightedAverage\",\r\n name: \"Weighted Headcount Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\",\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n },\r\n {\r\n name: \"Headcount\",\r\n labels: {\r\n template: \"#= shortenLabels(value) # %\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: 10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\",\r\n step: step\r\n },\r\n justified: true,\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#: category #
    #: value #% (#= series.name #)\" //#=dataItem.ProcurementSpend#\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n// Function: reloadChart --------------------------------------------------------------------------\r\nfunction reloadChart(viewmodel) {\r\n // MAGIC \r\n var calendarStart = viewmodel.get(\"calendarStartDate\");\r\n var calendarEnd = viewmodel.get(\"calendarEndDate\");\r\n var startDate = kendo.toString(calendarStart, \"MM/yyyy\");\r\n var endDate = kendo.toString(calendarEnd, \"MM/yyyy\");\r\n var id = viewmodel.get(\"Id\");\r\n var calendarType = \"selection\";\r\n\r\n var data = {\r\n viewmodel: viewmodel,\r\n id: id,\r\n startDate: startDate,\r\n endDate: endDate\r\n }\r\n $(\"body\").trigger('onChangeCalendarEvent', data);\r\n\r\n}\r\n\r\n// Function: showChartDataNodeNotAvailable ----------------------------------------------------------\r\nfunction showChartDataNodeNotAvailable(data, colours, viewmodel) {\r\n var missingDataPoints = false;\r\n for (var i = 0; i < data.length; i++) {\r\n var item = data[i];\r\n if (item.Performance == null || item.Performance.RevenueGrowth == null || item.Performance.ProfitGrowth == null || item.Performance.ProcurementSpend == null) {\r\n missingDataPoints = true;\r\n break;\r\n }\r\n }\r\n\r\n if (missingDataPoints) {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", true);\r\n } else {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", false);\r\n }\r\n\r\n}\r\n\r\n// Function: bindChartData --------------------------------------------------------------------------\r\nfunction bindChartData(data, colours, viewmodel) {\r\n if (data.ShowChart === true) {\r\n viewmodel.set(\"isChartVisible\", true);\r\n $(document).bind(\"kendo:skinChange\", createChart(data, colours, viewmodel));\r\n $(window).resize(function () {\r\n $(\"#chart\").data(\"kendoChart\").resize();\r\n $(\"#chart-corporate\").data(\"kendoChart\").resize();\r\n });\r\n\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable == true) {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpendGrowthRateWeightedAverage\");\r\n } else {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpend\");\r\n }\r\n\r\n\r\n showChartDataNodeNotAvailable(data.MonthlyChartPerformances, colours, viewmodel);\r\n\r\n }\r\n}\r\n\r\n// Function: hideLinesNotShownByDefault -------------------------------------------------------------\r\nfunction hideLinesNotShownByDefault(hideline) { //todo should be array probably of lines\r\n if (!viewmodel.get(isCorporate)) {\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n } else {\r\n var chart = $(\"#chart-corporate\").data(\"kendoChart\");\r\n }\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === hideline;\r\n })[0];\r\n seriesObj.visible = false;\r\n chart.redraw();\r\n}\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents(viewmodel) {\r\n\r\n $(\".sme-percentage\").off(\"click\");\r\n $(\".sme-percentage\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n console.log(viewmodel);\r\n var def = $.Deferred();\r\n app.AppDashboard.getBOTBreakdownfile(viewmodel.Id, viewmodel.type).then(\r\n function (result) {\r\n //def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n });\r\n\r\n\r\n console.log(viewmodel.status);\r\n\r\n if (viewmodel.status == 'Active') {\r\n\r\n $(\".showPerformance\").off(\"click\");\r\n $(\".showPerformance\").on('click', function (e) {\r\n\r\n var EnterpriseId = $(this).attr(\"EnterpriseId\"); //Investigate method for assigning ID/date to kendo row \r\n var performanceId = app.AppRouter.getCurrentRoute().params.id;\r\n var performanceType = $(this).attr(\"performanceType\");\r\n\r\n var calendarStartDate = viewmodel.get(\"calendarStartDate\");\r\n var calendarEndDate = viewmodel.get(\"calendarEndDate\");\r\n var startDate = encodeURIComponent(kendo.toString(calendarStartDate, \"MM/yyyy\"));\r\n var endDate = encodeURIComponent(kendo.toString(calendarEndDate, \"MM/yyyy\"));\r\n\r\n var corporateHasAccessToEnterpriseDetails = $(this).attr(\"HideEnterpriseFinancialsForCorporates\");\r\n\r\n if (EnterpriseId) {\r\n if (performanceType === \"fund\") {\r\n if (corporateHasAccessToEnterpriseDetails === \"true\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=overview&fund=\" + performanceId + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=overview&fund=\" + performanceId + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n }\r\n\r\n }\r\n else if (performanceType === \"programme\") {\r\n if (corporateHasAccessToEnterpriseDetails === \"true\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=overview&programme=\" + performanceId + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n } else {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=performance&programme=\" + performanceId + \"&startDate=\" + startDate + \"&endDate=\" + endDate);\r\n }\r\n };\r\n };\r\n });\r\n\r\n $(\".showReport\").off(\"click\");\r\n $(\".showReport\").on('click', function (e) {\r\n\r\n var EnterpriseId = $(this).attr(\"EnterpriseId\"); //Investigate method for assigning ID/date to kendo row \r\n var performanceId = app.AppRouter.getCurrentRoute().params.id;\r\n var performanceType = $(this).attr(\"performanceType\");\r\n if (EnterpriseId) {\r\n if (performanceType === \"fund\") {\r\n\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=reports&fund=\" + performanceId);\r\n }\r\n else if (performanceType === \"programme\") {\r\n\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + EnterpriseId + \"&tab=reports&programme=\" + performanceId);\r\n };\r\n };\r\n });\r\n }\r\n\r\n $(\".togglePercentageView\").off(\"click\");\r\n $(\".togglePercentageView\").on('click', function (e) {\r\n $(\".metricDefaultView\").toggleClass(\"hide\");\r\n $(\".metricPercentageView\").toggleClass(\"hide\");\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable == true) {\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n } else {\r\n viewmodel.set(\"isPercentageEnable\", true);\r\n };\r\n reloadChart(viewmodel);\r\n app.AppDashboard.resetMetrics();\r\n });\r\n\r\n $(\".CollapseComparisonToggle\").off(\"click\");\r\n $(\".CollapseComparisonToggle\").on('click', function (e) {\r\n $(\".metric-collapse-compare-inner\").toggleClass(\"hide\");\r\n $(\".metric-collapse-compare\").toggleClass(\"hide\");\r\n $(\".calendar-selector\").toggleClass(\"hide\");\r\n $(\".calendar-selector-compare\").toggleClass(\"hide\");\r\n toggleGridMergedValues(viewmodel);\r\n });\r\n\r\n};\r\n\r\n// Function: getMetricData --------------------------------------------------------------------------\r\nfunction getMetricData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (viewmodel.get(\"isCorporate\")) {\r\n var isCorporate = true\r\n } else {\r\n var isCorporate = false\r\n }\r\n\r\n var Id = viewmodel.get(\"Id\");\r\n var type = viewmodel.get(\"type\");\r\n app.AppDashboard.getFundProgrammePerformanceMetrics(type, Id, startDate, endDate, isCorporate).then(\r\n function (result) {\r\n setMetricData(viewmodel, result);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getGridData ----------------------------------------------------------------------------\r\nfunction getGridData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (viewmodel.get(\"isCorporate\")) {\r\n var isCorporate = true\r\n } else {\r\n var isCorporate = false\r\n }\r\n\r\n\r\n var Id = viewmodel.get(\"Id\");\r\n var type = viewmodel.get(\"type\");\r\n app.AppDashboard.getPerformanceGrid(Id, viewmodel, type, startDate, endDate, isCorporate).then(\r\n function (result) {\r\n\r\n if (isCorporate) {\r\n\r\n for (var record = result.length; record--;) {\r\n if (result[record].HideEnterpriseFinancialsForCorporates === true) {\r\n result.splice(record, 1);\r\n viewmodel.set(\"showRestrictedInformationMessage\", true);\r\n }\r\n }\r\n }\r\n\r\n bindGridData(viewmodel, result);\r\n //loadClickEvents(viewmodel);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n//Function: bindGridData ---------------------------------------------------------------------------\r\nfunction bindGridData(viewmodel, data) {\r\n\r\n var def = $.Deferred();\r\n\r\n function grid_dataBound(e) {\r\n\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n var grid = $(\"#fund-programme-performance-grid\").data(\"kendoGrid\");\r\n } else {\r\n var grid = $(\"#fund-programme-performance-grid-corporate\").data(\"kendoGrid\");\r\n }\r\n var gridRows = grid.tbody.find(\"tr\");\r\n var items = grid.items();\r\n\r\n gridRows.each(function (i, v) {\r\n var dataItem = grid.dataItem(v);\r\n if (dataItem.HasNoData) {\r\n viewmodel.set(\"isBreakdownVisible\", false);\r\n } else {\r\n viewmodel.set(\"isBreakdownVisible\", true);\r\n }\r\n\r\n var color = getStatusColor(dataItem.Performance.TotalIncomepleteReportsSinceInception);\r\n if (dataItem.EnterpriseStatus === \"Active\") {\r\n $(this).find(\".report-status-display\").css(\"background-color\", color);\r\n } else {\r\n $(this).find(\".report-status-display\").css(\"color\", \"inherit\");\r\n }\r\n });\r\n\r\n app.AppDashboard.gridFixedHeaders(this);\r\n\r\n def.resolve();\r\n };\r\n\r\n\r\n\r\n //Add Type to GridRow for Breadcrumb use\r\n var type = viewmodel.get('type');\r\n data.forEach(function (row) {\r\n row.type = type;\r\n });\r\n\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n if ($('#fund-programme-performance-grid').data('kendoGrid'))\r\n $('#fund-programme-performance-grid').data('kendoGrid').destroy();\r\n\r\n $(\"#fund-programme-performance-grid\").kendoGrid({\r\n dataBound: grid_dataBound,\r\n dataSource: data,\r\n sortable: true,\r\n reorderable: true,\r\n resizable: true,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n columnMenu: true,\r\n columns: [\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n field: \"IndustryName\",\r\n title: \"Industry\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"center-alignment showReport\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"totalReports\": \"#: Performance.TotalReportsSinceInception #\" },\r\n template: \" # if (EnterpriseStatus == 'Active'){# #: Performance.TotalIncomepleteReportsSinceInception # #} else {# N/A # } # \",\r\n field: \"Performance.TotalIncomepleteReportsSinceInception\",\r\n title: \"* Incomplete Reports\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.RevenueGrowth === null){# - #} else {# #: Performance.RevenueGrowth #% # } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.RevenueGrowth === null) {# ( - ) #} else {# (#: PerformanceCompare.RevenueGrowth #%) # } #',\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.ProfitGrowth === null){# - #} else {# #: Performance.ProfitGrowth #% # } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.ProfitGrowth === null) {# ( - ) #} else {# (#: PerformanceCompare.ProfitGrowth #%) # } #',\r\n field: \"Performance.ProfitGrowth\",\r\n title: \"Profit Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.ProcurementSpendGrowthRate === null){# - #} else {# #: Performance.ProcurementSpendGrowthRate #% # } #',\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.JobsCreated === null){# - #} else {##: Performance.JobsCreated ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.JobsCreated === null) {# ( - ) #} else {# (#: PerformanceCompare.JobsCreated #) # } #',\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.Headcount === null){# - #} else {##: Performance.Headcount ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Headcount === null) {# ( - ) #} else {# (#: PerformanceCompare.Headcount #) # } #',\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.PermanentEmployment === null){# - #} else {##: Performance.PermanentEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.PermanentEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.PermanentEmployment #) # } #',\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.TemporaryEmployment === null){# - #} else {##: Performance.TemporaryEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.TemporaryEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.TemporaryEmployment #) # } #',\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.NetJobs === null){# - #} else {##: Performance.NetJobs ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.NetJobs === null) {# ( - ) #} else {# (#: PerformanceCompare.NetJobs #) # } #',\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n\r\n template: '# if (Performance.Revenue === null){# - #} else {#R#: kendo.toString(Performance.Revenue,\"n0\") ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Revenue === null) {# ( - ) #} else {# (R#: PerformanceCompare.Revenue #) # } #',\r\n field: \"Performance.Revenue\",\r\n type: \"number\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.Profit === null){# - #} else {#R#: kendo.toString(Performance.Profit, \"n0\") ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Profit === null) {# ( - ) #} else {# (R#: PerformanceCompare.Profit #) # } #',\r\n field: \"Performance.Profit\",\r\n title: \"Net Profit\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.ProcurementSpend === null){# - #} else {#R#: kendo.toString(Performance.ProcurementSpend, \"n0\") ## } #',\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.TotalNumberOfContracts === null){# - #} else {# #: kendo.toString(Performance.TotalNumberOfContracts, \"n0\") ## } #',\r\n field: \"Performance.TotalNumberOfContracts\",\r\n title: \"Number of contracts\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.TotalContractsRandValue === null){# - #} else {# R#: kendo.toString(Performance.TotalContractsRandValue, \"n0\") ## } #',\r\n field: \"Performance.TotalContractsRandValue\",\r\n title: \"Total value of contracts\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.Maturity === null){# - #} else {# #: Performance.Maturity #% # } #',\r\n field: \"Performance.Maturity\",\r\n title: \"Maturity\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.CapitalCommitted === null){# - #} else {# R#: kendo.toString(Performance.CapitalCommitted, \"n0\") ## } #',\r\n field: \"Performance.CapitalCommitted\",\r\n title: \"Capital Committed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\" },\r\n template: '# if (Performance.CapitalDeployed === null){# - #} else {# R#: kendo.toString(Performance.CapitalDeployed, \"n0\") ## } #',\r\n field: \"Performance.CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 150\r\n }]\r\n });\r\n } else {\r\n if ($('#fund-programme-performance-grid-corporate').data('kendoGrid'))\r\n $('#fund-programme-performance-grid-corporate').data('kendoGrid').destroy();\r\n\r\n $(\"#fund-programme-performance-grid-corporate\").kendoGrid({\r\n\r\n dataSource: data,\r\n sortable: true,\r\n reorderable: true,\r\n resizable: true,\r\n dataBound: grid_dataBound,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n columnMenu: true,\r\n columns: [\r\n {\r\n attributes: { \"class\": \"showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.RevenueGrowth === null){# - #} else {# #: Performance.RevenueGrowth #% # } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.RevenueGrowth === null) {# ( - ) #} else {# (#: PerformanceCompare.RevenueGrowth #%) # } #',\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.ProcurementSpendGrowthRate === null){# - #} else {# #: Performance.ProcurementSpendGrowthRate #% # } #',\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.JobsCreated === null){# - #} else {##: Performance.JobsCreated ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.JobsCreated === null) {# ( - ) #} else {# (#: PerformanceCompare.JobsCreated #) # } #',\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.Headcount === null){# - #} else {##: Performance.Headcount ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Headcount === null) {# ( - ) #} else {# (#: PerformanceCompare.Headcount #) # } #',\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.PermanentEmployment === null){# - #} else {##: Performance.PermanentEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.PermanentEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.PermanentEmployment #) # } #',\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.TemporaryEmployment === null){# - #} else {##: Performance.TemporaryEmployment ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.TemporaryEmployment === null) {# ( - ) #} else {# (#: PerformanceCompare.TemporaryEmployment #) # } #',\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.NetJobs === null){# - #} else {##: Performance.NetJobs ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.NetJobs === null) {# ( - ) #} else {# (#: PerformanceCompare.NetJobs #) # } #',\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n\r\n template: '# if (Performance.Revenue === null){# - #} else {#R#: kendo.toString(Performance.Revenue, \"n0\") ## } #' +\r\n '# if (' + viewmodel.get(\"isCompareActive\") + ' == false){# #} else if (PerformanceCompare === null || PerformanceCompare.Revenue === null) {# ( - ) #} else {# (R#: PerformanceCompare.Revenue #) # } #',\r\n field: \"Performance.Revenue\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.ProcurementSpend === null){# - #} else {#R#: kendo.toString(Performance.ProcurementSpend, \"n0\") ## } #',\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.Maturity === null){# - #} else {# #: Performance.Maturity #% # } #',\r\n field: \"Performance.Maturity\",\r\n title: \"Maturity\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.CapitalCommitted === null){# - #} else {# R#: kendo.toString(Performance.CapitalCommitted, \"n0\") ## } #',\r\n field: \"Performance.CapitalCommitted\",\r\n title: \"Capital Committed\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\", \"performanceType\": \"#: type #\", \"HideEnterpriseFinancialsForCorporates\": \"#: HideEnterpriseFinancialsForCorporates #\" },\r\n template: '# if (Performance.CapitalDeployed === null){# - #} else {# R#: kendo.toString(Performance.CapitalDeployed, \"n0\") ## } #',\r\n field: \"Performance.CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 150\r\n }]\r\n });\r\n }\r\n\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n var grid = $(\"#fund-programme-performance-grid\").getKendoGrid();\r\n\r\n grid.table.kendoTooltip({\r\n filter: \"tr td:nth-child(3)\",\r\n content: function (e) {\r\n var target = e.target; // element for which the tooltip is shown\r\n return 'Total Reports: ' + $(target).attr('totalReports');\r\n }\r\n });\r\n }\r\n\r\n app.AppGrids.addCustomKendoDownloadCsvButton();\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getStatusColor -------------------------------------------------------------------------\r\nfunction getStatusColor(value) {\r\n\r\n if (value >= 0 && value < 3) {\r\n //green\r\n return \"#60bd68\";\r\n } else if (value >= 3 && value < 6) {\r\n //orange\r\n return \"#cc6600\";\r\n } else if (value >= 6) {\r\n //red\r\n return \"#cc0000\";\r\n }\r\n\r\n}\r\n\r\n// Function: setMetricData --------------------------------------------------------------------------\r\nfunction setMetricData(viewmodel, data) {\r\n\r\n //GetMEtrics\r\n //getbyID = fundcapitalhistory\r\n //grab most recent capitalDate\r\n //fundmetrics = fund.capital.amount\r\n //fundmetrics = fund.capital.date\r\n\r\n viewmodel.metricsModel.set(\"jobsCreated\", Math.round(data.Performance.JobsCreated));\r\n //viewmodel.metricsModel.set(\"revenueGrowth\", data.Performance.RevenueGrowth);\r\n //viewmodel.metricsModel.set(\"profitGrowth\", data.Performance.ProfitGrowth);\r\n viewmodel.metricsModel.set(\"headcountGrowth\", data.Performance.HeadcountGrowth);\r\n viewmodel.metricsModel.set(\"procurementSpendGrowthRate\", data.Performance.ProcurementSpendGrowthRate);\r\n viewmodel.metricsModel.set(\"headcount\", Math.round(data.Performance.Headcount));\r\n viewmodel.metricsModel.set(\"permanentEmployment\", data.Performance.PermanentEmployment);\r\n viewmodel.metricsModel.set(\"temporaryEmployment\", data.Performance.TemporaryEmployment);\r\n viewmodel.metricsModel.set(\"netJobs\", Math.round(data.Performance.NetJobs));\r\n viewmodel.metricsModel.set(\"numberOfEnterprises\", data.NumberOfEnterprises);\r\n viewmodel.metricsModel.set(\"permanentJobsCreated\", data.Performance.PermanentJobsCreated);\r\n viewmodel.metricsModel.set(\"temporaryJobsCreated\", data.Performance.TemporaryJobsCreated);\r\n viewmodel.metricsModel.set(\"permanentNetJobs\", data.Performance.PermanentNetJobs);\r\n viewmodel.metricsModel.set(\"temporaryNetJobs\", data.Performance.TemporaryNetJobs);\r\n\r\n viewmodel.metricsModel.set(\"revenue\", app.AppDashboard.formatMoneyRounding(data.Performance.Revenue, 2));\r\n viewmodel.metricsModel.set(\"profit\", app.AppDashboard.formatMoneyRounding(data.Performance.Profit, 2));\r\n viewmodel.metricsModel.set(\"procurementspend\", app.AppDashboard.formatMoneyRounding(data.Performance.ProcurementSpend, 2));\r\n\r\n viewmodel.metricsModel.set(\"budget\", (app.AppDashboard.formatMoneyRounding(data.Performance.Budget)));\r\n viewmodel.metricsModel.set(\"budgetDeployed\", (app.AppDashboard.formatMoneyRounding(data.Performance.BudgetDeployed)));\r\n viewmodel.metricsModel.set(\"budgetTimestamp\", kendo.toString(kendo.parseDate(data.Performance.BudgetTimeStamp), \"dd/MM/yyyy\"));\r\n viewmodel.metricsModel.set(\"budgetDeployedTimestamp\", kendo.toString(kendo.parseDate(data.Performance.BudgetDeployedTimeStamp), \"dd/MM/yyyy\"));\r\n viewmodel.metricsModel.set(\"capital\", (app.AppDashboard.formatMoneyRounding(data.Performance.Capital)));\r\n viewmodel.metricsModel.set(\"capitalDeployed\", (app.AppDashboard.formatMoneyRounding(data.Performance.CapitalDeployed)));\r\n viewmodel.metricsModel.set(\"capitalTimestamp\", kendo.toString(kendo.parseDate(data.Performance.CapitalTimeStamp), \"dd/MM/yyyy\"));\r\n viewmodel.metricsModel.set(\"capitalCommitted\", (app.AppDashboard.formatMoneyRounding(data.Performance.CapitalCommitted)));\r\n\r\n if (data.BusinessOfTomorrowSMEsRate != null) {\r\n viewmodel.metricsModel.set(\"businessOfTomorrowSMEsRate\", `${Math.round(data.BusinessOfTomorrowSMEsRate)}%`);\r\n viewmodel.metricsModel.set(\"activeSMEs\", data.Performance.TotalActiveSMEs);\r\n viewmodel.metricsModel.set(\"BOTSMEs\", data.Performance.BusinessOfTomorrowSMECount);\r\n viewmodel.metricsModel.set(\"totalSMEs\", data.NumberOfEnterprises);\r\n }\r\n\r\n if (data.Performance.isRevenueGrowthPositive != null) {\r\n\r\n if (data.Performance.isRevenueGrowthPositive == false) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Loss \");\r\n $(\".revenueMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isRevenueGrowthPositive == true) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Growth \");\r\n $(\".revenueMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", data.Performance.RevenueGrowth);\r\n $(\".revenueMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isProfitGrowthPositive != null) {\r\n\r\n if (data.Performance.isProfitGrowthPositive == false) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Loss \");\r\n $(\".profitMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isProfitGrowthPositive == true) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Growth \");\r\n $(\".profitMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"profitGrowth\", data.Performance.ProfitGrowth);\r\n $(\".profitMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n\r\n app.AppDashboard.setIncompleteDataClasses(viewmodel, data);\r\n\r\n viewmodel.metricsModel.set(\"metricData\", data.Performance);\r\n}\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/fund/fund\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.fundPhaseList = app.AppDataLists.getFundPhasesLocal();\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.cancel = function () { cancel(this); };\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (fundId) {\r\n\r\n getFund(viewmodel, fundId).then(\r\n\r\n function (data) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/fund/edit\", \"Fund - Edit\");\r\n setFund(viewmodel, data);\r\n $('body,html').animate({ scrollTop: 0 }, 200); //Scroll to top of page\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/funds\");\r\n });\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to edit fund details.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/funds\");\r\n };\r\n};\r\n\r\n// Function: getFund -------------------------------------------------------------------------\r\nfunction getFund(viewmodel, fundId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppFund.getFundById(fundId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setFund --------------------------------------------------------------------------\r\nfunction setFund(viewmodel, fund) {\r\n\r\n //a bit hacky but gets the work done.\r\n $(\"#main-page-title\").text(fund.Name.toUpperCase());\r\n\r\n viewmodel.data.set(\"Id\", fund.FundId);\r\n viewmodel.data.set(\"name\", fund.Name);\r\n viewmodel.data.set(\"startDate\", kendo.toString(new Date(fund.StartDate), \"dd/MM/yyyy\"));\r\n viewmodel.data.set(\"endDate\", kendo.toString(new Date(fund.EndDate), \"dd/MM/yyyy\"));\r\n\r\n var reportingStart = \"\";\r\n var reportingEnd = \"\"; \r\n\r\n\r\n if (fund.ReportingStartDate)\r\n reportingStart = kendo.toString(new Date(fund.ReportingStartDate), \"dd/MM/yyyy\");\r\n\r\n if (fund.ReportingEndDate)\r\n reportingEnd = kendo.toString(new Date(fund.ReportingEndDate), \"dd/MM/yyyy\");\r\n\r\n viewmodel.data.set(\"reportingStartDate\", reportingStart);\r\n viewmodel.data.set(\"reportingEndDate\", reportingEnd);\r\n\r\n viewmodel.data.set(\"vision\", fund.Vision);\r\n viewmodel.data.set(\"objectives\", fund.Objectives);\r\n viewmodel.data.set(\"notes\", fund.Notes);\r\n viewmodel.data.set(\"phaseId\", fund.Phase.Id);\r\n\r\n CreateFundCapitalDataSource(viewmodel, fund.FundCapitalHistories);\r\n\r\n initextEditor(viewmodel);\r\n\r\n initDatePickers(viewmodel);\r\n\r\n doFormValidation(viewmodel);\r\n};\r\n\r\n// Function: initextEditor --------------------------------------------------------------------------\r\nfunction initextEditor() {\r\n\r\n // create Editor from textarea HTML element with default set of tools\r\n $(\"#vision\").kendoEditor({\r\n resizable: {\r\n toolbar: true\r\n }, tools: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"createLink\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n ]\r\n });\r\n\r\n // create Editor from textarea HTML element with default set of tools\r\n $(\"#objectives\").kendoEditor({\r\n resizable: {\r\n toolbar: true\r\n }, tools: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"createLink\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n ]\r\n });\r\n\r\n // create Editor from textarea HTML element with default set of tools\r\n $(\"#notes\").kendoEditor({\r\n resizable: {\r\n toolbar: true\r\n }, tools: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"createLink\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n ]\r\n });\r\n}\r\n\r\n// Function: initDatePickers --------------------------------------------------------------------------\r\nfunction initDatePickers(viewmodel) {\r\n // Fund dates --------------------------------------------------------------------------\r\n startDatePicker(viewmodel);\r\n endDatePicker(viewmodel);\r\n\r\n // Reporting dates --------------------------------------------------------------------------\r\n reportingStartDatePicker(viewmodel);\r\n reportingEndDatePicker(viewmodel);\r\n}\r\n\r\nfunction startDatePicker() {\r\n $(\"#startDateEdit\").kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n change: function () {\r\n endDatePicker(viewmodel);\r\n reportingStartDatePicker(viewmodel);\r\n reportingEndDatePicker(viewmodel);\r\n runDateRules();\r\n }\r\n });\r\n registerControllEvent(\"startDateEdit\", \"click\");\r\n registerControllEvent(\"startDateEdit\", \"focus\");\r\n}\r\n\r\n// Function: endDatePicker --------------------------------------------------------------------------\r\nfunction endDatePicker(viewmodel) {\r\n\r\n var start = viewmodel.data.get(\"startDate\");\r\n\r\n if (!start)\r\n start = moment();\r\n\r\n $(\"#endDateEdit\").kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n disableDates: function (date) {\r\n\r\n var startDate = moment(start);\r\n var date = moment(date);\r\n\r\n if (startDate.endOf('day') > date.endOf('day')) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n }\r\n },\r\n change: function () {\r\n reportingStartDatePicker(viewmodel);\r\n reportingEndDatePicker(viewmodel);\r\n runDateRules();\r\n }\r\n });\r\n\r\n registerControllEvent(\"endDateEdit\", \"click\");\r\n registerControllEvent(\"endDateEdit\", \"focus\");\r\n};\r\n\r\n// Function: reportingStartDatePicker --------------------------------------------------------------------------\r\nfunction reportingStartDatePicker() {\r\n var start = $(\"#startDateEdit\").data(\"kendoDatePicker\").value();\r\n var end = $(\"#endDateEdit\").data(\"kendoDatePicker\").value();\r\n\r\n $(\"#reportingStartDateEdit\").kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n change: function () {\r\n reportingEndDatePicker(viewmodel);\r\n runDateRules();\r\n },\r\n });\r\n\r\n $(\"#reportingStartDateEdit\").data(\"kendoDatePicker\").min(start);\r\n $(\"#reportingStartDateEdit\").data(\"kendoDatePicker\").max(end);\r\n registerControllEvent(\"reportingStartDateEdit\", \"click\");\r\n registerControllEvent(\"reportingStartDateEdit\", \"focus\");\r\n};\r\n\r\n// Function: reportingEndDatePicker --------------------------------------------------------------------------\r\nfunction reportingEndDatePicker(viewmodel) {\r\n var start = $(\"#startDateEdit\").data(\"kendoDatePicker\").value();\r\n var end = $(\"#endDateEdit\").data(\"kendoDatePicker\").value();\r\n var reporingStart = viewmodel.data.get(\"reportingStartDateEdit\");\r\n\r\n if (!reporingStart)\r\n reporingStart = start;\r\n\r\n $(\"#reportingEndDateEdit\").kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n change: function () {\r\n runDateRules();\r\n },\r\n disableDates: function (date) {\r\n\r\n var startDate = moment(reporingStart);\r\n var date = moment(date);\r\n\r\n if (startDate.endOf('day') > date.endOf('day')) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n }\r\n },\r\n });\r\n\r\n $(\"#reportingEndDateEdit\").data(\"kendoDatePicker\").min(start);\r\n $(\"#reportingEndDateEdit\").data(\"kendoDatePicker\").max(end);\r\n\r\n registerControllEvent(\"reportingEndDateEdit\", \"click\");\r\n registerControllEvent(\"reportingEndDateEdit\", \"focus\");\r\n};\r\n\r\nfunction registerControllEvent(element, bindEvent){\r\n var Id = \"#\" + element + \"\";\r\n $(Id).bind(bindEvent, function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n}\r\n\r\nfunction runDateRules() {\r\n\r\n var startDate = $(\"#startDateEdit\").data(\"kendoDatePicker\").value();\r\n var endDate = $(\"#endDateEdit\").data(\"kendoDatePicker\").value();\r\n\r\n if (shouldClearStartDate(startDate, endDate)) {\r\n clearDatePicker(\"#startDateEdit\")\r\n }\r\n\r\n if (shouldClearEndDate(startDate, endDate)) {\r\n clearDatePicker(\"#endDateEdit\");\r\n }\r\n\r\n var reportingStartDate = $(\"#reportingStartDateEdit\").data(\"kendoDatePicker\").value();\r\n var reportingEndDate = $(\"#reportingEndDateEdit\").data(\"kendoDatePicker\").value();\r\n\r\n if (shouldClearReportingStartDate(startDate, endDate, reportingStartDate, reportingEndDate)) {\r\n clearDatePicker(\"#reportingStartDateEdit\");\r\n }\r\n\r\n if (shouldClearReportingEndDate(startDate, endDate, reportingStartDate, reportingEndDate)) {\r\n clearDatePicker(\"#reportingEndDateEdit\");\r\n }\r\n}\r\n\r\nfunction shouldClearStartDate(startDate, endDate){\r\n if(startDate && endDate){\r\n var startDateIsSmallerThanEndDate = startDate < endDate;\r\n if(!startDateIsSmallerThanEndDate ) {\r\n showDateErrorModal(\"Start Date, is not smaller than the End Date.\");\r\n return true;\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction shouldClearEndDate(startDate, endDate) {\r\n if(startDate && endDate) {\r\n var endDateIsBiggerThanStartDate = endDate > startDate;\r\n if(!endDateIsBiggerThanStartDate) {\r\n showDateErrorModal(\"End Date, is not greater than the Start Date.\");\r\n return true;\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction shouldClearReportingStartDate(startDate, endDate, reportingStartDate, reportingEndDate) {\r\n\r\n if (reportingStartDate && startDate) {\r\n var reportingStartDateIsBiggerThanOrEqualToStartDate = reportingStartDate >= startDate;\r\n if (!reportingStartDateIsBiggerThanOrEqualToStartDate) {\r\n showDateErrorModal(\"Reporting Start Date, is not greater or is equal to the Start Date.\");\r\n return true;\r\n }\r\n } \r\n \r\n if (reportingStartDate && endDate) {\r\n var reportingStartDateIsSmallerThanEndDate = reportingStartDate < endDate;\r\n if(!reportingStartDateIsSmallerThanEndDate){\r\n showDateErrorModal(\"Reporting Start Date, is not smaller than the End Date.\");\r\n return true;\r\n }\r\n }\r\n \r\n if (reportingStartDate && reportingEndDate) {\r\n var reportingStartDateIsSmallerThanReportingEndDate = reportingStartDate < reportingEndDate;\r\n if(!reportingStartDateIsSmallerThanReportingEndDate) {\r\n showDateErrorModal(\"Reporting Start Date, is not smaller than the reporting End Date.\");\r\n return true\r\n }\r\n } \r\n\r\n return false;\r\n}\r\n\r\nfunction shouldClearReportingEndDate(startDate, endDate, reportingStartDate, reportingEndDate) {\r\n\r\n if (reportingEndDate && endDate) {\r\n var reportingEndDateIsSmallerOrEqualToEndDate = reportingEndDate <= endDate;\r\n if (!reportingEndDateIsSmallerOrEqualToEndDate) {\r\n showDateErrorModal(\"Reporting End Date, is not smaller or is equal To the Reporting End Date.\");\r\n return true;\r\n }\r\n }\r\n if (reportingEndDate && startDate) {\r\n var reportingEndDateIsGreaterThanStartDate = reportingEndDate > startDate;\r\n if (!reportingEndDateIsGreaterThanStartDate) {\r\n showDateErrorModal(\"Reporting End Date, is not greater than the Start Date.\");\r\n return true;\r\n }\r\n }\r\n if (reportingEndDate && reportingStartDate) { \r\n var reportingEndDateIsGreaterThankReportingStartDate = reportingEndDate >= reportingStartDate;\r\n if (!reportingEndDateIsGreaterThankReportingStartDate) {\r\n showDateErrorModal(\"Reporting End Date, is smaller or equal to the reporting Start Date.\");\r\n return true\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction clearDatePicker(datePickerId) {\r\n var datepicker = $(datePickerId).data(\"kendoDatePicker\");\r\n datepicker.value(null);\r\n}\r\n\r\nfunction showDateErrorModal(message) {\r\n var invalid = {\r\n title: \"Error on the selected dates\",\r\n message: message\r\n };\r\n app.AppNotify.showError(invalid);\r\n}\r\n\r\n// Function: bindCapitalGridDatacreateDataSourcecreateDataSource ------------------------------------------------------------------------\r\nfunction CreateFundCapitalDataSource(viewmodel, capitalHistory) {\r\n\r\n var CapitalDataSource;\r\n CapitalDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (e) {\r\n e.success(capitalHistory);\r\n },\r\n update: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n destroy: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n create: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n parameterMap: function (options, operation) {\r\n\r\n if (operation !== \"read\" && options.models) {\r\n return { models: kendo.stringify(options.models) };\r\n }\r\n }\r\n },\r\n batch: true,\r\n pageSize: 20,\r\n schema: {\r\n model: {\r\n id: \"Id\",\r\n fields: {\r\n TimeStamp: { type: \"date\", validation: { required: true }, nullable: false },\r\n Amount: { type: \"number\", validation: { required: true }, nullable: false }\r\n }\r\n }\r\n }\r\n });\r\n \r\n createKendoGridCapital(viewmodel, CapitalDataSource);\r\n \r\n}\r\n\r\n// Function: getCapitalAmount --------------------------------------------------------------------------\r\nfunction getCapitalAmount() {\r\n\r\n var grid = $('#manage-capital-grid').data(\"kendoGrid\");\r\n var gridRows = grid.tbody.find(\"tr\");\r\n var dataItem = grid.dataItem(gridRows[0]);\r\n\r\n return dataItem;\r\n}\r\n\r\n// Function: createKendoGridCapital --------------------------------------------------------------------------\r\nfunction createKendoGridCapital(viewmodel, dataSource) {\r\n\r\n function grid_dataBound(e) {\r\n var capital = getCapitalAmount();\r\n if (capital) {\r\n viewmodel.data.set(\"capitalAmount\", capital.Amount);\r\n } else {\r\n viewmodel.data.set(\"capitalAmount\", \"0\");\r\n }\r\n \r\n };\r\n\r\n if ($('#manage-capital-grid').data('kendoGrid'))\r\n $('#manage-capital-grid').data('kendoGrid').destroy();\r\n\r\n $(\"#manage-capital-grid\").kendoGrid({\r\n\r\n dataSource: dataSource,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n toolbar: [\"create\"],\r\n columns: [\r\n {\r\n field: \"TimeStamp\",\r\n title: \"Date\",\r\n editor: datePickerEditor,\r\n template: \"#= kendo.toString(kendo.parseDate(TimeStamp), 'dd MMM yyyy', 'en-US') #\",\r\n width: 100\r\n }, {\r\n field: \"Amount\",\r\n title: \"Capital\",\r\n template: 'R' + \"#= Amount#\",\r\n width: 100\r\n }, {\r\n command:\r\n [{ name: \"edit\", text: \"Edit\" },\r\n { name: \"destroy\", text: \"Remove\" }],\r\n title: \" \", width: 80\r\n }\r\n ],\r\n editable: { mode: \"inline\", confirmation: true }\r\n });\r\n\r\n var grid = $('#manage-capital-grid').data(\"kendoGrid\");\r\n\r\n grid.bind(\"dataBound\", grid_dataBound);\r\n grid.dataSource.sort({ field: \"TimeStamp\", dir: \"desc\" });\r\n\r\n}\r\n\r\n// Function: datePickerEditor -----------------------------------------------------------------\r\nfunction datePickerEditor(container, options) {\r\n\r\n $('')\r\n .appendTo(container)\r\n .kendoDatePicker({\r\n autoBind: false,\r\n value: new Date(),\r\n format: \"dd/MM/yyyy\",\r\n disableDates: function (date) {\r\n return (date && date.getTime() > (new Date()).getTime());\r\n },\r\n animation: {\r\n close: {\r\n effects: \"fadeOut zoom:out\",\r\n duration: 300\r\n },\r\n open: {\r\n effects: \"fadeIn zoom:in\",\r\n duration: 300\r\n }\r\n }\r\n });\r\n\r\n $('').appendTo(container);\r\n}\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#add-fund-form\").kendoValidator(\r\n\r\n {\r\n rules: {\r\n startDate: function (input) {\r\n if (input.is(\"[name=startDateEdit]\")) {\r\n var startDateHasNoValue = $(\"#startDateEdit\").val() === '';\r\n if (startDateHasNoValue) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n endDate: function (input) {\r\n if (input.is(\"[name=endDateEdit]\")) {\r\n var endDateHasNoValue = $(\"#endDateEdit\").val() === '';\r\n if (endDateHasNoValue) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n reportingStartDate: function (input) {\r\n if (input.is(\"[name=reportingStartDateEdit]\")) {;\r\n var reportingEndDateHasAValue = $(\"#reportingEndDateEdit\").val() !== '';\r\n if (reportingEndDateHasAValue) {\r\n var reportingStartDateHasAValue = $(\"#reportingStartDateEdit\").val() === '' ;\r\n if(reportingStartDateHasAValue) {\r\n return false;\r\n } \r\n }\r\n } \r\n return true;\r\n },\r\n reportingEndDate: function (input) {\r\n if (input.is(\"[name=reportingEndDateEdit]\")) {\r\n var reportingEndDateHasAValue = $(\"#reportingStartDateEdit\").val() !== '';\r\n if (reportingEndDateHasAValue) {\r\n var reportingStartDateHasAValue = $(\"#reportingEndDateEdit\").val() === '' ;\r\n if(reportingStartDateHasAValue) {\r\n return false;\r\n } \r\n }\r\n }\r\n return true;\r\n },\r\n phase: function (input) {\r\n if ($(input).attr(\"name\") === \"phaseId\") {\r\n return validatePhase(viewmodel);\r\n }\r\n\r\n return true;\r\n }\r\n },\r\n messages: {\r\n startDate :\"Start date is required.\" ,\r\n endDate: \"End date is required.\",\r\n reportingStartDate: \"Reporting start date is required.\",\r\n reportingEndDate: \"Reporting end date is required.\",\r\n phase: \"Invalid phase selection.\",\r\n required: \"This field is required.\",\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n \r\n};\r\n\r\n// Function: validatePhase -----------------------------------------------------------------------------------\r\nfunction validatePhase(viewmodel) {\r\n\r\n var today = moment();\r\n var start = moment(kendo.toString(new Date($(\"#startDateEdit\").data(\"kendoDatePicker\").value())));\r\n var end = moment(kendo.toString(new Date($(\"#endDateEdit\").data(\"kendoDatePicker\").value())));\r\n var reportingStart = moment(kendo.toString(new Date($(\"#reportingStartDateEdit\").data(\"kendoDatePicker\").value())));\r\n var reportingEnd = moment(kendo.toString(new Date($(\"#reportingEndDateEdit\").data(\"kendoDatePicker\").value())));\r\n var phaseSelected = $(\"#phaseId\").data(\"kendoDropDownList\").text();\r\n\r\n switch (phaseSelected) {\r\n case \"Closed\":\r\n\r\n if (today.isAfter(end)) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n }\r\n break;\r\n\r\n case \"Active\":\r\n\r\n if ((today.isAfter(reportingStart) || today.isSame(reportingStart)) &&\r\n (reportingEnd.isAfter(today) || reportingEnd.isSame(today))) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n }\r\n break;\r\n\r\n case \"Post-Fund\":\r\n\r\n if (today.isAfter(reportingEnd) && end.isAfter(today)) {\r\n return true;\r\n\r\n } else {\r\n return false;\r\n }\r\n\r\n //case \"Pre-Fund\":\r\n\r\n // if (today.endOf('day') < start.endOf('day')) {\r\n // return true;\r\n\r\n // } else {\r\n // return false;\r\n // };\r\n // break;\r\n\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var addData = getFundObject(viewmodel);\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppFund.update(addData).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Fund successfully updated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + fundId + \"&tab=overview\");\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: cancel -----------------------------------------------------------------------------------\r\nfunction cancel(viewmodel) {\r\n var fundId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + fundId + \"&tab=overview\");\r\n}\r\n\r\n// Function: getFundObject --------------------------------------------------------------------\r\nfunction getFundObject(viewmodel) {\r\n\r\n var reportingStart = null;\r\n var reportingEnd = null;\r\n\r\n if (viewmodel.data.get(\"reportingStartDate\"))\r\n reportingStart = new Date($(\"#reportingStartDateEdit\").data(\"kendoDatePicker\").value())\r\n\r\n if (viewmodel.data.get(\"reportingEndDate\"))\r\n reportingEnd = new Date($(\"#reportingEndDateEdit\").data(\"kendoDatePicker\").value())\r\n\r\n var capitalData = $('#manage-capital-grid').data(\"kendoGrid\").dataSource.data();\r\n var capitalAmount = getCapitalAmount();\r\n var capitalInput = viewmodel.get(\"data.capitalAmount\"); \r\n if (compareGridValues(capitalAmount, capitalInput) == false) {\r\n\r\n capitalData = updateDataSource(capitalData, capitalInput);\r\n }\r\n\r\n var fund = {\r\n FundId: viewmodel.data.get(\"Id\"),\r\n Name: viewmodel.data.get(\"name\"),\r\n StartDate: new Date($(\"#startDateEdit\").data(\"kendoDatePicker\").value()),\r\n EndDate: new Date($(\"#endDateEdit\").data(\"kendoDatePicker\").value()),\r\n ReportingStartDate: reportingStart,\r\n ReportingEndDate: reportingEnd,\r\n FundCapitalHistories: buildFundHistory(capitalData, viewmodel),\r\n Vision: viewmodel.data.get(\"vision\"),\r\n Objectives: viewmodel.data.get(\"objectives\"),\r\n Notes: viewmodel.data.get(\"notes\"),\r\n PhaseId: viewmodel.data.get(\"phaseId\")\r\n };\r\n\r\n return fund;\r\n}\r\n\r\n// Function: buildFundHistory -----------------------------------------------------------------------------------\r\nfunction buildFundHistory(data, viewmodel) {\r\n var objReturn = [];\r\n\r\n data.forEach(function (v, i) {\r\n objReturn.push({\r\n FundId: viewmodel.data.get(\"Id\"),\r\n Amount: v.Amount,\r\n TimeStamp: v.TimeStamp\r\n });\r\n });\r\n\r\n return objReturn;\r\n}\r\n\r\n// Function: updateDataSource -----------------------------------------------------------------------------------\r\nfunction updateDataSource(data, input) {\r\n\r\n var today = new Date();\r\n\r\n var newItem = {};\r\n var dataSource = [data];\r\n\r\n newItem.Amount = input;\r\n newItem.TimeStamp = today;\r\n\r\n dataSource[0].push(newItem);\r\n\r\n\r\n return dataSource[0];\r\n\r\n}\r\n\r\n// Function: compareGridValues ------------------------------------------------------------------------\r\nfunction compareGridValues(data, input) {\r\n\r\n if (data) {\r\n if (data.Amount == input) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n\r\n}\r\n\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams; \r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/fund/inactive\", \"Inactive\");\r\n bindInactiveFunds(viewmodel);\r\n};\r\n\r\n// Function: bindInactiveFunds -----------------------------------------------------------------------\r\nfunction bindInactiveFunds(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getInactiveFunds().then(\r\n\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n StartDate: { type: \"date\" },\r\n EndDate: { type: \"date\" },\r\n EnterpriseCount: { type: \"number\" },\r\n Phase: { type: \"string\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n data: []\r\n };\r\n\r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n Name: v.Name,\r\n StartDate: v.StartDate,\r\n EndDate: v.EndDate,\r\n EnterpriseCount: v.EnterpriseCount,\r\n FundId: v.FundId\r\n };\r\n if (v.Phase.Name) { pushData.Phase = v.Phase.Name; }\r\n\r\n result.data.push(pushData);\r\n });\r\n \r\n return result;\r\n }, \r\n },\r\n \r\n pageable: true\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n \r\n};\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function alterDisplayedTable(e) {\r\n loadClickEvents();\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#inactive-fund-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n \r\n serverOperation: false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n },\r\n {\r\n field: \"StartDate\",\r\n title: \"Start Date\",\r\n filterable: {\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n },\r\n {\r\n field: \"EndDate\",\r\n title: \"End Date\",\r\n filterable: {\r\n cell: {\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n }, {\r\n field: \"EnterpriseCount\",\r\n title: \"Enterprise Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n }, {\r\n field: \"Phase\",\r\n title: \"Phase\",\r\n width: app.AppGrids.getGridColumnWidthSize(\"extraSmall\")\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }],\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n rowTemplate: kendo.template($(\"#inactive-fund-list-template\").html())\r\n });\r\n\r\n var grid = $(\"#inactive-fund-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: getInactiveFunds ------------------------------------------------------------------------\r\nfunction getInactiveFunds() {\r\n\r\n var def = $.Deferred();\r\n\r\n var userRole = app.AppUser.userCurrent.getCurrentUser().role;\r\n app.AppFund.getFunds(1, 10000, \" \", \" \", \" \", \"inactive\", \" \", userRole).then(\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".restoreFund\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"fundName\");\r\n var id = $(this).attr(\"fundId\");\r\n\r\n restoreFund(name, id);\r\n });\r\n\r\n $(\".showPerformance\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var fundId = $(this).parent().attr(\"fundId\");\r\n app.AppRouter.router.navigate(\"/fund/dashboard?id=\" + fundId + \"&tab=overview\" + \"&status=inactive\");\r\n });\r\n\r\n app.AppGrids.adjustDropdowns();\r\n};\r\n\r\n// Function: restoreFund ----------------------------------------------------------------------------\r\nfunction restoreFund(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n restoreConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppFund.restoreFund(id).then(\r\n\r\n function (data) {\r\n $('#inactive-fund-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Fund successfully restored.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: restoreConfirm -------------------------------------------------------------------------\r\nfunction restoreConfirm(fund) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"restoreConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to restore \" + fund + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new kendo.data.Model();\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/active\", \"Active\");\r\n bindActiveMentors(viewmodel);\r\n};\r\n\r\n// Function: bindActiveMentors ----------------------------------------------------------------------\r\nfunction bindActiveMentors(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getActiveMentors().then(\r\n\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n DisplayName: { type: \"string\" },\r\n EnterpriseCount: { type: \"number\" },\r\n Availability: { type: \"number\" },\r\n Province: { type: \"string\" },\r\n SpecialtyName: { type: \"string\" },\r\n AggregateRating: { type: \"number\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n data: []\r\n };\r\n\r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n MentorId: v.MentorId,\r\n DisplayName: v.DisplayName,\r\n ProfilePicture: v.ProfilePicture,\r\n EnterpriseCount: v.EnterpriseCount,\r\n AggregateRating: v.AggregateRating,\r\n Availability: v.Availability,\r\n SpecialtyName: app.AppMentor.getSpecialtyName(v.SpecialtyId, app.AppDataLists.getSpecialtiesLocal()).join(\", \"),\r\n UserId: v.UserId,\r\n Status: v.Status,\r\n Overview: v.Overview,\r\n }\r\n if (v.Address.Province) { pushData.Province = v.Address.Province.Name; }\r\n\r\n result.data.push(pushData);\r\n });\r\n return result;\r\n }\r\n },\r\n pageable: true \r\n });\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n\r\n// Function: createListView -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n function alterDisplayedTable(e) {\r\n\r\n var grid = e.sender;\r\n var items = grid.items();\r\n\r\n items.each(function (idx, row) {\r\n var dataItem = grid.dataItem(row);\r\n var color = getRatingColor(dataItem.AggregateRating);\r\n if (dataItem.AggregateRating === 0) {\r\n $(this).find(\".rating-display\").css(\"color\", \"inherit\");\r\n } else {\r\n $(this).find(\".rating-display\").css(\"background-color\", color);\r\n }\r\n });\r\n\r\n app.AppGrids.adjustDropdowns();\r\n loadClickEvents();\r\n \r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#active-mentors-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true, \r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n serverOperation:false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Display Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\" ,\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n }, {\r\n field: \"EnterpriseCount\",\r\n title: \"Enterprise Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n }, {\r\n field: \"Availability\",\r\n title: \"Availability\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n },\r\n {\r\n field: \"Province\",\r\n title: \"Province\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\" ,\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"medium\")\r\n },\r\n {\r\n field: \"SpecialtyName\",\r\n title: \"Specialty Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n }, {\r\n field: \"AggregateRating\",\r\n title: \"Rating\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }],\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n rowTemplate: kendo.template($(\"#active-mentors-list-template\").html())\r\n \r\n });\r\n var grid = $(\"#active-mentors-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: getActiveMentors -----------------------------------------------------------------------\r\nfunction getActiveMentors(r) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppMentor.getActiveMentors(1, 10000, \" \", null, null, null).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: getRatingColor -------------------------------------------------------------------------\r\nfunction getRatingColor(value) {\r\n if (value === 0) {\r\n return \"inherit\";\r\n } else if (value > 0 && value <= 2) {\r\n return \"#cc0000\";\r\n } else if (value > 2 && value <= 3) {\r\n return \"#cc6600\";\r\n\r\n } else if (value > 3 && value <= 4) {\r\n return \"#cccc00\";\r\n\r\n } else {\r\n return \"#6CC38B\";\r\n }\r\n};\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".deleteMentor\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"mentorName\");\r\n var status = $(this).attr(\"status\");\r\n var id = $(this).attr(\"userId\");\r\n\r\n deleteMentor(name, id, status);\r\n });\r\n\r\n $(\".resendInvite\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"mentorName\");\r\n var id = $(this).attr(\"userId\");\r\n\r\n resendInvite(id, name);\r\n });\r\n\r\n $(\".showOverview\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var mentorId = $(this).attr(\"mentorId\");\r\n app.AppRouter.router.navigate(\"/mentor/dashboard?id=\" + mentorId + \"&tab=profile\");\r\n });\r\n\r\n};\r\n\r\n// Function: deleteMentor ---------------------------------------------------------------------------\r\nfunction deleteMentor(name, id, status) {\r\n\r\n var def = new $.Deferred();\r\n\r\n deleteConfirm(name, status).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (id) {\r\n\r\n app.AppAuth.deleteUser(id).then(\r\n\r\n function (data) {\r\n $('#active-mentors-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var title = \"\";\r\n var message = \"\";\r\n\r\n if (status === \"Active\") {\r\n title = \"Deactivated\",\r\n message = \"Mentor successfully deactivated.\";\r\n\r\n } else {\r\n title = \"Deleted\",\r\n message = \"Mentor successfully deleted.\";\r\n }\r\n\r\n var success = {\r\n title: title,\r\n message: message\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find mentor.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(mentor, status) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"\";\r\n\r\n if (status !== \"Active\") {\r\n body = \"Are you sure you want to delete \" +\r\n mentor +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"Please note that this mentor will be permanently deleted from the system.\";\r\n\r\n } else {\r\n body = \"Are you sure you want to deactivate \" +\r\n mentor +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"This mentor can be restored from the inactive section.\";\r\n }\r\n\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: resendInvite ---------------------------------------------------------------------------\r\nfunction resendInvite(id, name) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (id) {\r\n\r\n app.AppAuth.resendConfirmEmail(id).then(\r\n\r\n function (data) {\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Success\",\r\n message: \"Invite successfully resend to \" + name + \" .\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find mentor.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/mentor/mentor\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.savingDef = \"\";\r\n this.cvSelected = false;\r\n this.validator;\r\n this.save = function () { save(this); };\r\n this.removePhoto = function () { removePhoto(this); };\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n this.specialtyList = app.AppDataLists.getSpecialtiesLocal();\r\n this.provinceList = app.AppDataLists.getProvincesLocal();\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def); \r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/add\", \"Mentor - Add\");\r\n initKendoUpload(viewmodel);\r\n createMultiSelect(viewmodel);\r\n doFormValidation(viewmodel);\r\n def.resolve();\r\n};\r\n\r\n// Function: initKendoUpload --------------------------------------------------------------------------------\r\nfunction initKendoUpload(viewmodel) {\r\n\r\n $(\"#cv-upload\").kendoUpload({\r\n async: {\r\n saveUrl: \"Upload/CV\",\r\n removeUrl: \"Upload/CV\",\r\n autoUpload: false,\r\n },\r\n select: function (e) {\r\n onSelect(e, viewmodel);\r\n },\r\n error: function (e) {\r\n onError(e, viewmodel)\r\n },\r\n success: function (e) {\r\n onSuccess(e, viewmodel);\r\n },\r\n cancel: function (e) {\r\n onCancel(e, viewmodel);\r\n },\r\n upload: function (e) {\r\n onUpload(e, viewmodel);\r\n },\r\n localization: {\r\n select: \"Upload Profile...\"\r\n },\r\n files: [],\r\n multiple: false\r\n });\r\n\r\n $(\".k-i-close\").on(\"click\", function () {\r\n viewmodel.data.set(\"cv\", \"\");\r\n });\r\n}\r\n\r\n// Function: onUpload -------------------------------------------------------------------------------\r\nfunction onUpload(e, viewmodel) {\r\n\r\n var fileName = \"\";\r\n var files = e.files[0];\r\n\r\n fileName = viewmodel.data.get(\"fname\").toLowerCase() +\r\n \"-\" + viewmodel.data.get(\"surname\").toLowerCase() +\r\n \"-cv\" + e.files[0].extension.toLowerCase();\r\n\r\n e.data = {};\r\n e.data[\"fileName\"] = fileName;\r\n\r\n viewmodel.data.set(\"cv\", fileName);\r\n};\r\n\r\n// Function: onSuccess ------------------------------------------------------------------------------\r\nfunction onSuccess(e, viewmodel) {\r\n\r\n if (e.operation === \"upload\") {\r\n saveMentor(viewmodel);\r\n };\r\n};\r\n\r\n// Function: onError --------------------------------------------------------------------------------\r\nfunction onError(e, viewmodel) {\r\n\r\n var error = e.XMLHttpRequest.responseText;\r\n\r\n if (e.operation === \"upload\") {\r\n\r\n viewmodel.savingDef.resolve();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n};\r\n\r\n// Function: onCancel -------------------------------------------------------------------------------\r\nfunction onCancel(viewmodel) {\r\n viewmodel.savingDef.resolve();\r\n};\r\n\r\n// Function: onSelect -------------------------------------------------------------------------------\r\nfunction onSelect(e, viewmodel) {\r\n\r\n var fileSize = e.files[0].size;\r\n var fileType = e.files[0].extension.toLowerCase();\r\n\r\n if (!checkValidUploadFileType(fileType)) {\r\n e.preventDefault();\r\n return;\r\n };\r\n\r\n if (!checkValidUploadFileSize(fileSize)) {\r\n e.preventDefault();\r\n return;\r\n };\r\n\r\n viewmodel.set(\"cvSelected\", true);\r\n};\r\n\r\n// Function: checkValidUploadFileSize ---------------------------------------------------------------\r\nfunction checkValidUploadFileType(fileType) {\r\n\r\n var validFileTypes = [\".jpg\", \". jpeg\", \".gif\", \".png\", \".pdf\", \".doc\", \".docx\", \".csv\", \".xlsm\", \".xlsx\", \".xlt\", \".zip\"];\r\n var found = validFileTypes.indexOf(fileType);\r\n if (found > -1) {\r\n return true;\r\n\r\n } else {\r\n var types = \"\";\r\n validFileTypes.forEach(function (value, index) {\r\n types += value + \"
    \";\r\n });\r\n\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File type is not surported. Below is a list of valid types:
    \" + types\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n return false;\r\n };\r\n};\r\n\r\n// Function: checkValidUploadFileSize ---------------------------------------------------------------\r\nfunction checkValidUploadFileSize(fileSize) {\r\n\r\n var mbLimit = 32;\r\n if (fileSize > mbLimit * 1000000) {\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File size should be less than \" + mbLimit + \"MB\"\r\n };\r\n app.AppNotify.showWarningr(invalid);\r\n return false;\r\n\r\n } else {\r\n return true;\r\n };\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#register-user-form\").kendoValidator(\r\n {\r\n rules: {\r\n confirmEmail: function (input) {\r\n var ret = true;\r\n if (input.is(\"[name=email-confirm]\")) {\r\n ret = input.val() === $(\"#email\").val();\r\n };\r\n return ret;\r\n },\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\" ||\r\n $(input).attr(\"name\") === \"cellphone\") {\r\n if (input.val() != \"\") {\r\n return input.val().length > 9\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n confirmEmail: \"Emails do not match\",\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\") {\r\n return \"Telephone is not valid\"\r\n }\r\n else if ($(input).attr(\"name\") === \"cellphone\") {\r\n return \"Cellphone is not valid\"\r\n }\r\n else {\r\n return \"Your input is not valid\"\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n //return validator.validate();\r\n};\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#fname\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n //viewmodel.data.set(\"profilePicture\", reader.result);\r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n };\r\n}\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 300,\r\n height: 300,\r\n type: 'square'\r\n }\r\n ,\r\n boundary: {\r\n width: 400,\r\n height: 400\r\n }\r\n });\r\n\r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n\r\n $(\".uploadClick\").on(\"click\", function () {\r\n uploadImage.croppie('result',{type: 'base64',size: 'viewport',quality: 0.8}).then(function(base64) {\r\n viewmodel.data.set(\"profilePicture\", base64);\r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n })\r\n\r\n $('#croppie-modal').on('hidden.bs.modal', function () {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n })\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n};\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) { \r\n\r\n if (viewmodel.validator.validate()) {\r\n \r\n viewmodel.savingDef = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", viewmodel.savingDef);\r\n\r\n if (viewmodel.get(\"cvSelected\")) {\r\n $(\".k-upload-selected\").trigger(\"click\"); //lets first upload the cv doc.\r\n\r\n } else {\r\n saveMentor(viewmodel)\r\n } \r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: saveMentor -----------------------------------------------------------------------------------\r\nfunction saveMentor(viewmodel) { \r\n \r\n var registerData = getUserObject(viewmodel);\r\n\r\n var multiselect = $(\"#specialtyId\").data(\"kendoMultiSelect\");\r\n var selectedData = [];\r\n selectedData = multiselect.value();\r\n var specialtyIdArray = selectedData ? selectedData : [];\r\n registerData.Specialty = specialtyIdArray.join(\";\");\r\n registerData.SpecialtyId = specialtyIdArray.join(\";\");\r\n\r\n var overview = $(\"#overview\").val();\r\n registerData.overview = overview;\r\n registerData.Status = \"Pending\";\r\n\r\n app.AppMentor.create(registerData).then(\r\n\r\n function (data) {\r\n viewmodel.savingDef.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Mentor successfully created.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n app.AppRouter.router.navigate(\"/mentor/dashboard?id=\"+ data.data.MentorId +\"&tab=profile\");\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.savingDef.reject();\r\n //app.AppRouter.router.navigate(\"/\");\r\n });\r\n};\r\n\r\n// Function: getUserObject --------------------------------------------------------------------------\r\nfunction getUserObject(viewmodel) {\r\n\r\n var strImage = \"\";\r\n\r\n if (viewmodel.data.get(\"profilePicture\")) {\r\n var strToReplace = viewmodel.data.get(\"profilePicture\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n }\r\n var multiselect = $(\"#specialtyId\").data(\"kendoMultiSelect\");\r\n var selectedData = [];\r\n selectedData = multiselect.value();\r\n var specialtyIdArray = selectedData ? selectedData : [];\r\n return {\r\n Email: viewmodel.data.get(\"email\"),\r\n Name: viewmodel.data.get(\"fname\"),\r\n Surname: viewmodel.data.get(\"surname\"),\r\n DisplayName: viewmodel.data.get(\"fname\") + \" \" + viewmodel.data.get(\"surname\"),\r\n\r\n ProfilePicture: strImage,\r\n CellPhone: viewmodel.data.get(\"cellphone\"),\r\n PhoneNumber: viewmodel.data.get(\"telephone\"),\r\n\r\n Availability: viewmodel.data.get(\"availability\"),\r\n SpecialtyId: specialtyIdArray.join(';'),\r\n Specialty: specialtyIdArray.join(';'),\r\n CV: viewmodel.data.get(\"cv\"),\r\n\r\n ComplexBuilding: viewmodel.data.get(\"complexBuilding\"),\r\n Street: viewmodel.data.get(\"street\"),\r\n Suburb: viewmodel.data.get(\"suburb\"),\r\n ProvinceId: viewmodel.data.get(\"provinceId\"),\r\n PostalCode: viewmodel.data.get(\"postalCode\")\r\n };\r\n}\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"profilePicture\", \"\");\r\n};\r\n\r\n// Function: createMultiSelect ----------------------------------------------------------------------\r\nfunction createMultiSelect(viewmodel) {\r\n var SpecialtiesList = app.AppDataLists.getSpecialtiesLocal();\r\n $(\"#specialtyId\").kendoMultiSelect({\r\n dataTextField: \"Name\",\r\n dataValueField: \"Id\",\r\n itemTemplate: '#: data.Name #',\r\n tagTemplate: '#:data.Name#',\r\n dataSource: {\r\n data: SpecialtiesList\r\n },\r\n height: 400,\r\n }).data(\"kendoMultiSelect\").options.maxSelectedItems = 3;\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar metricsModel = require(\"app_mvvm_models/custom/common/fund-programme/performance\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.metricsModel = new metricsModel();\r\n this.colors = app.AppDashboardColors.get();\r\n this.loadingDef;\r\n this.missingChartDataPointList = [];\r\n this.Id = \"\";\r\n this.mentorName = \"\";\r\n this.isDashboardVisible = false;\r\n this.isPercentageEnable = false;\r\n this.isChartVisible = false;\r\n this.isBreakdownVisible = false;\r\n this.datePickersAllMonths = [];\r\n this.datePickerStartDateValidMonths = [];\r\n this.isDataPointsMissingMessageVisible = false;\r\n this.navigateToPerformanceListPage = function () { navigateToPerformanceListPage(this); };\r\n this.HideChartLineClick = function () { HideChartLineClick(this); };\r\n this.toggleCalendarIcon = function () { toggleCalendarIcon(this); };\r\n this.metricCardDescriptions = app.AppDataLists.getMetricCardDescriptions();\r\n this.startup = function () { startup(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n viewmodel.loadingDef = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef);\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n\r\n $('body,html').animate({ scrollTop: 0 }, 200); //Scroll to top of page\r\n\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/dashboard\", \"Mentor - Dashboard\");\r\n\r\n app.AppMentor.getDashboardDatePickerValidMonths().then(\r\n function (resultValidMonths) {\r\n\r\n var dateRange = app.AppDashboard.datePickerValuesSetShared(viewmodel, resultValidMonths);\r\n if (!dateRange) return;\r\n\r\n loadDashboard(viewmodel, dateRange.startDate, dateRange.endDate);\r\n\r\n $('body').off('onChangeCalendarEvent');\r\n $(\"body\").on(\"onChangeCalendarEvent\", function (event, data) {\r\n app.AppLoading.show(\"Loading...\", viewmodel.loadingDef, true);\r\n loadDashboard(viewmodel, data.startDate, data.endDate);\r\n });\r\n });\r\n\r\n}\r\n\r\n\r\n// Function: toggleCalendarIcon -------------------------------------------------------------\r\nfunction toggleCalendarIcon(viewmodel) {\r\n\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-down');\r\n $(\"#calendar-selector-angle\").toggleClass('fa-angle-up');\r\n\r\n}\r\n\r\n// Function: loadDashboard --------------------------------------------------------------------------\r\nfunction loadDashboard(viewmodel, startDate, endDate) {\r\n\r\n var gridPromise = getGridData(viewmodel, startDate, endDate);\r\n var metricPromise = getMetricData(viewmodel, startDate, endDate);\r\n var chartPromise = getChartData(viewmodel, startDate, endDate);\r\n\r\n var startDate = getDateString(startDate);\r\n var endDate = getDateString(endDate);\r\n\r\n viewmodel.metricsModel.set(\"startDate\", startDate);\r\n viewmodel.metricsModel.set(\"endDate\", endDate);\r\n\r\n $.when(gridPromise, metricPromise, chartPromise).done(\r\n function (grid) {\r\n setupHideChartLineClick(viewmodel);\r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n app.AppHelper.setTourCache(data);\r\n //console.log(\"retrieved all lists from api\");\r\n app.AppHelper.startHelper(viewmodel, \"Dashboard\", false);\r\n },\r\n function () {\r\n console.log(\"retrieving all lists failed\");\r\n });\r\n\r\n app.AppLoading.hide();\r\n //Resize Chart for headcount axis to fit properly\r\n kendo.resize($(\"#chart\"));\r\n\r\n }).fail(function (error) {\r\n app.AppNotify.showError({ title: \"Sorry!\", message: error });\r\n viewmodel.loadingDef.reject();\r\n });\r\n}\r\n\r\n// Function: getDateString --------------------------------------------------------------------------\r\nfunction getDateString(dateString) {\r\n\r\n var str_array = dateString.split('/');\r\n\r\n switch (str_array[0]) {\r\n case '01': str_array[0] = 'Jan '; break;\r\n case '02': str_array[0] = 'Feb '; break;\r\n case '03': str_array[0] = 'Mar '; break;\r\n case '04': str_array[0] = 'Apr '; break;\r\n case '05': str_array[0] = 'May '; break;\r\n case '06': str_array[0] = 'Jun '; break;\r\n case '07': str_array[0] = 'Jul '; break;\r\n case '08': str_array[0] = 'Aug '; break;\r\n case '09': str_array[0] = 'Sep '; break;\r\n case '10': str_array[0] = 'Oct '; break;\r\n case '11': str_array[0] = 'Nov '; break;\r\n case '12': str_array[0] = 'Dec '; break;\r\n }\r\n dateString = str_array[0] + str_array[1];\r\n\r\n return dateString;\r\n}\r\n\r\n// Function: navigateToPerformanceListPage ----------------------------------------------------------\r\nfunction navigateToPerformanceListPage() {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + viewmodel.get(\"enterpriseId\") + \"&tab=reports\");\r\n } else {\r\n app.AppRouter.router.navigate(\"/reports\");\r\n }\r\n}\r\n\r\n// Function: getChartData ---------------------------------------------------------------------------\r\nfunction getChartData(viewmodel, startDate, endDate) {\r\n var colours = viewmodel.get(\"colors\");\r\n\r\n var def = $.Deferred();\r\n app.AppMentor.getDashboardPerformanceChart(startDate, endDate).then(\r\n function (result) {\r\n bindChartData(result, colours, viewmodel);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n return def.promise();\r\n}\r\n\r\n// Function: reloadChart --------------------------------------------------------------------------\r\nfunction reloadChart(viewmodel) {\r\n\r\n // var colours = viewmodel.get(\"colors\");\r\n var calendarStart = viewmodel.get(\"calendarStartDate\");\r\n var calendarEnd = viewmodel.get(\"calendarEndDate\");\r\n var startDate = kendo.toString(calendarStart, \"MM/yyyy\");\r\n var endDate = kendo.toString(calendarEnd, \"MM/yyyy\");\r\n var id = viewmodel.get(\"Id\");\r\n var calendarType = \"selection\";\r\n\r\n //getChartData(viewmodel, startDate, endDate, \"selection\");\r\n $(\"body\").trigger('onChangeCalendarEvent', [{ viewmodel: viewmodel, id: id, startDate: startDate, endDate: endDate, calendarType: calendarType }]);\r\n}\r\n\r\n// Function: hideChartLine --------------------------------------------------------------------------\r\nfunction setupHideChartLineClick(viewmodel) {\r\n $('.chart-series-line-icon').off('click');\r\n\r\n $(\".chart-series-line-icon\").click(function (e) {\r\n\r\n if (viewmodel.get(\"isChartVisible\")) { //only when graph is available.\r\n\r\n var targetClass = $(e.target).attr('class');\r\n if (!targetClass) targetClass = \"card\";\r\n if ($(e.target).hasClass(\"mini-help\") || targetClass.indexOf(\"popover\") > -1) return;\r\n if ($(e.target).hasClass(\"mini-plus\") || targetClass.indexOf(\"popover\") > -1) return;\r\n\r\n var dataLine = $(this).data(\"seriesname\");\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n $(this).find(\".metric-icon\").toggleClass(\"active\");\r\n\r\n if (chart) {\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === dataLine;\r\n })[0];\r\n\r\n seriesObj.visible = !seriesObj.visible;\r\n chart.redraw();\r\n }\r\n }\r\n });\r\n}\r\n\r\n// Function: createChart ----------------------------------------------------------------------------\r\nfunction createChart(data, colours, viewmodel) {\r\n\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n\r\n if (isPercentageEnable == false) {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\"\r\n },\r\n series: [{\r\n field: \"Performance.Revenue\",\r\n name: \"Revenue\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: true,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Profit\",\r\n name: \"Profit\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProfitGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpend\",\r\n name: \"Procurement Spend\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.Headcount\",\r\n name: \"Headcount\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n format: \"R{0}\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }, {\r\n name: \"Headcount\",\r\n labels: {\r\n format: \"{0}\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\"\r\n },\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n //template: \"# if(1 == 2){# R #} else {# H #} #\" \r\n template: \"# if(series.name != 'Headcount'){# R#: kendo.toString(value,'n0') + ' (' + series.name #) #} else {##: kendo.toString(value,'n0')+ ' (' +series.name #) #} #\"\r\n }\r\n\r\n });\r\n\r\n } else {\r\n\r\n $(\"#chart\").kendoChart({\r\n dataSource: {\r\n data: data.MonthlyChartPerformances\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n chartArea: {\r\n background: \"\",\r\n height: 250\r\n },\r\n seriesDefaults: {\r\n type: \"line\",\r\n style: \"smooth\"\r\n },\r\n series: [{\r\n field: \"Performance.RevenueGrowthRateWeightedAverage\",\r\n name: \"Weighted Revenue Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.RevenueGrowth,\r\n visible: true,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProfitGrowthRateWeightedAverage\",\r\n name: \"Weighted Profit Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProfitGrowth,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.ProcurementSpendGrowthRateWeightedAverage\",\r\n name: \"Weighted Procurement Spend Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.ProcurementSpend,\r\n visible: false,\r\n axis: \"Revenue\"\r\n }, {\r\n field: \"Performance.HeadcountGrowthRateWeightedAverage\",\r\n name: \"Weighted Headcount Growth\",\r\n missingValues: \"interpolate\",\r\n color: colours.HeadcountGrowth,\r\n visible: true,\r\n axis: \"Headcount\"\r\n }],\r\n valueAxis: [{\r\n name: \"Revenue\",\r\n labels: {\r\n format: \"{0}%\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: -10\r\n },\r\n {\r\n name: \"Headcount\",\r\n labels: {\r\n format: \"{0}%\",\r\n visible: true\r\n },\r\n line: {\r\n visible: true\r\n },\r\n majorGridLines: {\r\n step: 2\r\n },\r\n axisCrossingValue: 10\r\n }],\r\n categoryAxis: {\r\n field: \"ReportMonth\",\r\n majorGridLines: {\r\n visible: false\r\n },\r\n labels: {\r\n rotation: \"auto\"\r\n },\r\n axisCrossingValues: [0, data.MonthlyChartPerformances.length]\r\n },\r\n tooltip: {\r\n visible: true,\r\n template: \"#: value #% (#= series.name #)\" //#=dataItem.ProcurementSpend#\r\n }\r\n\r\n });\r\n };\r\n\r\n}\r\n\r\n// Function: showChartDataNodeNotAvailable ----------------------------------------------------------\r\nfunction showChartDataNodeNotAvailable(data, colours, viewmodel) {\r\n var missingDataPoints = false;\r\n for (var i = 0; i < data.length; i++) {\r\n var item = data[i];\r\n if (item.Performance === null || item.Performance.RevenueGrowth === null || item.Performance.ProfitGrowth === null || item.Performance.HeadcountGrowth === null || item.Performance.ProcurementSpend === null) {\r\n missingDataPoints = true;\r\n break;\r\n }\r\n }\r\n\r\n if (missingDataPoints) {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", true);\r\n } else {\r\n viewmodel.set(\"isDataPointsMissingMessageVisible\", false);\r\n }\r\n\r\n}\r\n\r\n// Function: bindChartData --------------------------------------------------------------------------\r\nfunction bindChartData(data, colours, viewmodel) {\r\n if (data.ShowChart === true) {\r\n viewmodel.set(\"isChartVisible\", true);\r\n $(document).bind(\"kendo:skinChange\", createChart(data, colours, viewmodel));\r\n $(window).resize(function () {\r\n $(\"#chart\").data(\"kendoChart\").resize();\r\n });\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable == true) {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpendGrowthRate\");\r\n } else {\r\n //hideLinesNotShownByDefault(\"Performance.ProcurementSpend\");\r\n }\r\n\r\n showChartDataNodeNotAvailable(data.MonthlyChartPerformances, colours, viewmodel);\r\n\r\n }\r\n}\r\n\r\n// Function: hideLinesNotShownByDefault -------------------------------------------------------------\r\nfunction hideLinesNotShownByDefault(hideline) { //todo should be array probably of lines\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n var seriesObj = chart.options.series.filter(function (seriesObj) {\r\n return seriesObj.field === hideline;\r\n })[0];\r\n seriesObj.visible = false;\r\n chart.redraw();\r\n}\r\n\r\n//Function: onChange --------------------------------------------------------------------------------\r\nfunction onChange(e) {\r\n\r\n var data = this.dataItem(this.select());\r\n\r\n if (data.EnterpriseId) {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + data.EnterpriseId + \"&tab=performance\");\r\n }\r\n}\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents(viewmodel) {\r\n\r\n $(\".showPerformance\").on('click', function (e) {\r\n\r\n var enterpriseId = $(this).attr(\"EnterpriseId\");\r\n if (enterpriseId) {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=overview\");\r\n }\r\n });\r\n\r\n $(\".togglePercentageView\").off(\"click\");\r\n $(\".togglePercentageView\").on('click', function (e) {\r\n $(\".metricDefaultView\").toggleClass(\"hide\");\r\n $(\".metricPercentageView\").toggleClass(\"hide\");\r\n var isPercentageEnable = viewmodel.get(\"isPercentageEnable\");\r\n if (isPercentageEnable == true) {\r\n viewmodel.set(\"isPercentageEnable\", false);\r\n } else {\r\n viewmodel.set(\"isPercentageEnable\", true);\r\n };\r\n reloadChart(viewmodel);\r\n app.AppDashboard.resetMetrics();\r\n });\r\n\r\n $(\".startHelpTour\").off(\"click\");\r\n\r\n};\r\n\r\n// Function: getMetricData --------------------------------------------------------------------------\r\nfunction getMetricData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var Id = viewmodel.get(\"Id\");\r\n var type = viewmodel.get(\"type\");\r\n app.AppMentor.getDashboardPerformanceMetrics(startDate, endDate).then(\r\n function (result) {\r\n setMetricData(viewmodel, result);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getGridData ----------------------------------------------------------------------------\r\nfunction getGridData(viewmodel, startDate, endDate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var id = viewmodel.get(\"Id\");\r\n var type = \"mentor\";\r\n //app.AppDashboard.getMentorDashboardPerformanceBreakdown(startDate, endDate).then(\r\n app.AppMentor.getDashboardPerformanceBreakdown(startDate, endDate).then(\r\n function (result) {\r\n app.AppGrids.buildExportGridMentorDashboard(viewmodel, result);\r\n bindGridData(viewmodel, result);\r\n loadClickEvents(viewmodel)\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n//Function: bindChartData ---------------------------------------------------------------------------\r\nfunction bindGridData(viewmodel, data) {\r\n\r\n var def = $.Deferred();\r\n\r\n function grid_dataBound(e) {\r\n\r\n var grid = $(\"#mentor-dashboard-performance-grid\").data(\"kendoGrid\");\r\n var gridRows = grid.tbody.find(\"tr\");\r\n\r\n gridRows.each(function (i, v) {\r\n var dataItem = grid.dataItem(gridRows[i]);\r\n if (dataItem.HasNoData) {\r\n viewmodel.set(\"isBreakdownVisible\", false);\r\n } else {\r\n viewmodel.set(\"isBreakdownVisible\", true);\r\n }\r\n });\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n var prefixFileName = \"Performance Data\";\r\n var dateFrom = viewmodel.get(\"metricsModel.startDate\");\r\n var dateTo = viewmodel.get(\"metricsModel.endDate\");\r\n var fileName = \"Mentor\" + \"_\" + prefixFileName + \"_\" + dateFrom + \"-\" + dateTo;\r\n\r\n if ($('#mentor-dashboard-performance-grid').data('kendoGrid'))\r\n $('#mentor-dashboard-performance-grid').data('kendoGrid').destroy();\r\n\r\n $(\"#mentor-dashboard-performance-grid\").kendoGrid({\r\n dataBound: grid_dataBound,\r\n dataSource: data,\r\n sortable: true,\r\n reorderable: true,\r\n resizable: true,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n change: onChange,\r\n columnMenu: true,\r\n columns: [{\r\n attributes: { \"class\": \"showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.RevenueGrowth === null){# - #} else {# #: Performance.RevenueGrowth #% # } #',\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth\",\r\n width: 180\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.ProfitGrowth === null){# - #} else {# #: Performance.ProfitGrowth #% # } #',\r\n field: \"Performance.ProfitGrowth\",\r\n title: \"Profit Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.ProcurementSpendGrowthRate === null){# - #} else {# #: Performance.ProcurementSpendGrowthRate #% # } #',\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.JobsCreated === null){# - #} else {##: Performance.JobsCreated ## } #',\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.Headcount === null){# - #} else {##: Performance.Headcount ## } #',\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.PermanentEmployment === null){# - #} else {##: Performance.PermanentEmployment ## } #',\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.TemporaryEmployment === null){# - #} else {##: Performance.TemporaryEmployment ## } #',\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.NetJobs === null){# - #} else {##: Performance.NetJobs ## } #',\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n\r\n template: '# if (Performance.Revenue === null){# - #} else {#R#: kendo.toString(Performance.Revenue, \"n0\") ## } #',\r\n field: \"Performance.Revenue\",\r\n title: \"Revenue\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.Profit === null){# - #} else {#R#: kendo.toString(Performance.Profit, \"n0\") ## } #',\r\n field: \"Performance.Profit\",\r\n title: \"Net Profit\",\r\n width: 150\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.ProcurementSpend === null){# - #} else {#R#: kendo.toString(Performance.ProcurementSpend, \"n0\") ## } #',\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement Spend\",\r\n width: 150\r\n },\r\n //{\r\n\r\n // template: '# if (Performance.TotalAssets === null){# - #} else {#R#: kendo.toString(Performance.TotalAssets, \"n0\") ## } #',\r\n // attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n\r\n // field: \"Performance.TotalAssets\",\r\n // title: \"Total Assets\",\r\n // width: 150\r\n //},\r\n //{\r\n // attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n\r\n // template: '# if (Performance.AccountsReceivable === null){# - #} else {#R#: kendo.toString(Performance.AccountsReceivable, \"n0\") ## } #',\r\n // field: \"Performance.AccountsReceivable\",\r\n // title: \"Accounts Receivable\",\r\n // width: 200\r\n //},\r\n //{\r\n // attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n\r\n // template: '# if (Performance.AccountsPayable === null){# - #} else {#R#: kendo.toString(Performance.AccountsPayable, \"n0\") ## } #',\r\n // field: \"Performance.AccountsPayable\",\r\n // title: \"Accounts Payable\",\r\n // width: 200\r\n //},\r\n //{\r\n // attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n\r\n // template: '# if (Performance.TotalLiabilities === null){# - #} else {#R#: kendo.toString(Performance.TotalLiabilities, \"n0\") ## } #',\r\n // field: \"Performance.TotalLiabilities\",\r\n // title: \"Total Liabilities\",\r\n // width: 200\r\n //},\r\n //{\r\n\r\n // template: '# if (Performance.TotalEquity === null){# - #} else {#R#: kendo.toString(Performance.TotalEquity, \"n0\") ## } #',\r\n // attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n\r\n // field: \"Performance.TotalEquity\",\r\n // title: \"Total Equity\",\r\n // width: 150\r\n //},\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.Budget === null){# - #} else {#R#: kendo.toString(Performance.Budget, \"n0\") ## } #',\r\n field: \"Performance.Budget\",\r\n title: \"Budget\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.BudgetDeployed === null){# - #} else {#R#: kendo.toString(Performance.BudgetDeployed, \"n0\") ## } #',\r\n field: \"Performance.BudgetDeployed\",\r\n title: \"Budget Deployed\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.Capital === null){# - #} else {#R#: kendo.toString(Performance.Capital, \"n0\") ## } #',\r\n field: \"Performance.Capital\",\r\n title: \"Capital Under Management\",\r\n width: 200\r\n },\r\n {\r\n attributes: { \"class\": \"right-alignment showPerformance\", \"EnterpriseId\": \"#: EnterpriseId #\" },\r\n template: '# if (Performance.CapitalDeployed === null){# - #} else {#R#: kendo.toString(Performance.CapitalDeployed, \"n0\") ## } #',\r\n field: \"Performance.CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 200\r\n }]\r\n });\r\n\r\n app.AppGrids.addCustomKendoDownloadCsvButton();\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: setMetricData --------------------------------------------------------------------------\r\nfunction setMetricData(viewmodel, data) {\r\n\r\n //viewmodel.metricsModel.set(\"revenueGrowth\", data.Performance.RevenueGrowth);\r\n //viewmodel.metricsModel.set(\"profitGrowth\", data.Performance.ProfitGrowth);\r\n viewmodel.metricsModel.set(\"headcountGrowth\", data.Performance.HeadcountGrowth);\r\n viewmodel.metricsModel.set(\"procurementspendGrowth\", data.Performance.ProcurementSpendGrowthRate);\r\n\r\n viewmodel.metricsModel.set(\"jobsCreated\", Math.round(data.Performance.JobsCreated));\r\n viewmodel.metricsModel.set(\"headcount\", Math.round(data.Performance.Headcount));\r\n viewmodel.metricsModel.set(\"permanentEmployment\", data.Performance.PermanentEmployment);\r\n viewmodel.metricsModel.set(\"temporaryEmployment\", data.Performance.TemporaryEmployment);\r\n viewmodel.metricsModel.set(\"netJobs\", Math.round(data.Performance.NetJobs));\r\n viewmodel.metricsModel.set(\"permanentNetJobs\", data.Performance.PermanentNetJobs);\r\n viewmodel.metricsModel.set(\"temporaryNetJobs\", data.Performance.TemporaryNetJobs);\r\n viewmodel.metricsModel.set(\"permanentJobsCreated\", data.Performance.PermanentJobsCreated);\r\n viewmodel.metricsModel.set(\"temporaryJobsCreated\", data.Performance.TemporaryJobsCreated);\r\n\r\n viewmodel.metricsModel.set(\"procurementspend\", app.AppDashboard.formatMoneyRounding(data.Performance.ProcurementSpend, 2));\r\n viewmodel.metricsModel.set(\"revenue\", app.AppDashboard.formatMoneyRounding(data.Performance.Revenue, 2));\r\n viewmodel.metricsModel.set(\"profit\", app.AppDashboard.formatMoneyRounding(data.Performance.Profit, 2));\r\n\r\n viewmodel.metricsModel.set(\"budget\", app.AppDashboard.formatMoneyRounding(data.Performance.Budget));\r\n viewmodel.metricsModel.set(\"budgetDeployed\", app.AppDashboard.formatMoneyRounding(data.Performance.BudgetDeployed));\r\n viewmodel.metricsModel.set(\"capital\", app.AppDashboard.formatMoneyRounding(data.Performance.Capital));\r\n viewmodel.metricsModel.set(\"capitalDeployed\", app.AppDashboard.formatMoneyRounding(data.Performance.CapitalDeployed));\r\n\r\n if (data.Performance.isRevenueGrowthPositive != null) {\r\n\r\n if (data.Performance.isRevenueGrowthPositive == false) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Loss \");\r\n $(\".revenueMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isRevenueGrowthPositive == true) {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", \"Net Growth \");\r\n $(\".revenueMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"revenueGrowth\", data.Performance.RevenueGrowth);\r\n $(\".revenueMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isProfitGrowthPositive != null) {\r\n\r\n if (data.Performance.isProfitGrowthPositive == false) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Loss \");\r\n $(\".profitMetric\").addClass(\"metricNetLoss\");\r\n }\r\n\r\n if (data.Performance.isProfitGrowthPositive == true) {\r\n viewmodel.metricsModel.set(\"profitGrowth\", \"Net Growth \");\r\n $(\".profitMetric\").addClass(\"metricNetGrowth\");\r\n }\r\n\r\n } else {\r\n viewmodel.metricsModel.set(\"profitGrowth\", data.Performance.ProfitGrowth);\r\n $(\".profitMetric\").removeClass(\"metricNetGrowth metricNetLoss\");\r\n }\r\n\r\n app.AppDashboard.setIncompleteDataClasses(viewmodel, data);\r\n}\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n //this.isMentor = false;\r\n\r\n \r\n this.assignEnterprise = function () { assignEnterprises(this) }\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/dashboard/enterprise\", \"Mentor - Enterprise\");\r\n setLoggedInUserRole(viewmodel);\r\n checkMentorLogin(viewmodel);\r\n bindActiveEnterprises(viewmodel);\r\n app.AppHelper.getTourInstructionsPerUser().then(\r\n function (data) {\r\n app.AppHelper.setTourCache(data);\r\n //console.log(\"retrieved all lists from api\");\r\n app.AppHelper.startHelper(viewmodel, \"EnterpriseList\", false);\r\n },\r\n function () {\r\n console.log(\"retrieving all lists failed\");\r\n });\r\n \r\n \r\n};\r\n\r\n// Function: bindActiveEnterprises ------------------------------------------------------------------\r\nfunction bindActiveEnterprises(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n \r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getActiveEnterprises().then(\r\n\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n Name: { type: \"string\" },\r\n Industry: { type: \"string\" },\r\n HeadCount: { type: \"number\" },\r\n BbeeLevelId: { type: \"number\" },\r\n Status: { type: \"string\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n recordsCount: ApiResult.Enterprises.TotalCount,\r\n data: []\r\n };\r\n\r\n ApiResult.Enterprises.forEach(function (v, i) {\r\n var pushData = {\r\n EnterpriseId: v.EnterpriseId,\r\n Name: v.Name,\r\n Logo: v.Logo,\r\n HeadCount: Math.round(v.HeadCount),\r\n Status: v.Status\r\n };\r\n if (v.Industry && v.Industry.Name) { pushData.Industry = v.Industry.Name; }\r\n if (v.Bbee && v.Bbee.BbeeLevelId) { pushData.BbeeLevelId = v.Bbee.BbeeLevelId; }\r\n\r\n result.data.push(pushData);\r\n });\r\n\r\n return result;\r\n }\r\n },\r\n pageable: true\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n\r\n// Function: createGrid -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n function alterDisplayedTable(e) {\r\n loadClickEvents(viewmodel);\r\n if (app.AppUser.userCurrent.getCurrentUser().userRole === \"Corporate\") {\r\n $(\".list-dropdown\").remove();\r\n $(\"#assign-enterprise\").remove();\r\n }\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#active-enterprise-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n filterable: { mode: 'row' },\r\n serverOperation: false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"extraLarge\")\r\n },\r\n {\r\n field: \"Industry\",\r\n title: \"Industry\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n },\r\n {\r\n field: \"HeadCount\",\r\n title: \"Head Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n //width: app.AppGrids.getGridColumnWidthSize(\"extraSmall\")\r\n }, {\r\n field: \"BbeeLevelId\",\r\n title: \"BBEELevel\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n }\r\n //width: app.AppGrids.getGridColumnWidthSize(\"extraSmall\")\r\n }, {\r\n field: \"Status\",\r\n title: \"Status\",\r\n width: app.AppGrids.getGridColumnWidthSize(\"Small\"),\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n }\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }],\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n rowTemplate: kendo.template($(\"#active-enterprise-list-template\").html())\r\n });\r\n\r\n var grid = $(\"#active-enterprise-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: getActiveEnterprises -------------------------------------------------------------------\r\nfunction getActiveEnterprises() {\r\n\r\n var def = $.Deferred();\r\n\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppMentor.getActiveEnterprisesByMentor(mentorId, 1, 10000, \" \", null, null, null).then(\r\n\r\n function (data) {\r\n $(\"#main-page-title\").text(data.Mentor.DisplayName.toUpperCase());\r\n $(\"#mentor-enterprise-displayName\").text(data.Mentor.DisplayName);\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n \r\n};\r\n\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents(viewmodel) {\r\n\r\n //var viewmodel = $(\"#active-enterprise-list-template\").get(0).kendoBindingTarget.source;\r\n\r\n $(\".removeEnterprise\").unbind('click').on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"enterpriseName\");\r\n var id = $(this).attr(\"enterpriseId\");\r\n\r\n removeEnterprise(name, id);\r\n });\r\n\r\n $(\".showPerformance\").unbind('click').on(\"click\", function (e) {\r\n e.preventDefault();\r\n var enterpriseId = $(this).parent().attr(\"enterpriseId\");\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n \r\n if (viewmodel.get(\"isMentor\")) {\r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=performance\"); \r\n } else { \r\n app.AppRouter.router.navigate(\"/enterprise/dashboard?id=\" + enterpriseId + \"&tab=performance&mentor=\" + mentorId);\r\n }\r\n \r\n });\r\n\r\n};\r\n\r\n// Function: removeEnterprise -----------------------------------------------------------------------\r\nfunction removeEnterprise(name, id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n removeConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppEnterprise.removeMentor(id, mentorId).then(\r\n\r\n function (data) {\r\n $('#active-enterprise-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise successfully unassigned.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: removeConfirm --------------------------------------------------------------------------\r\nfunction removeConfirm(enterprise) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"removeConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to unassigned \" + enterprise + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n// Function: assignEnterprises ----------------------------------------------------------------------\r\nfunction assignEnterprises(viewmodel) {\r\n\r\n getAssignEnterpriseList(viewmodel).then(\r\n\r\n function (enterpriseList) {\r\n\r\n if (enterpriseList && enterpriseList.length > 0)\r\n AddEnterprisesToMentor(viewmodel, enterpriseList);\r\n });\r\n};\r\n// Function: assignEnterprises ----------------------------------------------------------------------\r\nfunction getAssignEnterpriseList(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var showIn = \"assign-enterprise-modal-container\";\r\n\r\n var entityId = app.AppRouter.getCurrentRoute().params.id;\r\n var entity = \"mentor\";\r\n\r\n app.AppDialog.showAssignEnterprises(showIn, entity, entityId).then(\r\n\r\n function (result) {\r\n def.resolve(result);\r\n });\r\n\r\n return def.promise();\r\n};\r\n// Function: AddEnterprisesToMentor -------------------------------------------------------------------\r\nfunction AddEnterprisesToMentor(viewmodel, enterpriseList) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n var promises = [];\r\n var addPromise;\r\n\r\n enterpriseList.forEach(function (enterpriseId, index) {\r\n\r\n addPromise = app.AppMentor.addEnterprise(mentorId, enterpriseId);\r\n promises.push(addPromise);\r\n\r\n });\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n\r\n $('#active-enterprise-list-container').data('kendoGrid').dataSource.read();\r\n\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprises successfully assigned.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n def.resolve();\r\n },\r\n function () {\r\n\r\n var errorData = {\r\n title: \"Sorry!\",\r\n message: \"An error has occurred while assigning enterprises. Please try again, and if the problem persists, please contact support.\"\r\n };\r\n\r\n app.AppNotify.showError(errorData);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: setLoggedInUserRole --------------------------------------------------------------------\r\nfunction setLoggedInUserRole(viewmodel) {\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n viewmodel.set(\"isMentor\", true);\r\n };\r\n};\r\n\r\n// Function: checkMentorLogin -----------------------------------------------------------------------\r\nfunction checkMentorLogin(viewmodel) {\r\n\r\n if (viewmodel.get(\"isMentor\")) {\r\n $(\"#mentor-remove-row\").removeClass(\"row\");\r\n $(\"#mentor-remove-nopadding\").removeClass(\"nopadding\");\r\n $(\"#mentor-remove-nopadding\").removeClass(\"col-xs-12\");\r\n }\r\n};\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/mentor/mentor\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.isEdgeUser = false;\r\n this.showCV = false;\r\n this.isMentorUser = false;\r\n this.isAggregateRating = false;\r\n this.isAddressVisible = false;\r\n this.data = new model();\r\n\r\n this.startup = function () { startup(this); };\r\n this.deleteMentor = function () { deleteMentor(this); };\r\n this.downloadCV = function () { downloadCV(this); };\r\n\r\n this.mentorMailtoLink = function () { return \"mailto:\" + this.data.get(\"email\"); }\r\n this.editMentor = function () { editMentor(this); }\r\n //this.editMentorLink = function () { return \"#/mentor/edit?id=\" + this.data.get(\"Id\"); }\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/dashboard/profile\", \"Mentor - Profile\");\r\n\r\n var def = $.Deferred();\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n viewmodel.set(\"isMentorUser\", true); \r\n\r\n } else {\r\n viewmodel.set(\"isMentorUser\", false);\r\n }\r\n\r\n checkMentorLogin(viewmodel);\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (!mentorId) mentorId = 0;\r\n\r\n getMentorProfile(viewmodel, mentorId).then(\r\n\r\n function (data) {\r\n setMentorProfile(viewmodel, data)\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n};\r\n\r\n// Function: getMentorProfile -------------------------------------------------------------------------\r\nfunction getMentorProfile(viewmodel, mentorId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppMentor.getById(mentorId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setMentorProfile -------------------------------------------------------------------------\r\nfunction setMentorProfile(viewmodel, profileData) {\r\n\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Administrator\" || loggedInUserRole === \"Manager\" || loggedInUserRole === \"Super Admin\") {\r\n viewmodel.set(\"isEdgeUser\", true);\r\n }\r\n\r\n //a bit hacky but gets the work done.\r\n $(\"#main-page-title\").text(profileData.DisplayName.toUpperCase());\r\n\r\n viewmodel.data.set(\"Id\", profileData.MentorId);\r\n viewmodel.data.set(\"userId\", profileData.UserId);\r\n viewmodel.data.set(\"email\", profileData.Email);\r\n\r\n viewmodel.data.set(\"fname\", profileData.Name);\r\n viewmodel.data.set(\"surname\", profileData.Surname);\r\n viewmodel.data.set(\"displayName\", profileData.DisplayName);\r\n viewmodel.data.set(\"cellphone\", profileData.Cellphone);\r\n viewmodel.data.set(\"telephone\", profileData.PhoneNumber);\r\n viewmodel.data.set(\"profilePicture\", profileData.ProfilePicture);\r\n\r\n viewmodel.data.set(\"availability\", profileData.Availability);\r\n viewmodel.data.set(\"specialty\", app.AppMentor.getSpecialtyName(profileData.SpecialtyId, app.AppDataLists.getSpecialtiesLocal()).join(\", \"));\r\n\r\n viewmodel.data.set(\"overview\", profileData.Overview);\r\n viewmodel.data.set(\"aggregateRating\", profileData.AggregateRating.toFixed(1));\r\n var color = getRatingColor(profileData.AggregateRating);\r\n $(\".rating-display\").css(\"background-color\", color);\r\n if (profileData.AggregateRating > 0) {\r\n viewmodel.set(\"isAggregateRating\", true);\r\n }\r\n\r\n viewmodel.data.set(\"cv\", profileData.CV);\r\n\r\n if (profileData.CV)\r\n viewmodel.set(\"showCV\", true);\r\n\r\n viewmodel.data.set(\"complexBuilding\", profileData.Address.ComplexBuilding);\r\n viewmodel.data.set(\"street\", profileData.Address.Street);\r\n viewmodel.data.set(\"suburb\", profileData.Address.Suburb);\r\n\r\n if (profileData.Address.Province) {\r\n viewmodel.data.set(\"provinceName\", profileData.Address.Province.Name);\r\n } else {\r\n viewmodel.data.set(\"provinceName\", \"\");\r\n }\r\n viewmodel.data.set(\"postalCode\", profileData.Address.PostalCode);\r\n\r\n if (profileData.Address.ComplexBuilding || profileData.Address.Street || profileData.Address.Suburb || profileData.Address.Province || profileData.Address.PostalCode) {\r\n viewmodel.set(\"isAddressVisible\", true);\r\n }\r\n};\r\n\r\n// Function: getRatingColor -------------------------------------------------------------------------\r\nfunction getRatingColor(value) {\r\n\r\n if (value >= 0 && value <= 2) {\r\n return \"#cc0000\"\r\n\r\n } else if (value > 2 && value <= 3) {\r\n return \"#cc6600\";\r\n\r\n } else if (value > 3 && value <= 4) {\r\n return \"#cccc00\";\r\n\r\n } else {\r\n return \"#60bd68\";\r\n }\r\n};\r\n\r\n// Function: downloadCV -----------------------------------------------------------------------\r\nfunction downloadCV(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppMentor.getCVBase64(viewmodel.data.get(\"Id\")).then(\r\n\r\n function (base64) {\r\n\r\n var extension = viewmodel.data.get(\"cv\").split(\".\")[1];\r\n var dataURI = \"data:text/plain;base64,\" + base64;\r\n kendo.saveAs({\r\n dataURI: dataURI,\r\n fileName: viewmodel.data.get(\"fname\") + \"-\" + viewmodel.data.get(\"surname\") + \"-cv.\" + extension\r\n });\r\n\r\n def.resolve();\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n\r\n};\r\n\r\n// Function: deleteMentor -----------------------------------------------------------------------\r\nfunction deleteMentor(viewmodel) {\r\n\r\n if (viewmodel.get(\"isEdgeUser\")) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var mentor = viewmodel.get(\"data\");\r\n\r\n deleteConfirm(mentor.displayName).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppAuth.deleteUser(mentor.userId).then(\r\n\r\n function (data) {\r\n\r\n def.resolve();\r\n var success = {\r\n title: \"Deactivated\",\r\n message: \"Mentor successfully deactivated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n app.AppRouter.router.navigate(\"/mentors\");\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n }\r\n else {\r\n var invalid = {\r\n title: \"Warning!\",\r\n message: \"You are not authorized to deactivate this mentor.\"\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n }\r\n};\r\n\r\n// Function: editMentor -----------------------------------------------------------------------\r\nfunction editMentor(viewmodel) {\r\n if (viewmodel.get(\"isMentorUser\")) {\r\n app.AppRender.showView(\"#profile-content\", {\r\n html: \"./custom/mentor/edit\",\r\n code: \"./custom/mentor/edit\",\r\n viewmodel: \"./custom/mentor/edit\",\r\n });\r\n\r\n } else {\r\n app.AppRouter.router.navigate(\"/mentor/edit?id=\" + viewmodel.data.get(\"Id\"));\r\n }\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(mentor) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to deactivate \" + mentor + \"?\" + \"\\n\\n\" + \"This mentor can be restored from the inactive section.\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: checkMentorLogin -----------------------------------------------------------------------\r\nfunction checkMentorLogin(viewmodel) {\r\n\r\n //if (viewmodel.get(\"isMentor\")) {\r\n // $(\"#mentor-remove-row\").removeClass(\"row\");\r\n // $(\"#mentor-remove-nopadding\").removeClass(\"nopadding\");\r\n // $(\"#mentor-remove-nopadding\").removeClass(\"col-xs-12\");\r\n //}\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/mentor/timesheet\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.enterprises = [];\r\n this.isMentor = false;\r\n this.updateRecord = false;\r\n this.nextMonthsTimesheet;\r\n this.previousMonthsTimesheet;\r\n this.displayMonthsTimesheet;\r\n this.totalTimeLogged;\r\n\r\n this.logTime = function () { logTime(this); };\r\n this.saveTimeRecord = function () { saveTimeRecord(this); };\r\n this.nextMonth = function () { nextMonth(this); };\r\n this.previousMonth = function () { previousMonth(this); };\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/dashboard/timesheets\", \"Mentor - Timesheets\");\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n viewmodel.set(\"isMentor\", true);\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n\r\n } else {\r\n viewmodel.set(\"isMentor\", false);\r\n }\r\n\r\n checkMentorLogin(viewmodel);\r\n bindMonthlyTimesheet(viewmodel);\r\n\r\n getEnterprises(viewmodel).then(\r\n\r\n function (enterprises) {\r\n console.log(enterprises);\r\n viewmodel.set(\"enterprises\", enterprises);\r\n initializeTimeLogForm(viewmodel);\r\n doFormValidation(viewmodel);\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n}\r\n\r\n// Function: initializeTimeLogForm ------------------------------------------------------------------\r\nfunction initializeTimeLogForm(viewmodel) {\r\n\r\n $(\"#date\").kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n });\r\n \r\n $(\"#date\").bind(\"click\", function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n\r\n $(\"#enterpriseList\").kendoDropDownList({\r\n //index: 1,\r\n dataTextField: \"Name\",\r\n dataValueField: \"EnterpriseId\",\r\n dataSource: viewmodel.get(\"enterprises\"),\r\n filter: \"contains\",\r\n optionLabel: \"Please Select...\",\r\n });\r\n\r\n $(\"#location\").kendoDropDownList({\r\n dataTextField: \"text\",\r\n dataValueField: \"text\",\r\n dataSource: [{ text: \"On-site\" }, { text: \"Off-site\" }],\r\n optionLabel: \"Please Select...\",\r\n });\r\n\r\n};\r\n\r\n// Function: getEnterprises -------------------------------------------------------------------------\r\nfunction getEnterprises(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (!mentorId)\r\n mentorId = \"0\";\r\n\r\n app.AppMentor.getActiveEnterprisesByMentor(mentorId, -1, -1, \"\", \"\", \"\", \"\").then(\r\n\r\n function (data) {\r\n console.log(data);\r\n $(\"#mentor-timesheet-displayName\").text(data.Mentor.DisplayName);\r\n if (!viewmodel.get(\"isMentor\")) {\r\n //a bit hacky but gets the work done.\r\n $(\"#main-page-title\").text(data.Mentor.DisplayName.toUpperCase());\r\n } \r\n def.resolve(data.Enterprises);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: bindMonthlyTimesheet -------------------------------------------------------------------\r\nfunction bindMonthlyTimesheet(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getMonthlyTimesheet(options.data.filter).then(\r\n\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n data: []\r\n };\r\n\r\n viewmodel.set(\"nextMonthsTimesheet\", ApiResult.NextMonth);\r\n viewmodel.set(\"previousMonthsTimesheet\", ApiResult.PreviousMonth);\r\n viewmodel.set(\"totalTimeLogged\", ApiResult.TotalTimeLogged);\r\n\r\n var date = kendo.parseDate(ApiResult.ResultsMonth, \"MM/yyyy\");\r\n kendo.culture(\"en-ZA\")\r\n viewmodel.set(\"displayMonthsTimesheet\", kendo.toString(new Date(date), \"y\"));\r\n\r\n ApiResult.Results.forEach(function (record, index) {\r\n result.data.push({\r\n Id: record.Id,\r\n Date: new Date(record.Date),\r\n TimeLogged: record.TimeLogged,\r\n EnterpriseId: record.EnterpriseId,\r\n EnterpriseName: record.EnterpriseName,\r\n Location: record.Location,\r\n Description: record.Description\r\n });\r\n });\r\n\r\n return result;\r\n }\r\n },\r\n serverFiltering: true\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n}\r\n\r\n// Function: getMonthlyTimesheet --------------------------------------------------------------------\r\nfunction getMonthlyTimesheet(monthFilter) {\r\n\r\n var def = $.Deferred();\r\n\r\n var month = \"\";\r\n\r\n if (monthFilter) {\r\n month = monthFilter.filters.month;\r\n }\r\n\r\n var mentoId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (!mentoId)\r\n mentoId = 0; //api will use logged in mentor.\r\n\r\n app.AppMentor.getMonthlyTimesheet(mentoId, month).then(\r\n\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: createGrid -----------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource) {\r\n \r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#monthly-timesheet-grid\").kendoGrid({\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n //height: 100,\r\n \r\n sortable: true,\r\n resizable: true,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n //scrollable: {\r\n // virtual: true\r\n //},\r\n columns: [{\r\n field: \"Date\",\r\n title: \"Date\",\r\n width: 140,\r\n format: \"{0: dd/MM/yyyy}\"\r\n }, {\r\n field: \"TimeLogged\",\r\n title: \"Time Logged\",\r\n filterable: false,\r\n width: 140\r\n }, {\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise\",\r\n width: 180\r\n },\r\n {\r\n field: \"Location\",\r\n title: \"Location\",\r\n width: 140\r\n },\r\n {\r\n field: \"Description\",\r\n title: \"Description\",\r\n filterable: false,\r\n width: 200\r\n }, {\r\n command: [{ text: \"EDIT\", click: openEditTimeRecord }, { text: \"DELETE\", click: deleteTimeRecord }],\r\n title: \" \",\r\n width: 200\r\n }]\r\n });\r\n};\r\n\r\n// Function: openEditTimeRecord ---------------------------------------------------------------------\r\nfunction openEditTimeRecord(e) {\r\n\r\n e.preventDefault();\r\n\r\n var viewmodel = $(\"#total-time\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n\r\n var record = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n viewmodel.set(\"updateRecord\", true);\r\n viewmodel.data.set(\"Id\", record.Id);\r\n viewmodel.data.set(\"enterpriseId\", record.EnterpriseId);\r\n viewmodel.data.set(\"date\", new Date(record.Date));\r\n viewmodel.data.set(\"timeLogged\", record.TimeLogged);\r\n viewmodel.data.set(\"location\", record.Location);\r\n viewmodel.data.set(\"description\", record.Description);\r\n\r\n showLogTimeModal(viewmodel);\r\n};\r\n\r\n// Function: deleteTimeRecord -----------------------------------------------------------------------\r\nfunction deleteTimeRecord(e) {\r\n\r\n var def = $.Deferred();\r\n\r\n e.preventDefault();\r\n var record = this.dataItem($(e.currentTarget).closest(\"tr\"));\r\n\r\n deleteConfirm().then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppMentor.deleteTimeRecord(record.Id).then(\r\n\r\n function (data) {\r\n $('#monthly-timesheet-grid').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Deleted\",\r\n message: \"Time record successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm() {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"Are you sure you want to delete this time record ?\";\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: logTime --------------------------------------------------------------------------------\r\nfunction logTime(viewmodel) {\r\n viewmodel.set(\"updateRecord\", false);\r\n showLogTimeModal(viewmodel);\r\n};\r\n\r\n// Function: showLogTimeModal -----------------------------------------------------------------------\r\nfunction showLogTimeModal(viewmodel) {\r\n\r\n //var modalOriginalState = $(\"#log-time-modal\").clone();//before we change the modal, save the original state(html)\r\n //viewmodel.set(\"logTimeModalOriginalState\", modalOriginalState); \r\n\r\n $('#log-time-modal').modal('show');\r\n\r\n $('#log-time-modal').on('shown.bs.modal', function () {\r\n $(document).off('focusin.modal');\r\n });\r\n $('#log-time-modal').on('hidden.bs.modal', function () {\r\n resetLogTimeForm(viewmodel);\r\n });\r\n\r\n $(\".saveTimeRecord\").on(\"click\", function (e) {\r\n\r\n //uploadDownload(viewmodel);\r\n });\r\n //$(\"#download-name\").focus();\r\n\r\n\r\n};\r\n\r\n// Function: resetDownloadForm ----------------------------------------------------------------------\r\nfunction resetLogTimeForm(viewmodel) {\r\n\r\n viewmodel.data.set(\"Id\", \"\");\r\n viewmodel.data.set(\"mentorId\", \"\");\r\n viewmodel.data.set(\"enterpriseId\", \"\");\r\n viewmodel.data.set(\"date\", \"\");\r\n viewmodel.data.set(\"timeLogged\", \"\");\r\n viewmodel.data.set(\"location\", \"\");\r\n viewmodel.data.set(\"description\", \"\");\r\n\r\n $(\"#log-time-form\").find(\"span.k-tooltip-validation\").hide();\r\n};\r\n\r\n// Function: saveTimeRecord -------------------------------------------------------------------------\r\nfunction saveTimeRecord(viewmodel) {\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n if (!viewmodel.get(\"updateRecord\")) {\r\n createTimeRecord(viewmodel);\r\n\r\n } else {\r\n editTimeRecord(viewmodel);\r\n }\r\n\r\n } else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\n// Function: createTimeRecord -----------------------------------------------------------------------\r\nfunction createTimeRecord(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var record = buildCreateTimeRecordObject(viewmodel);\r\n\r\n app.AppMentor.createTimeRecord(record).then(\r\n\r\n function (data) {\r\n $('#monthly-timesheet-grid').data('kendoGrid').dataSource.read();\r\n $('#log-time-modal').modal('hide').data('bs.modal', null);\r\n\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Time record successfully logged.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n })\r\n};\r\n\r\n// Function: editTimeRecord -------------------------------------------------------------------------\r\nfunction editTimeRecord(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var record = buildEditTimeRecordObject(viewmodel);\r\n\r\n app.AppMentor.editTimeRecord(record).then(\r\n\r\n function (data) {\r\n $('#monthly-timesheet-grid').data('kendoGrid').dataSource.read();\r\n $('#log-time-modal').modal('hide').data('bs.modal', null);\r\n\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Time record successfully updated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n })\r\n};\r\n\r\n// Function: buildNewTimeRecordObject ---------------------------------------------------------------\r\nfunction buildCreateTimeRecordObject(viewmodel) {\r\n\r\n var newRecord = {\r\n\r\n MentorId: app.AppRouter.getCurrentRoute().params.id,\r\n EnterpriseId: viewmodel.data.get(\"enterpriseId\"),\r\n Date: new Date(viewmodel.data.get(\"date\")),\r\n TimeLogged: viewmodel.data.get(\"timeLogged\"),\r\n Location: viewmodel.data.get(\"location\"),\r\n Description: viewmodel.data.get(\"description\"),\r\n };\r\n\r\n return newRecord;\r\n};\r\n\r\n// Function: buildEditTimeRecordObject --------------------------------------------------------------\r\nfunction buildEditTimeRecordObject(viewmodel) {\r\n\r\n var editRecord = {\r\n\r\n TimesheetId: viewmodel.data.get(\"Id\"),\r\n EnterpriseId: viewmodel.data.get(\"enterpriseId\"),\r\n Date: new Date(viewmodel.data.get(\"date\")),\r\n TimeLogged: viewmodel.data.get(\"timeLogged\"),\r\n Location: viewmodel.data.get(\"location\"),\r\n Description: viewmodel.data.get(\"description\"),\r\n };\r\n\r\n return editRecord;\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#log-time-form\").kendoValidator(\r\n {\r\n rules: {\r\n\r\n },\r\n messages: {\r\n required: \"This field is required.\",\r\n pattern: \"Your input is not valid\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n\r\n //return validator.validate();\r\n};\r\n\r\n// Function: nextMonth -----------------------------------------------------------------------------------\r\nfunction nextMonth(viewmodel) {\r\n\r\n var nextMonth = viewmodel.get(\"nextMonthsTimesheet\");\r\n\r\n var dataSource = $('#monthly-timesheet-grid').data('kendoGrid').dataSource;\r\n\r\n dataSource.filter({\r\n filters: {\r\n month: nextMonth\r\n }\r\n });\r\n};\r\n\r\n// Function: previousMonth -------------------------------------------------------------------------------\r\nfunction previousMonth(viewmodel) {\r\n\r\n var previousMonth = viewmodel.get(\"previousMonthsTimesheet\");\r\n\r\n var dataSource = $('#monthly-timesheet-grid').data('kendoGrid').dataSource;\r\n\r\n dataSource.filter({\r\n filters: {\r\n month: previousMonth\r\n }\r\n });\r\n};\r\n\r\n// Function: checkMentorLogin -----------------------------------------------------------------------\r\nfunction checkMentorLogin(viewmodel) {\r\n\r\n if (viewmodel.get(\"isMentor\")) {\r\n $(\"#mentor-remove-row\").removeClass(\"row\");\r\n $(\"#mentor-remove-nopadding\").removeClass(\"nopadding\");\r\n $(\"#mentor-remove-nopadding\").removeClass(\"col-xs-12\");\r\n }\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/mentor/mentor\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.savingDef = \"\";\r\n this.cvSelected = false;\r\n this.cv = [];\r\n this.validator;\r\n \r\n this.cancel = function () { cancel(this); };\r\n this.save = function () { save(this); };\r\n this.removePhoto = function () { removePhoto(this); };\r\n this.selectPhoto = function () {\r\n document.getElementById('upload-profile-pic').addEventListener('change', uploadPhoto, false);\r\n $(\"#upload-profile-pic\").trigger(\"click\");\r\n };\r\n this.specialtyList = app.AppDataLists.getSpecialtiesLocal();\r\n this.provinceList = app.AppDataLists.getProvincesLocal();\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/edit\", \"Mentor - Edit\");\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (!mentorId) mentorId = 0;\r\n\r\n getMentorProfile(viewmodel, mentorId).then(\r\n\r\n function (data) {\r\n setMentorProfile(viewmodel, data);\r\n doFormValidation(viewmodel);\r\n $('body,html').animate({ scrollTop: 0 }, 200); //Scroll to top of page\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role === \"Mentor\") {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n\r\n } else {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n } \r\n};\r\n\r\n// Function: getMentorProfile -------------------------------------------------------------------------\r\nfunction getMentorProfile(viewmodel, mentorId) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppMentor.getById(mentorId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setMentorProfile -------------------------------------------------------------------------\r\nfunction setMentorProfile(viewmodel, profileData) {\r\n\r\n //a bit hacky but gets the work done.\r\n $(\"#main-page-title\").text(profileData.DisplayName.toUpperCase());\r\n\r\n viewmodel.data.set(\"Id\", profileData.MentorId);\r\n viewmodel.data.set(\"userId\", profileData.UserId);\r\n viewmodel.data.set(\"email\", profileData.Email);\r\n $(\"#email-confirm\").val(profileData.Email);\r\n viewmodel.data.set(\"fname\", profileData.Name);\r\n viewmodel.data.set(\"surname\", profileData.Surname);\r\n viewmodel.data.set(\"DisplayName\", profileData.DisplayName);\r\n viewmodel.data.set(\"cellphone\", profileData.Cellphone);\r\n viewmodel.data.set(\"telephone\", profileData.PhoneNumber);\r\n viewmodel.data.set(\"profilePicture\", profileData.ProfilePicture);\r\n\r\n viewmodel.data.set(\"availability\", profileData.Availability);\r\n viewmodel.data.set(\"specialtyId\", profileData.SpecialtyId);\r\n viewmodel.data.set(\"cv\", profileData.CV);\r\n\r\n viewmodel.data.set(\"complexBuilding\", profileData.Address.ComplexBuilding);\r\n viewmodel.data.set(\"street\", profileData.Address.Street);\r\n viewmodel.data.set(\"suburb\", profileData.Address.Suburb);\r\n\r\n if (profileData.Address.ProvinceId === null)\r\n profileData.Address.ProvinceId = \"\";\r\n\r\n viewmodel.data.set(\"provinceId\", profileData.Address.ProvinceId);\r\n viewmodel.data.set(\"postalCode\", profileData.Address.PostalCode);\r\n\r\n if (profileData.CV)\r\n viewmodel.cv.push({ name: profileData.CV });\r\n\r\n initKendoUpload(viewmodel);\r\n //Create and set The Multiselect\r\n createMultiSelect(viewmodel, profileData);\r\n var multiselect = $(\"#multiselect\").data(\"kendoMultiSelect\");\r\n if (profileData.specialtyId) {\r\n multiselect.value(profileData.specialtyId.split(';'));\r\n }\r\n viewmodel.data.set(\"overview\", profileData.Overview);\r\n};\r\n\r\n// Function: initKendoUpload --------------------------------------------------------------------------------\r\nfunction initKendoUpload(viewmodel) {\r\n\r\n var filename = viewmodel.data.get(\"cv\");\r\n var files = [];\r\n \r\n if (filename) {\r\n var file = {};\r\n file.name = filename;\r\n file.extension = filename.substring(filename.indexOf('.'));\r\n files.push(file);\r\n }\r\n\r\n $(\"#cv-upload\").kendoUpload({\r\n async: {\r\n saveUrl: \"api/Upload/CV\",\r\n removeUrl: \"api/Upload/CV\",\r\n autoUpload: false,\r\n },\r\n select: function (e) {\r\n onSelect(e, viewmodel);\r\n },\r\n error: function (e) {\r\n onError(e, viewmodel)\r\n },\r\n success: function (e) {\r\n onSuccess(e, viewmodel);\r\n },\r\n cancel: function (e) {\r\n onCancel(e, viewmodel);\r\n },\r\n upload: function (e) {\r\n onUpload(e, viewmodel);\r\n },\r\n remove: function (e) {\r\n onRemove(e, viewmodel);\r\n },\r\n localization: {\r\n select: \"Upload Profile...\"\r\n },\r\n files: files,\r\n multiple: false\r\n });\r\n\r\n $(\".k-i-close\").on(\"click\", function () {\r\n viewmodel.data.set(\"cv\", \"\");\r\n });\r\n}\r\n\r\n// Function: onUpload -------------------------------------------------------------------------------\r\nfunction onUpload(e, viewmodel) {\r\n\r\n var fileName = \"\";\r\n var files = e.files[0];\r\n\r\n fileName = viewmodel.data.get(\"fname\").toLowerCase() +\r\n \"-\" + viewmodel.data.get(\"surname\").toLowerCase() +\r\n \"-cv\" + e.files[0].extension.toLowerCase();\r\n\r\n e.data = {};\r\n e.data[\"fileName\"] = fileName;\r\n\r\n viewmodel.data.set(\"cv\", fileName);\r\n};\r\n\r\nfunction onRemove(e, viewmodel) {\r\n viewmodel.data.set(\"cv\", null);\r\n}\r\n\r\n// Function: onSuccess ------------------------------------------------------------------------------\r\nfunction onSuccess(e, viewmodel) {\r\n\r\n if (e.operation === \"upload\") {\r\n saveMentor(viewmodel);\r\n };\r\n};\r\n\r\n// Function: onError --------------------------------------------------------------------------------\r\nfunction onError(e, viewmodel) {\r\n\r\n var error = e.XMLHttpRequest.responseText;\r\n\r\n if (e.operation === \"upload\") {\r\n\r\n viewmodel.savingDef.resolve();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n};\r\n\r\n// Function: onCancel -------------------------------------------------------------------------------\r\nfunction onCancel(viewmodel) {\r\n viewmodel.savingDef.resolve();\r\n};\r\n\r\n// Function: onSelect -------------------------------------------------------------------------------\r\nfunction onSelect(e, viewmodel) {\r\n\r\n var fileSize = e.files[0].size;\r\n var fileType = e.files[0].extension.toLowerCase();\r\n\r\n if (!checkValidUploadFileType(fileType)) {\r\n e.preventDefault();\r\n return;\r\n };\r\n\r\n if (!checkValidUploadFileSize(fileSize)) {\r\n e.preventDefault();\r\n return;\r\n };\r\n\r\n viewmodel.set(\"cvSelected\", true);\r\n};\r\n\r\n// Function: checkValidUploadFileSize ---------------------------------------------------------------\r\nfunction checkValidUploadFileType(fileType) {\r\n\r\n var validFileTypes = [\".jpg\", \". jpeg\", \".gif\", \".png\", \".pdf\", \".doc\", \".docx\", \".csv\", \".xlsm\", \".xlsx\", \".xlt\", \".zip\"];\r\n var found = validFileTypes.indexOf(fileType);\r\n if (found > -1) {\r\n return true;\r\n\r\n } else {\r\n var types = \"\";\r\n validFileTypes.forEach(function (value, index) {\r\n types += value + \"
    \";\r\n });\r\n\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File type is not surported. Below is a list of valid types:
    \" + types\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n return false;\r\n };\r\n};\r\n\r\n// Function: checkValidUploadFileSize ---------------------------------------------------------------\r\nfunction checkValidUploadFileSize(fileSize) {\r\n\r\n var mbLimit = 32;\r\n if (fileSize > mbLimit * 1000000) {\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File size should be less than \" + mbLimit + \"MB\"\r\n };\r\n app.AppNotify.showWarningr(invalid);\r\n return false;\r\n\r\n } else {\r\n return true;\r\n };\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#register-user-form\").kendoValidator(\r\n {\r\n rules: {\r\n confirmEmail: function (input) {\r\n var ret = true;\r\n if (input.is(\"[name=email-confirm]\")) {\r\n ret = input.val() === $(\"#email\").val();\r\n };\r\n return ret;\r\n },\r\n telMin: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\" ||\r\n $(input).attr(\"name\") === \"cellphone\") {\r\n if (input.val() != \"\") {\r\n return input.val().length > 9\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n messages: {\r\n confirmEmail: \"Emails do not match\",\r\n required: \"This field is required.\",\r\n email: \"Your input is not a valid email address.\",\r\n pattern: function (input) {\r\n if ($(input).attr(\"name\") === \"telephone\") {\r\n return \"Telephone is not valid\"\r\n }\r\n else if ($(input).attr(\"name\") === \"cellphone\") {\r\n return \"Cellphone is not valid\"\r\n }\r\n else {\r\n return \"Your input is not valid\"\r\n }\r\n },\r\n telMin: \"Minimum of 10 characters required\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n //return validator.validate();\r\n};\r\n\r\n// Function: uploadPhoto ----------------------------------------------------------------------------\r\nfunction uploadPhoto(evt) {\r\n\r\n var viewmodel = $(\"#fname\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n var file = evt.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n //viewmodel.data.set(\"profilePicture\", reader.result);\r\n showCroppie(reader.result, viewmodel);\r\n $(\"#upload-profile-pic\").val(\"\");\r\n };\r\n}\r\n\r\n// Function: showCroppie ----------------------------------------------------------------------------\r\nfunction showCroppie(image, viewmodel) {\r\n\r\n var uploadImage = $(\"#croppie-bind\").croppie({\r\n enableExif: true,\r\n enforceBoundary: false,\r\n viewport: {\r\n width: 300,\r\n height: 300,\r\n type: 'square'\r\n }\r\n ,\r\n boundary: {\r\n width: 400,\r\n height: 400\r\n }\r\n });\r\n\r\n uploadImage.croppie('bind', image);\r\n\r\n $(\"#croppie-modal\").on('shown.bs.modal', function () {\r\n uploadImage.croppie('setZoom', 1.0);\r\n });\r\n\r\n $(\".uploadClick\").on(\"click\", function () {\r\n uploadImage.croppie('result',{type: 'base64',size: 'viewport',quality: 0.8}).then(function(base64) {\r\n viewmodel.data.set(\"profilePicture\", base64);\r\n $(\"#croppie-modal\").modal('hide');\r\n });\r\n })\r\n\r\n $('#croppie-modal').on('hidden.bs.modal', function () {\r\n $(\"#croppie-bind\").croppie('destroy');\r\n })\r\n\r\n $(\"#croppie-modal\").modal('show');\r\n};\r\n\r\n// Function: save -----------------------------------------------------------------------------------\r\nfunction save(viewmodel) {\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n viewmodel.savingDef = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", viewmodel.savingDef);\r\n\r\n if (viewmodel.get(\"cvSelected\")) {\r\n $(\".k-upload-selected\").trigger(\"click\"); //lets first upload the cv doc.\r\n\r\n } else {\r\n saveMentor(viewmodel)\r\n }\r\n }\r\n else {\r\n $(\".k-invalid:first\").focus();\r\n };\r\n};\r\n\r\nfunction cancel(viewmodel) {\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role === \"Mentor\") {\r\n app.AppRender.showView(\"#profile-content\", {\r\n html: \"./custom/mentor/dashboard/profile\",\r\n code: \"./custom/mentor/dashboard/profile\",\r\n viewmodel: \"./custom/mentor/dashboard/profile\",\r\n });\r\n\r\n } else {\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/mentor/dashboard?id=\" + mentorId + \"&tab=profile\"); \r\n }\r\n};\r\n\r\n// Function: saveMentor -----------------------------------------------------------------------------------\r\nfunction saveMentor(viewmodel) {\r\n\r\n var updateData = getUserObject(viewmodel);\r\n var multiselect = $(\"#specialtyId\").data(\"kendoMultiSelect\");\r\n var selectedData = [];\r\n selectedData = multiselect.value();\r\n var specialtyIdArray = selectedData ? selectedData : [];\r\n updateData.SpecialtyId = specialtyIdArray.join(\";\");\r\n\r\n var overview = $(\"#overview\").val();\r\n updateData.overview = overview;\r\n\r\n app.AppMentor.update(updateData).then(\r\n\r\n function (data) {\r\n viewmodel.savingDef.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Mentor successfully updated.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role === \"Mentor\") { \r\n app.AppRender.showView(\"#profile-content\", {\r\n html: \"./custom/mentor/dashboard/profile\",\r\n code: \"./custom/mentor/dashboard/profile\",\r\n viewmodel: \"./custom/mentor/dashboard/profile\",\r\n });\r\n\r\n } else {\r\n var mentorId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppRouter.router.navigate(\"/mentor/dashboard?id=\" + mentorId + \"&tab=profile\");\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n viewmodel.savingDef.reject();\r\n //app.AppRouter.router.navigate(\"/\");\r\n });\r\n};\r\n\r\n// Function: getUserObject --------------------------------------------------------------------------\r\nfunction getUserObject(viewmodel) {\r\n\r\n var strImage = \"\";\r\n\r\n if (viewmodel.data.get(\"profilePicture\")) {\r\n var strToReplace = viewmodel.data.get(\"profilePicture\");\r\n strImage = strToReplace.replace(/^data:image\\/[a-z]+;base64,/, \"\");\r\n }\r\n var multiselect = $(\"#specialtyId\").data(\"kendoMultiSelect\");\r\n var selectedData = [];\r\n selectedData = multiselect.value();\r\n var specialtyIdArray = selectedData ? selectedData : [];\r\n return {\r\n MentorId: viewmodel.data.get(\"Id\"),\r\n UserId: viewmodel.data.get(\"userId\"),\r\n Email: viewmodel.data.get(\"email\"),\r\n Name: viewmodel.data.get(\"fname\"),\r\n Surname: viewmodel.data.get(\"surname\"),\r\n DisplayName: viewmodel.data.get(\"fname\") + \" \" + viewmodel.data.get(\"surname\"),\r\n\r\n ProfilePicture: strImage,\r\n CellPhone: viewmodel.data.get(\"cellphone\"),\r\n PhoneNumber: viewmodel.data.get(\"telephone\"),\r\n\r\n Availability: viewmodel.data.get(\"availability\"),\r\n SpecialtyId: specialtyIdArray.join(';'),\r\n Specialty: specialtyIdArray.join(';'),\r\n CV: viewmodel.data.get(\"cv\"),\r\n\r\n ComplexBuilding: viewmodel.data.get(\"complexBuilding\"),\r\n Street: viewmodel.data.get(\"street\"),\r\n Suburb: viewmodel.data.get(\"suburb\"),\r\n ProvinceId: viewmodel.data.get(\"provinceId\"),\r\n PostalCode: viewmodel.data.get(\"postalCode\")\r\n };\r\n}\r\n\r\n// Function: removePhoto ----------------------------------------------------------------------------\r\nfunction removePhoto(viewmodel) {\r\n viewmodel.data.set(\"profilePicture\", \"\");\r\n};\r\n\r\n// Function: createMultiSelect ----------------------------------------------------------------------\r\nfunction createMultiSelect(viewmodel, dataSource) {\r\n var SpecialtiesList = app.AppDataLists.getSpecialtiesLocal();\r\n var selectedIds = dataSource.SpecialtyId ? dataSource.SpecialtyId.split(';') : \"\";\r\n $(\"#specialtyId\").kendoMultiSelect({\r\n dataTextField: \"Name\",\r\n dataValueField: \"Id\",\r\n itemTemplate: '#: data.Name #',\r\n tagTemplate: '#:data.Name#',\r\n dataSource: {\r\n data: SpecialtiesList\r\n },\r\n height: 400,\r\n }).data(\"kendoMultiSelect\").options.maxSelectedItems = 3;\r\n var multiselect = $(\"#specialtyId\").data(\"kendoMultiSelect\");\r\n multiselect.value(selectedIds);\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.data = new kendo.data.Model();\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/inactive\", \"Inactive\");\r\n bindInactiveMentors(viewmodel);\r\n};\r\n\r\n// Function: bindInactiveMentors ------------------------------------------------------------------\r\nfunction bindInactiveMentors(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getInactiveMentors().then(\r\n\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n total: \"data.length\", //total amount of records\r\n model: {\r\n fields: {\r\n DisplayName: { type: \"string\" },\r\n EnterpriseCount: { type: \"number\" },\r\n Availability: { type: \"number\" },\r\n Province: { type: \"string\" },\r\n SpecialtyName: { type: \"string\" },\r\n AggregateRating: { type: \"number\" }\r\n }\r\n },\r\n parse: function (ApiResult) {\r\n\r\n var result = {\r\n data: []\r\n };\r\n\r\n ApiResult.Results.forEach(function (v, i) {\r\n var pushData = {\r\n MentorId: v.MentorId,\r\n DisplayName: v.DisplayName,\r\n ProfilePicture: v.ProfilePicture,\r\n EnterpriseCount: v.EnterpriseCount,\r\n AggregateRating: v.AggregateRating,\r\n Availability: v.Availability,\r\n SpecialtyName: app.AppMentor.getSpecialtyName(v.SpecialtyId, app.AppDataLists.getSpecialtiesLocal()).join(\", \"),\r\n UserId: v.UserId,\r\n Status: v.Status,\r\n Overview: v.Overview\r\n }\r\n if (v.Address && v.Address.Province) { pushData.Province = v.Address.Province.Name; }\r\n\r\n result.data.push(pushData);\r\n });\r\n return result;\r\n }\r\n },\r\n pageable: true\r\n }); \r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n \r\n\r\n\r\n// Function: createListView -------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n function alterDisplayedTable(e) {\r\n\r\n var grid = e.sender;\r\n var items = grid.items();\r\n\r\n items.each(function (idx, row) {\r\n var dataItem = grid.dataItem(row);\r\n var color = getRatingColor(dataItem.AggregateRating);\r\n if (dataItem.AggregateRating === 0) {\r\n $(this).find(\".rating-display\").css(\"color\", \"inherit\");\r\n } else {\r\n $(this).find(\".rating-display\").css(\"background-color\", color);\r\n }\r\n //if (dataItem.AggregateRating === 0) {\r\n // $(this).css(\"color\", \"inherit\");\r\n //} else {\r\n // $(this).css(\"background-color\", color);\r\n //}\r\n });\r\n\r\n loadClickEvents();\r\n\r\n };\r\n\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#inactive-mentors-list-container\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n //filterable: { mode: 'row' },\r\n filterable: {\r\n extra: false,\r\n operators: {\r\n string: {\r\n startswith: \"Starts with\",\r\n eq: \"Is equal to\",\r\n neq: \"Is not equal to\"\r\n }\r\n }\r\n },\r\n \r\n serverOperation:false,\r\n pageable: {\r\n refresh: true,\r\n pageSizes: true\r\n },\r\n columns:\r\n [{\r\n field: \"Display Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\" ,\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"large\")\r\n }, {\r\n field: \"EnterpriseCount\",\r\n title: \"Enterprise Count\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n }, {\r\n field: \"Availability\",\r\n title: \"Availability\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n },\r\n {\r\n field: \"Province\",\r\n title: \"Province\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\" ,\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"medium\")\r\n },\r\n {\r\n field: \"SpecialtyName\",\r\n title: \"Specialty Name\",\r\n filterable: {\r\n cell: {\r\n operator: \"contains\",\r\n showOperators: false\r\n }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n }, {\r\n field: \"AggregateRating\",\r\n title: \"Rating\",\r\n filterable: {\r\n cell: { operator: \"gte\" }\r\n },\r\n width: app.AppGrids.getGridColumnWidthSize(\"small\")\r\n },\r\n {\r\n title: \" \",\r\n width: 100\r\n }],\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n rowTemplate: kendo.template($(\"#inactive-mentors-list-template\").html())\r\n \r\n });\r\n var grid = $(\"#inactive-mentors-list-container\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", alterDisplayedTable);\r\n grid.dataSource.fetch(function () {\r\n grid.dataSource.pageSize(kendoDataSource.total());\r\n });\r\n};\r\n\r\n// Function: getInactiveMentors -------------------------------------------------------------------\r\nfunction getInactiveMentors(r) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppMentor.getInactiveMentors(1, 10000, \" \", null, null, null).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getRatingColor -------------------------------------------------------------------------\r\nfunction getRatingColor(value) {\r\n\r\n if (value >= 0 && value <= 2) {\r\n return \"#cc0000\"\r\n\r\n } else if (value > 2 && value <= 3) {\r\n return \"#cc6600\";\r\n\r\n } else if (value > 3 && value <= 4) {\r\n return \"#cccc00\";\r\n\r\n } else {\r\n return \"#60bd68\";\r\n }\r\n};\r\n\r\n// Function: loadClickEvents ------------------------------------------------------------------------\r\nfunction loadClickEvents() {\r\n\r\n $(\".restoreMentor\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"mentorName\");\r\n var id = $(this).attr(\"userId\");\r\n\r\n restoreMentor(name, id);\r\n });\r\n $(\".deleteMentor\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var name = $(this).attr(\"mentorName\");\r\n var id = $(this).attr(\"userId\");\r\n\r\n deleteMentor(name, id);\r\n });\r\n\r\n};\r\n\r\n// Function: deleteMentor -----------------------------------------------------------------------\r\nfunction deleteMentor(name, id, status) {\r\n\r\n var def = new $.Deferred();\r\n\r\n deleteConfirm(name).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n if (id) {\r\n\r\n app.AppAuth.deleteUser(id).then(\r\n\r\n function (data) {\r\n $('#inactive-mentors-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var title = \"\";\r\n var message = \"\";\r\n\r\n if (status === \"Active\") {\r\n title = \"Deactivated\",\r\n message = \"Mentor successfully deactivated.\"\r\n\r\n } else {\r\n title = \"Deleted\",\r\n message = \"Mentor successfully deleted.\"\r\n }\r\n\r\n var success = {\r\n title: title,\r\n message: message\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find mentor.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n }\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(mentor) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"Are you sure you want to delete \" +\r\n mentor +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"Please note that this mentor will be permanently deleted from the system.\";\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: restoreMentor ----------------------------------------------------------------------------\r\nfunction restoreMentor(mentor, id) {\r\n\r\n var def = new $.Deferred(); \r\n\r\n restoreConfirm(mentor).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n if (id) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppAuth.restoreUser(id).then(\r\n\r\n function (data) {\r\n $('#inactive-mentors-list-container').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Restored\",\r\n message: \"Mentor successfully restored.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n } else {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Cannot find mentor.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n }\r\n });\r\n\r\n};\r\n\r\n// Function: restoreConfirm -------------------------------------------------------------------------\r\nfunction restoreConfirm(mentor) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var data = {\r\n Id: \"restoreConfirmModal\",\r\n title: \"Confirmation\",\r\n body: \"Are you sure you want to restore \" + mentor + \"?\",\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar model = require(\"app_mvvm_models/custom/mentor/additional-info\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.validator;\r\n this.additionalInfo = [];\r\n this.showInfoPanel = false;\r\n this.additionalInfoToRemove = [];\r\n this.addAdditionalInfo = function () { addAdditionalInfo(this); };\r\n this.removeAdditionalInfo = function (e) { removeAdditionalInfo(e, this); };\r\n\r\n this.showUp = function (e) { return showUp(e, this); };\r\n this.showDown = function (e) { return showDown(e, this); };\r\n\r\n this.moveUp = function (e) { moveUp(e, this); };\r\n this.moveDown = function (e) { moveDown(e, this); };\r\n\r\n this.saveContinue = function () { saveContinue(this); };\r\n this.previous = function () { previous(this); };\r\n this.next = function () { next(this); };\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/monthly-report\", \"Mentor report - Additional Information\");\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var reportId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n getAdditionalInfo(reportId).then(\r\n\r\n function (data) {\r\n doFormValidation(viewmodel);\r\n bindClickEvents(viewmodel);\r\n setAddionalInfo(viewmodel, data);\r\n initializeEditors(viewmodel);\r\n showHideUpDownActions(viewmodel);\r\n refreshCarousel();\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n app.AppNotify.showError({\r\n title: \"Sorry!\",\r\n message: error\r\n });\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: next -----------------------------------------------------------------------------------\r\nfunction next(viewmodel) {\r\n\r\n app.AppTag.setTagsAnalyticsEvent(\"custom\", \"mentor report\", \"submitted\", \"Mentor report additional information submitted\");\r\n // Go to the next item\r\n var owl = $('#mentor-report-form-pages');\r\n owl.trigger('next.owl.carousel');\r\n\r\n app.AppRender.showView(\"#document-upload\", {\r\n html: \"./custom/mentor/report/document-upload\",\r\n viewmodel: \"./custom/mentor/report/document-upload\",\r\n code: \"./custom/mentor/report/document-upload\",\r\n });\r\n};\r\n\r\n// Function: previous -----------------------------------------------------------------------------------\r\nfunction previous(viewmodel) { \r\n\r\n // Go to the previous item\r\n var owl = $('#mentor-report-form-pages');\r\n owl.trigger('prev.owl.carousel', [300]);\r\n};\r\n\r\n// Function: getAdditionalInfo ----------------------------------------------------------------------\r\nfunction getAdditionalInfo(id) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppMentor.getMentorReportAdditionalInfo(id).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error)\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setAddionalInfo ------------------------------------------------------------------------\r\nfunction setAddionalInfo(viewmodel, data) {\r\n\r\n var additionalInfo = [];\r\n\r\n data.forEach(function (v, i) {\r\n\r\n additionalInfo.push(new model({\r\n \"Id\": v.Id,\r\n \"mentorMonthlyReportBaseId\": v.MentorMonthlyReportBaseId,\r\n \"heading\": v.Heading,\r\n \"text\": v.Text,\r\n \"order\": v.Order\r\n }));\r\n });\r\n\r\n viewmodel.set(\"additionalInfo\", additionalInfo);\r\n\r\n if (additionalInfo.length === 0)\r\n viewmodel.set(\"showInfoPanel\", true);\r\n};\r\n\r\n// Function: initializeEditors ----------------------------------------------------------------------\r\nfunction initializeEditors(viewmodel) {\r\n\r\n viewmodel.get(\"additionalInfo\").forEach(function (v, i) {\r\n var editor = $(\"#info_text_\" + v.uid).data('kendoEditor');\r\n\r\n if (!editor) {\r\n\r\n $(\"#info_text_\" + v.uid).kendoEditor({\r\n //resizable: { \r\n // toolbar: false\r\n //},\r\n resizable: false,\r\n tools: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"insertUnorderedList\",\r\n \"insertOrderedList\",\r\n \"createLink\",\r\n \"unlink\",\r\n \"subscript\",\r\n \"superscript\",\r\n ]\r\n });\r\n }\r\n });\r\n};\r\n\r\n// Function: bindClickEvents ------------------------------------------------------------------------\r\nfunction bindClickEvents(viewmodel) {\r\n\r\n $('body').unbind('click').on(\"click\", \".owl-next-click\", function () {\r\n save(viewmodel)\r\n });\r\n\r\n $(\".last-input-field-on-page\").keydown(function (e) {\r\n if (e.which == 9) {\r\n e.preventDefault();\r\n };\r\n });\r\n\r\n};\r\n\r\n// Function: addAdditionalInfo ----------------------------------------------------------------------\r\nfunction addAdditionalInfo(viewmodel) {\r\n\r\n var info = new model();\r\n info.order = viewmodel.get(\"additionalInfo\").length;\r\n info.mentorMonthlyReportBaseId = app.AppRouter.getCurrentRoute().params.id;\r\n viewmodel.get(\"additionalInfo\").push(info);\r\n\r\n viewmodel.set(\"showInfoPanel\", false);\r\n\r\n initializeEditors(viewmodel);\r\n showHideUpDownActions(viewmodel);\r\n refreshCarousel();\r\n};\r\n\r\n// Function: removeAdditionalInfo -------------------------------------------------------------------\r\nfunction removeAdditionalInfo(e, viewmodel) {\r\n\r\n var copy = viewmodel.get(\"additionalInfo\");\r\n\r\n var record = e.data;\r\n\r\n deleteConfirm(record).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n\r\n var index = copy.indexOf(record);\r\n\r\n copy.splice(index, 1);\r\n\r\n if (record.Id) {\r\n viewmodel.additionalInfoToRemove.push(record);\r\n };\r\n\r\n var updatedList = []\r\n copy.forEach(function (v, i) {\r\n v.order = i;\r\n updatedList.push(v);\r\n });\r\n\r\n viewmodel.set(\"additionalInfo\", updatedList);\r\n initializeEditors(viewmodel);\r\n showHideUpDownActions(viewmodel);\r\n\r\n if (updatedList.length > 0) {\r\n viewmodel.set(\"showInfoPanel\", false);\r\n\r\n } else {\r\n viewmodel.set(\"showInfoPanel\", true);\r\n }\r\n\r\n refreshCarousel();\r\n }\r\n });\r\n};\r\n\r\n// Function: shouldDisplayConfirmation --------------------------------------------------------------\r\nfunction shouldDisplayConfirmation(item) {\r\n\r\n if (item && item.heading === \"\" && item.text === \"\") {\r\n return false;\r\n\r\n } else {\r\n return true;\r\n };\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(item) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var confirm = shouldDisplayConfirmation(item)\r\n\r\n if (confirm) {\r\n var body = \"Are you sure you want to delete item \" + (item.order + 1) + \"?\"\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n } else {\r\n\r\n def.resolve(true);\r\n }\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: moveUp ---------------------------------------------------------------------------------\r\nfunction moveUp(e, viewmodel) {\r\n\r\n var copy = viewmodel.get(\"additionalInfo\");\r\n\r\n var record = copy.indexOf(e.data);\r\n\r\n var swopWith = record - 1;\r\n\r\n var swopDiv = $(\".additional-info_\" + copy[record].uid);\r\n var swopWithDiv = swopDiv.prev();\r\n var swopDistance = swopDiv.outerHeight();\r\n\r\n $.when(swopDiv.animate({\r\n top: -swopDistance\r\n }, 500),\r\n\r\n swopWithDiv.animate({\r\n top: swopDistance\r\n\r\n }, 500)).done(function () {\r\n\r\n var temp = e.data;\r\n\r\n copy[record] = copy[swopWith];\r\n copy[swopWith] = temp;\r\n\r\n var updatedList = []\r\n copy.forEach(function (v, i) {\r\n var info = new model();\r\n info.Id = v.Id;\r\n info.order = i;\r\n info.heading = v.heading;\r\n info.text = v.text;\r\n info.mentorMonthlyReportBaseId = v.mentorMonthlyReportBaseId\r\n info.dirty = true\r\n updatedList.push(info);\r\n });\r\n viewmodel.set(\"additionalInfo\", updatedList);\r\n initializeEditors(viewmodel);\r\n showHideUpDownActions(viewmodel);\r\n });\r\n};\r\n\r\n// Function: moveDown -------------------------------------------------------------------------------\r\nfunction moveDown(e, viewmodel) {\r\n\r\n var copy = viewmodel.get(\"additionalInfo\");\r\n\r\n var record = copy.indexOf(e.data);\r\n\r\n var swopWith = record + 1;\r\n\r\n var swopDiv = $(\".additional-info_\" + copy[record].uid);\r\n var swopWithDiv = swopDiv.next();\r\n var swopDistance = swopDiv.outerHeight();\r\n\r\n $.when(swopDiv.animate({\r\n bottom: -swopDistance\r\n\r\n }, 500),\r\n swopWithDiv.animate({\r\n bottom: swopDistance\r\n\r\n }, 500)).done(function () {\r\n\r\n var temp = e.data;\r\n\r\n copy[record] = copy[swopWith];\r\n copy[swopWith] = temp;\r\n\r\n var updatedList = []\r\n copy.forEach(function (v, i) {\r\n var info = new model();\r\n info.Id = v.Id;\r\n info.order = i;\r\n info.heading = v.heading;\r\n info.text = v.text;\r\n info.mentorMonthlyReportBaseId = v.mentorMonthlyReportBaseId;\r\n info.dirty = true;\r\n updatedList.push(info)\r\n });\r\n viewmodel.set(\"additionalInfo\", updatedList);\r\n initializeEditors(viewmodel);\r\n showHideUpDownActions(viewmodel);\r\n });\r\n};\r\n\r\n// Function: moveDown -------------------------------------------------------------------------------\r\nfunction showHideUpDownActions(viewmodel) {\r\n\r\n viewmodel.get(\"additionalInfo\").forEach(function (v, i) {\r\n\r\n if (showDown(v, viewmodel)) {\r\n $(\"#action_move-down_\" + v.uid).addClass(\"action-show\");\r\n $(\"#action_move-down_\" + v.uid).removeClass(\"action-hide\");\r\n\r\n } else {\r\n $(\"#action_move-down_\" + v.uid).addClass(\"action-hide\");\r\n $(\"#action_move-down_\" + v.uid).removeClass(\"action-show\");\r\n }\r\n\r\n if (showUp(v, viewmodel)) {\r\n $(\"#action_move-up_\" + v.uid).addClass(\"action-show\");\r\n $(\"#action_move-up_\" + v.uid).removeClass(\"action-hide\");\r\n\r\n } else {\r\n $(\"#action_move-up_\" + v.uid).addClass(\"action-hide\");\r\n $(\"#action_move-up_\" + v.uid).removeClass(\"action-show\");\r\n }\r\n });\r\n};\r\n\r\n// Function: showUp ---------------------------------------------------------------------------------\r\nfunction showUp(e, viewmodel) {\r\n\r\n var data = e;\r\n var showup = false;\r\n\r\n if (data.order > 0)\r\n showup = true;\r\n\r\n return showup;\r\n};\r\n\r\n// Function: showDown -------------------------------------------------------------------------------\r\nfunction showDown(e, viewmodel) {\r\n\r\n var data = e;\r\n var showDown = false;\r\n\r\n if (data.order + 1 < viewmodel.get(\"additionalInfo\").length)\r\n showDown = true;\r\n\r\n return showDown;\r\n};\r\n\r\n// Function: refreshCarousel ------------------------------------------------------------------------\r\nfunction refreshCarousel() {\r\n var owl = $('#mentor-report-form-pages');\r\n owl.trigger('refreshed.owl.carousel');\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation(viewmodel) {\r\n\r\n var validator = $(\"#additional-info-container\").kendoValidator(\r\n {\r\n rules: {\r\n },\r\n messages: {\r\n required: \"This field is required.\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n viewmodel.validator = validator;\r\n};\r\n\r\n// Function: saveContinue ---------------------------------------------------------------------------\r\nfunction saveContinue(viewmodel) {\r\n\r\n if (viewmodel.validator.validate()) {\r\n\r\n var def = new $.Deferred();\r\n updateOrder(viewmodel);\r\n var crud = buildCrudObject(viewmodel);\r\n\r\n if (crud && (crud.add.length > 0\r\n || crud.update.length > 0\r\n || crud.remove.length > 0)) {\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var promises = [];\r\n\r\n if (crud.add.length > 0)\r\n promises.push(add(crud.add));\r\n\r\n if (crud.update.length > 0)\r\n promises.push(update(crud.update));\r\n\r\n if (crud.remove.length > 0)\r\n promises.push(remove(crud.remove));\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n next();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Mentor monthly report additional information successfully saved.\"\r\n };\r\n \r\n app.AppNotify.showSuccess(success);\r\n def.resolve();\r\n },\r\n function () {\r\n var errorData = {\r\n title: \"Sorry!\",\r\n message: \"An error has occurred while saving additional information for mentor monthly report. Please reload page and try again, and if the problem persists, please contact support.\"\r\n };\r\n\r\n app.AppNotify.showError(errorData);\r\n def.reject();\r\n });\r\n\r\n } else {\r\n next();\r\n def.resolve();\r\n }\r\n\r\n } else {\r\n refreshCarousel();\r\n }\r\n};\r\n\r\n// Function: update ---------------------------------------------------------------------------------\r\nfunction update(updateCrud) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var promises = [];\r\n var addPromise;\r\n\r\n updateCrud.forEach(function (v, i) {\r\n\r\n addPromise = app.AppMentor.updateMentorReportAdditionalInfo({\r\n \"Id\": v.Id,\r\n \"Heading\": v.heading,\r\n \"Text\": v.text,\r\n \"Order\": v.order,\r\n \"MentorMonthlyReportBaseId\": v.mentorMonthlyReportBaseId\r\n });\r\n\r\n promises.push(addPromise);\r\n });\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n def.resolve();\r\n },\r\n function () {\r\n def.reject();\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: add ------------------------------------------------------------------------------------\r\nfunction add(addCrud) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var promises = [];\r\n var addPromise;\r\n\r\n addCrud.forEach(function (v, i) {\r\n\r\n addPromise = app.AppMentor.addMentorReportAdditionalInfo({\r\n \"Heading\": v.heading,\r\n \"Text\": v.text,\r\n \"Order\": v.order,\r\n \"MentorMonthlyReportBaseId\": v.mentorMonthlyReportBaseId\r\n });\r\n\r\n promises.push(addPromise);\r\n });\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n def.resolve();\r\n },\r\n function () {\r\n def.reject();\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: remove ---------------------------------------------------------------------------------\r\nfunction remove(removeCrud) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var promises = [];\r\n var addPromise;\r\n\r\n removeCrud.forEach(function (v, i) {\r\n\r\n addPromise = app.AppMentor.removeMentorReportAdditionalInfo({\r\n \"AdditionalInfoId\": v.Id,\r\n \"MentorMonthlyReportBaseId\": v.mentorMonthlyReportBaseId,\r\n });\r\n\r\n promises.push(addPromise);\r\n });\r\n\r\n $.when.apply(this, promises).then(\r\n\r\n function () {\r\n def.resolve();\r\n },\r\n function () {\r\n def.reject();\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: updateOrder ----------------------------------------------------------------------------\r\nfunction updateOrder(viewmodel) {\r\n viewmodel.get(\"additionalInfo\").forEach(function (v, i) {\r\n viewmodel.get(\"additionalInfo\")[i].order = i;\r\n });\r\n};\r\n\r\n// Function: buildCrudObject ------------------------------------------------------------------------\r\nfunction buildCrudObject(viewmodel) {\r\n\r\n var crudObject = {\r\n add: [],\r\n update: [],\r\n remove: viewmodel.get(\"additionalInfoToRemove\")\r\n };\r\n\r\n viewmodel.get(\"additionalInfo\").forEach(function (v, i) {\r\n\r\n if (v.dirty) {\r\n\r\n if (v.Id) {\r\n crudObject.update.push(v);\r\n\r\n } else {\r\n crudObject.add.push(v);\r\n }\r\n }\r\n });\r\n\r\n return crudObject;\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.data = new kendo.data.Model();\r\n this.argsParams = argsParams;\r\n this.backToReports = function () { backToReports(this); };\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/monthly-report-confirmation\", \"Mentor report - Confirmation\");\r\n\r\n var dateMonth = app.AppRouter.getCurrentRoute().params.date;\r\n viewmodel.data.set(\"dateMonth\", dateMonth.replace(\",\", \"\"));\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n var enterpriseName = app.AppRouter.getCurrentRoute().params.name;\r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#breadcrumb-second\").text(enterpriseName.toUpperCase());\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.eId;\r\n $(\"#breadcrumb-link\").attr(\"href\", \"#/enterprise/dashboard?id=\" + enterpriseId + \"&tab=reports\");\r\n } else {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"#/reports\");\r\n }\r\n\r\n\r\n};\r\n\r\n// Function: backToReports --------------------------------------------------------------------------------\r\nfunction backToReports(viewmodel) {\r\n var link = $(\"#breadcrumb-link\").attr(\"href\");\r\n app.AppRouter.router.navigate(link);\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/enterprise/enterprise\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.isDocumentEdit = false;\r\n this.documentModalOriginalState = \"\";\r\n this.documentName = \"\";\r\n this.documentSelected = false;\r\n this.documentFileName = \"\";\r\n this.reportMonth = \"\";\r\n this.enterpriseName = \"\";\r\n this.enterpriseId = \"\";\r\n this.showInfoPanel = false;\r\n this.isDashboardEmbedded = false;\r\n this.isEditButtonVisible = false;\r\n this.showhideAdd = false;\r\n this.isDeactivateButtonVisible = false;\r\n this.isDocumentDownloadButtonVisible = true;\r\n this.documents = [];\r\n this.permissions = [];\r\n this.dummyViewmodelElement = \"\";\r\n this.argsParams = argsParams;\r\n this.data = new model();\r\n this.documentRecord = { id: \"\", enterpriseId: this.data.Id, documentName: \"\", file: \"\", reportMonth: \"\" };\r\n this.uploadedFiles = [];\r\n this.previous = function () { previous(this); };\r\n this.finish = function () { finish(this); };\r\n this.startup = function () { startup(this); };\r\n\r\n this.addDocument = function (e) { addDocument(e, this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n // setTimeout( //delay displaying list because grid is not rendered in time. see Task-10583-377\r\n // function () {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/monthly-report\", \"Mentor report - Documents Upload\");\r\n\r\n var def = $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n $(\"#confirmation-modal\").prependTo(\"#primary-content\");\r\n if ((app.AppRouter.getCurrentRoute().url).indexOf(\"dashboard\") !== -1) {\r\n viewmodel.set(\"isDashboardEmbedded\", true);\r\n populatePageUsingEnterpriseIdReportMonth(viewmodel, def);\r\n } else {\r\n $(\"#documents-modal\").prependTo(\".tabnav:first\"); //move modal out of owl\r\n viewmodel.set(\"isDashboardEmbedded\", false);\r\n populatePageUsingMentorReportBaseId(viewmodel, def);\r\n }\r\n // },\r\n // 500);\r\n};\r\n\r\n// Function: populatePageUsingMentorReportBaseId --------------------------------------------------------------------------------\r\nfunction populatePageUsingMentorReportBaseId(viewmodel, def) {\r\n var mentorReportBaseId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n app.AppMentor.getMentorMonthlyReport(mentorReportBaseId).then(\r\n function (monthlyReport) {\r\n viewmodel.set(\"reportMonth\", monthlyReport.data.ReportMonth);\r\n viewmodel.set(\"enterpriseName\", monthlyReport.data.EnterpriseName);\r\n viewmodel.set(\"enterpriseId\", monthlyReport.data.EnterpriseId);\r\n getMentorReportDocuments(viewmodel).then(\r\n function (data) {\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n}\r\n\r\n// Function: populatePageUsingEnterpriseIdReportMonth --------------------------------------------------------------------------------\r\nfunction populatePageUsingEnterpriseIdReportMonth(viewmodel, def) {\r\n var entepriseId = app.AppRouter.getCurrentRoute().params.id;\r\n viewmodel.set(\"enterpriseId\", entepriseId);\r\n getEnterpriseName(viewmodel, entepriseId);\r\n getMentorReportDocuments(viewmodel).then(\r\n function (data) {\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n}\r\n\r\n// Function: getEnterpriseName ----------------------------------------------------------------------\r\nfunction getEnterpriseName(viewmodel, id) {\r\n\r\n app.AppEnterprise.getEnterpriseById(id).then(\r\n function (data) {\r\n //a bit hacky but gets the work done.\r\n if (data.Name) {\r\n $(\"#main-page-title\").text(data.Name.toUpperCase());\r\n\r\n if (app.AppRouter.getCurrentRoute().params.fund) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/fund/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.fund + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.programme) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/programme/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.programme + \"&tab=enterprises\");\r\n } else if (app.AppRouter.getCurrentRoute().params.mentor) {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"/#/mentor/dashboard?id=\" + app.AppRouter.getCurrentRoute().params.mentor + \"&tab=enterprises\");\r\n }\r\n\r\n viewmodel.set(\"enterpriseName\", data.Name);\r\n }\r\n });\r\n};\r\n\r\n// Function: getMentorReportDocuments ---------------------------------------------------------------\r\nfunction getMentorReportDocuments(viewmodel) {\r\n var def = new $.Deferred();\r\n var enterpriseId = viewmodel.get(\"enterpriseId\");\r\n var reportMonth = \"\";\r\n if (viewmodel.get(\"reportMonth\")) {\r\n reportMonth = viewmodel.get(\"reportMonth\");\r\n }\r\n\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n app.AppMentor.getMentorReportDocuments(enterpriseId, reportMonth).then(\r\n function (result) {\r\n\r\n viewmodel.set(\"permissions\", result.data.enterprisePermissions);\r\n\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (loggedInUser !== \"Enterprise\") {\r\n\r\n if (loggedInUser === \"Manager\") {\r\n if (viewmodel.get(\"permissions\").length > 0) {\r\n viewmodel.set(\"showhideAdd\", true);\r\n }\r\n\r\n } else {\r\n viewmodel.set(\"showhideAdd\", true);\r\n }\r\n };\r\n\r\n options.success(result);\r\n if (!viewmodel.get(\"isDashboardEmbedded\")) { refreshCarousel(); }\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n parse: function (apiResult) {\r\n var result = {\r\n data: apiResult.data.documents\r\n };\r\n\r\n if (apiResult.data.documents.length === 0) {\r\n viewmodel.set(\"showInfoPanel\", true);\r\n\r\n } else {\r\n viewmodel.set(\"showInfoPanel\", false);\r\n }\r\n\r\n return result;\r\n }\r\n }\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n return def.promise();\r\n};\r\n\r\n// Function: createGrid -----------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource, viewmodel) {\r\n\r\n function grid_dataBound(e) {\r\n\r\n var loggedInUser = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n $(\"#grid-documents tbody tr .k-grid-DELETE\").each(function () {\r\n\r\n if (loggedInUser === \"Manager\" &&\r\n viewmodel.get(\"permissions\").length === 0) {\r\n $(this).remove();\r\n }\r\n });\r\n\r\n $(\"#grid-documents tbody tr .k-grid-EDIT\").each(function () {\r\n\r\n if (loggedInUser === \"Manager\" &&\r\n viewmodel.get(\"permissions\").length === 0) {\r\n $(this).remove();\r\n }\r\n });\r\n };\r\n\r\n $(\"#grid-documents\").empty();\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#grid-documents\").kendoGrid({\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n noRecords: {\r\n template: \"
    No documents are available.

    \"\r\n },\r\n columns: [{\r\n template: \"#: Name #\",\r\n field: \"Name\",\r\n title: \"Name\"\r\n //width: 100\r\n }, {\r\n field: \"ReportMonth\",\r\n title: \"Report Month\"\r\n //width: 100\r\n },\r\n {\r\n command: [\r\n { text: \"DOWNLOAD\", click: documentDownload },\r\n { text: \"EDIT\", click: documentEdit },\r\n { text: \"DELETE\", click: documentDelete }],\r\n title: \" \",\r\n width: 350\r\n }\r\n ]\r\n });\r\n\r\n var grid = $(\"#grid-documents\").data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", grid_dataBound);\r\n //grid.dataSource.fetch();\r\n\r\n};\r\n\r\n// Function: getRowDocument -------------------------------------------------------------------------\r\nfunction getRowDocument(e, passedItemEvent) {\r\n e.preventDefault();\r\n var closestTr = $(e.currentTarget).closest(\"tr\");\r\n var document = passedItemEvent.dataItem(closestTr);\r\n\r\n var documentData = {\r\n Name: document.Name,\r\n File: document.FileName,\r\n Id: document.Id,\r\n ReportMonth: document.ReportMonth\r\n };\r\n return documentData;\r\n}\r\n\r\n// Function: documentDownload -----------------------------------------------------------------------\r\nfunction documentDownload(e) {\r\n var document = getRowDocument(e, this);\r\n downloadFile(document);\r\n};\r\n\r\n// Function: documentEdit ---------------------------------------------------------------------------\r\nfunction documentEdit(e) {\r\n var document = getRowDocument(e, this);\r\n var viewmodel = $('#dummy-viewmodel-element').get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n updateDocument(document, viewmodel)\r\n};\r\n\r\n// Function: documentDelete -------------------------------------------------------------------------\r\nfunction documentDelete(e) {\r\n var document = getRowDocument(e, this);\r\n var viewmodel = $('#dummy-viewmodel-element').get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n documentDeleteCommence(document, viewmodel)\r\n};\r\n\r\n// Function: documentDeleteCommence -----------------------------------------------------------------\r\nfunction documentDeleteCommence(document, viewmodel) {\r\n var reportMonth = document.ReportMonth;\r\n var def = new $.Deferred();\r\n deleteConfirm(reportMonth).then(\r\n\r\n function (confirm) {\r\n\r\n if (confirm) {\r\n app.AppLoading.show(\"Loading...\", def);\r\n app.AppMentor.deleteMentorReportDocument(document.Id).then(\r\n\r\n function (data) {\r\n $('#confirmation-modal').modal('hide');\r\n $('#grid-documents').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n var success = {\r\n title: \"Deleted\",\r\n message: \"Document successfully deleted.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n function (error) {\r\n\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n\r\n\r\n }\r\n });\r\n};\r\n\r\n// Function: deleteConfirm --------------------------------------------------------------------------\r\nfunction deleteConfirm(month) {\r\n\r\n var def = new $.Deferred();\r\n\r\n var body = \"Are you sure you want to delete this document for the month of \" +\r\n month +\r\n \"?\" +\r\n \"\\n\\n\" +\r\n \"Please note that this document will be permanently deleted from the system.\";\r\n\r\n var data = {\r\n Id: \"deleteConfirmModal\",\r\n title: \"Confirmation\",\r\n body: body,\r\n yesButtonText: \"YES\",\r\n noButtonText: \"CANCEL\"\r\n };\r\n\r\n var showIn = \"confirmation-modal\";\r\n\r\n app.AppDialog.showConfirmation(data, showIn).then(\r\n\r\n function (confirm) {\r\n def.resolve(confirm);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addDatePickerToModal ----------------------------------------------------------------------\r\nfunction addDatePickerToModal(viewmodel, addMode) {\r\n if (addMode) {\r\n viewmodel.documentRecord.set(\"reportMonth\", \"\");\r\n }\r\n var datepicker = $(\"#report-month-picker\").data(\"kendoDatePicker\");\r\n if (datepicker) {\r\n datepicker.destroy();\r\n $(\"#report-month-picker\").empty();\r\n }\r\n $(\"#report-month-picker\").kendoDatePicker({\r\n depth: \"year\",\r\n start: \"year\",\r\n format: \"MMMM yyyy\"\r\n\r\n });\r\n\r\n $(\"#report-month-picker\").bind(\"click\", function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n\r\n $(\"#report-month-picker\").bind(\"focus\", function () {\r\n $(this).data(\"kendoDatePicker\").open();\r\n });\r\n\r\n $(\"#report-month-picker\").val(viewmodel.documentRecord.get(\"reportMonth\"));\r\n\r\n}\r\n\r\n// Function: showDocumentModal ----------------------------------------------------------------------\r\nfunction showDocumentModal(viewmodel, addMode) {\r\n var modalOriginalState = $(\"#documents-modal\").clone();//before we change the modal, save the original state(html)\r\n viewmodel.set(\"documentModalOriginalState\", modalOriginalState);\r\n\r\n\r\n if (viewmodel.get(\"isDashboardEmbedded\")) {\r\n addDatePickerToModal(viewmodel, document.reportMonth);\r\n }\r\n\r\n var documentUpload = $(\"#document-downloader\").data(\"kendoUpload\");\r\n\r\n if (!documentUpload) {\r\n\r\n $(\"#document-downloader\").kendoUpload({\r\n async: {\r\n saveUrl: \"api/Upload/UploadDocument\",\r\n //removeUrl: \"Upload/Save\",\r\n autoUpload: false,\r\n },\r\n select: function (e) {\r\n onSelect(e, viewmodel);\r\n },\r\n error: function (e) {\r\n onError(e, viewmodel)\r\n },\r\n success: function (e) {\r\n onSuccess(e, viewmodel);\r\n },\r\n cancel: function (e) {\r\n onCancel(e, viewmodel);\r\n },\r\n upload: function (e) {\r\n onUpload(e, viewmodel);\r\n },\r\n localization: {\r\n select: \"SELECT FILE...\"\r\n },\r\n files: viewmodel.get(\"uploadedFiles\"),\r\n multiple: false\r\n });\r\n }\r\n\r\n $('#documents-modal').modal('show');\r\n\r\n $('#documents-modal').on('hidden.bs.modal', function () {\r\n resetDocumentForm(viewmodel);\r\n });\r\n\r\n documentModalSaveClick(viewmodel);\r\n};\r\n\r\n// Function: documentModalSaveClick -----------------------------------------------------------------\r\nfunction documentModalSaveClick(viewmodel) {\r\n\r\n $(\".uploadDocument\").on(\"click\", function (e) {\r\n\r\n uploadDocument(viewmodel);\r\n });\r\n $(\"#document-name\").focus();\r\n};\r\n\r\n\r\n// Function: uploadDocument -------------------------------------------------------------------------\r\nfunction uploadDocument(viewmodel) {\r\n\r\n if (doFormValidation()) {\r\n if (viewmodel.get(\"isDocumentEdit\")) {\r\n if (viewmodel.get(\"documentSelected\")) {\r\n $(\".k-upload-selected\").trigger(\"click\");\r\n\r\n } else {\r\n saveDocumentRecord(viewmodel);\r\n }\r\n\r\n } else {\r\n if (viewmodel.get(\"documentSelected\")) {\r\n $(\".k-upload-selected\").trigger(\"click\");\r\n\r\n\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Please select a file.\"\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n }\r\n }\r\n }\r\n};\r\n\r\n// Function: addDocument ----------------------------------------------------------------------------\r\nfunction addDocument(e, viewmodel) {\r\n e.preventDefault();\r\n viewmodel.get(\"uploadedFiles\", []);\r\n viewmodel.documentRecord.set(\"documentName\", \"\");\r\n $(\"#document-name\").val(\"\");\r\n viewmodel.documentRecord.set(\"id\", \"\");\r\n viewmodel.documentRecord.set(\"reportMonth\", \"\");\r\n viewmodel.documentRecord.set(\"file\", \"\");\r\n viewmodel.set(\"isDocumentEdit\", false);\r\n\r\n showDocumentModal(viewmodel, true);\r\n};\r\n\r\n// Function: updateDocument -------------------------------------------------------------------------\r\nfunction updateDocument(document, viewmodel) {\r\n\r\n viewmodel.uploadedFiles.push({ name: document.File });\r\n viewmodel.documentRecord.set(\"documentName\", document.Name);\r\n $(\"#document-name\").val(document.Name);\r\n viewmodel.documentRecord.set(\"id\", document.Id);\r\n viewmodel.documentRecord.set(\"reportMonth\", document.ReportMonth);\r\n viewmodel.documentRecord.set(\"file\", document.File);\r\n viewmodel.set(\"isDocumentEdit\", true);\r\n showDocumentModal(viewmodel, document);\r\n};\r\n\r\n\r\n// Function: onUpload -------------------------------------------------------------------------------\r\nfunction onUpload(e, viewmodel) {\r\n\r\n var fileName = \"\";\r\n var files = e.files[0];\r\n\r\n if (files) {\r\n fileName = buildUploadFileName(viewmodel, e);\r\n\r\n } else {\r\n fileName = viewmodel.documentRecord.get(\"file\");\r\n }\r\n\r\n e.data = {};\r\n e.data[\"fileName\"] = fileName;\r\n};\r\n\r\n// Function: onSuccess ------------------------------------------------------------------------------\r\nfunction onSuccess(e, viewmodel) {\r\n\r\n if (e.operation === \"upload\") {\r\n saveDocumentRecord(viewmodel);\r\n };\r\n};\r\n\r\n// Function: onError --------------------------------------------------------------------------------\r\nfunction onError(e) {\r\n\r\n var error = e.XMLHttpRequest.responseText;\r\n\r\n if (e.operation === \"upload\") {\r\n $('#documents-modal').modal('hide');\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n };\r\n};\r\n\r\n// Function: onCancel -------------------------------------------------------------------------------\r\nfunction onCancel() {\r\n $('#documents-modal').modal('hide');\r\n};\r\n\r\n// Function: downloadFile ---------------------------------------------------------------------------\r\nfunction downloadFile(download) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def, true);\r\n\r\n app.AppMentor.getMentorReportDocumentBase64(download.Id).then(\r\n\r\n function (base64) {\r\n\r\n var extension = download.File.split(\".\")[1];\r\n var dataURI = \"data:text/plain;base64,\" + base64;\r\n kendo.saveAs({\r\n dataURI: dataURI,\r\n fileName: download.Name + \".\" + extension\r\n });\r\n\r\n def.resolve();\r\n\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n};\r\n\r\n// Function: onSelect -------------------------------------------------------------------------------\r\nfunction onSelect(e, viewmodel) {\r\n\r\n var fileSize = e.files[0].size;\r\n var fileType = e.files[0].extension.toLowerCase();\r\n\r\n if (!checkValidUploadFileType(fileType)) {\r\n e.preventDefault();\r\n return;\r\n };\r\n\r\n if (!checkValidUploadFileSize(fileSize)) {\r\n e.preventDefault();\r\n return;\r\n };\r\n\r\n viewmodel.set(\"documentSelected\", true);\r\n $(\"#document-downloader\").closest(\".k-upload\").find(\"span\").text(\"CHANGE FILE...\");\r\n};\r\n\r\n// Function: buildUploadFileName --------------------------------------------------------------------\r\nfunction buildUploadFileName(viewmodel, e) {\r\n\r\n var documentName = viewmodel.documentRecord.get(\"documentName\");\r\n var enterprise = viewmodel.get(\"enterpriseId\");\r\n var fileName = \"\";\r\n\r\n var date = new Date();\r\n\r\n var datetime = date.getDate().toString();\r\n datetime += (date.getMonth() + 1).toString();\r\n datetime += date.getFullYear().toString();\r\n datetime += date.getHours().toString();\r\n datetime += date.getMinutes().toString();\r\n datetime += date.getSeconds().toString();\r\n datetime += date.getMilliseconds().toString();\r\n\r\n var extension = e.files[0].extension.toLowerCase();\r\n fileName += enterprise + \"-\" + documentName + \"-\" + datetime + extension;\r\n\r\n viewmodel.documentRecord.set(\"file\", fileName);\r\n\r\n return fileName;\r\n};\r\n\r\n// Function: checkValidUploadFileSize ---------------------------------------------------------------\r\nfunction checkValidUploadFileType(fileType) {\r\n\r\n var validFileTypes = [\".jpg\", \". jpeg\", \".gif\", \".png\", \".pdf\", \".doc\", \".docx\", \".csv\", \".xlsm\", \".xlsx\", \".xlt\", \".zip\"];\r\n var found = validFileTypes.indexOf(fileType);\r\n if (found > -1) {\r\n return true;\r\n\r\n } else {\r\n var types = \"\";\r\n validFileTypes.forEach(function (value, index) {\r\n types += value + \"
    \";\r\n });\r\n\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File type is not surported. Below is a list of valid types:
    \" + types\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n return false;\r\n };\r\n};\r\n\r\n// Function: checkValidUploadFileSize ---------------------------------------------------------------\r\nfunction checkValidUploadFileSize(fileSize) {\r\n\r\n var mbLimit = 32;\r\n if (fileSize > mbLimit * 1000000) {\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File size should be less than \" + mbLimit + \"MB\"\r\n };\r\n app.AppNotify.showWarningr(invalid);\r\n return false;\r\n\r\n } else {\r\n return true;\r\n };\r\n};\r\n\r\n// Function: doFormValidation -----------------------------------------------------------------------\r\nfunction doFormValidation() {\r\n\r\n var validator = $(\"#documents-modal\").kendoValidator(\r\n {\r\n messages: {\r\n required: \"This field is required.\"\r\n }\r\n }\r\n ).data(\"kendoValidator\");\r\n\r\n return validator.validate();\r\n};\r\n\r\n// Function: saveDocumentRecord ----------------------------------------------------------------------\r\nfunction saveDocumentRecord(viewmodel) {\r\n\r\n if (viewmodel.get(\"isDocumentEdit\")) {\r\n editDocument(viewmodel);\r\n\r\n } else {\r\n createNewDocument(viewmodel);\r\n }\r\n};\r\n\r\n// Function: getReportmonthFromViewmodel ----------------------------------------------------------------------\r\nfunction getReportmonthFromViewmodel(viewmodel) {\r\n var reportMonth = \"\";\r\n if (viewmodel.get(\"isDashboardEmbedded\")) {\r\n reportMonth = $(\"#report-month-picker\").val();\r\n viewmodel.documentRecord.set(\"reportMonth\", reportMonth);\r\n } else {\r\n reportMonth = viewmodel.get(\"reportMonth\");\r\n }\r\n return reportMonth;\r\n}\r\n\r\n\r\n// Function: createNewDocument ----------------------------------------------------------------------\r\nfunction createNewDocument(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n var documentName = $(\"#document-name\").val();\r\n viewmodel.documentRecord.set(\"documentName\", documentName);\r\n\r\n var newDocument = {\r\n EnterpriseId: viewmodel.get(\"enterpriseId\"),\r\n Name: viewmodel.documentRecord.get(\"documentName\"),\r\n FileName: viewmodel.documentRecord.get(\"file\"),\r\n ReportMonth: getReportmonthFromViewmodel(viewmodel)\r\n };\r\n\r\n app.AppMentor.addMentorReportDocument(newDocument).then(\r\n\r\n function (results) {\r\n\r\n $('#documents-modal').modal('hide');\r\n\r\n\r\n $('#grid-documents').data('kendoGrid').dataSource.read();\r\n\r\n def.resolve(results.data);\r\n\r\n var success = {\r\n title: \"Uploaded!\",\r\n message: \"Your document was uploaded successfully.\"\r\n };\r\n\r\n app.AppNotify.showSuccess(success);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: editDocument ---------------------------------------------------------------------------\r\nfunction editDocument(viewmodel) {\r\n\r\n var def = $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n var documentName = $(\"#document-name\").val();\r\n viewmodel.documentRecord.set(\"documentName\", documentName);\r\n\r\n var updateDocument = {\r\n EnterpriseId: viewmodel.get(\"enterpriseId\"),\r\n Name: viewmodel.documentRecord.get(\"documentName\"),\r\n FileName: viewmodel.documentRecord.get(\"file\"),\r\n ReportMonth: getReportmonthFromViewmodel(viewmodel),\r\n Id: viewmodel.documentRecord.get(\"id\")\r\n };\r\n\r\n app.AppMentor.updateMentorReportDocument(updateDocument).then(\r\n\r\n function (data) {\r\n\r\n $('#documents-modal').modal('hide');\r\n $('#grid-documents').data('kendoGrid').dataSource.read();\r\n def.resolve();\r\n\r\n var success = {\r\n title: \"Uploaded!\",\r\n message: \"Your document was updated successfully.\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: resetDocumentForm ----------------------------------------------------------------------\r\nfunction resetDocumentForm(viewmodel) {\r\n viewmodel.set(\"documentSelected\", false);\r\n viewmodel.set(\"isDocumentEdit\", false);\r\n viewmodel.set(\"uploadedFiles\", []);\r\n\r\n $(\".k-upload-status\").remove();\r\n $(\".k-upload.k-header\").addClass(\"k-upload-empty\");\r\n $(\".k-upload-button\").removeClass(\"k-state-focused\");\r\n $(\"#document-downloader\").data(\"kendoUpload\").destroy();\r\n\r\n var modalOriginalState = viewmodel.get(\"documentModalOriginalState\");\r\n $(\"#documents-modal\").replaceWith(modalOriginalState);\r\n viewmodel.set(\"documentModalOriginalState\", \"\");\r\n\r\n};\r\n\r\n// Function: finish -----------------------------------------------------------------------------------\r\nfunction finish(viewmodel) {\r\n\r\n var enterpriseName = $(\"#breadcrumb-second\").text();\r\n var month = $(\"#report-month\").text();\r\n var enterpriseId = viewmodel.get(\"enterpriseId\");\r\n var mentorReportBaseId = app.AppRouter.getCurrentRoute().params.id;\r\n app.AppTag.setTagsAnalyticsEvent(\"custom\", \"mentor report\", \"submitted\", \"Mentor report documents submitted\");\r\n app.AppRouter.router.navigate(\"/mentor/monthly-report-confirmation?date=\" + month + \"&name=\" + enterpriseName + \"&eId=\" + enterpriseId);\r\n};\r\n\r\n// Function: previous -----------------------------------------------------------------------------------\r\nfunction previous(viewmodel) {\r\n\r\n app.AppRender.showView(\"#additional-info\", {\r\n html: \"./custom/mentor/report/additional-info\",\r\n viewmodel: \"./custom/mentor/report/additional-info\",\r\n code: \"./custom/mentor/report/additional-info\",\r\n });\r\n\r\n // Go to the previous item\r\n var owl = $('#mentor-report-form-pages');\r\n owl.trigger('prev.owl.carousel', [300]);\r\n};\r\n\r\n// Function: refreshCarousel ------------------------------------------------------------------------\r\nfunction refreshCarousel() {\r\n var owl = $('#mentor-report-form-pages');\r\n owl.trigger('refreshed.owl.carousel');\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\nvar model = require(\"app_mvvm_models/custom/mentor/enterprise-rating\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n\r\n this.argsParams = argsParams;\r\n this.enterpriseRatings = [];\r\n this.mentorReportBaseId = \"\";\r\n this.isMentorUser = false;\r\n this.notApplicable = false;\r\n this.hideShowSlider = function () { hideShowSlider(this); };\r\n this.next = function () { next(this); };\r\n this.cancel = function () { cancel(this); };\r\n this.startup = function () { startup(this); };\r\n}\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/monthly-report\", \"Mentor report - Mentor rating\");\r\n\r\n var reportId = app.AppRouter.getCurrentRoute().params.id;\r\n if (reportId) {\r\n checkUserRole(viewmodel);\r\n viewmodel.mentorReportBaseId = reportId;\r\n getBindEnterpriseRating(viewmodel).then(\r\n function () {\r\n initToggle(viewmodel);\r\n hideShowSlider(viewmodel);\r\n },\r\n function (error) {\r\n });\r\n\r\n } else {\r\n\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load mentor rating.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n}\r\n\r\n// Function: initToggle -------------------------------------------------------------\r\nfunction initToggle(viewmodel) {\r\n $(function () {\r\n $('#notApplicable').checkboxpicker({\r\n html: true,\r\n offLabel: 'YES',\r\n onLabel: 'NO'\r\n });\r\n\r\n $('#notApplicable').on('change', function () {\r\n hideShowSlider(viewmodel);\r\n });\r\n });\r\n}\r\n\r\n\r\n// Function: hideShowSlider -------------------------------------------------------------\r\nfunction hideShowSlider(viewmodel) {\r\n var notApplicableValue = $(\"#notApplicable\").is(':checked');\r\n if (notApplicableValue) {\r\n // $(\"#question-contents\").hide();\r\n viewmodel.enterpriseRatings.forEach(function (v, i) {\r\n var slider = $(\"#answer-question-\" + v.mentorEnterpriseQuestionId).data(\"kendoSlider\");\r\n slider.value(1);\r\n slider.enable(false);\r\n slider.trigger(\"change\", { value: slider.value() });\r\n });\r\n } else {\r\n //$(\"#question-contents\").show();\r\n viewmodel.enterpriseRatings.forEach(function (v, i) {\r\n var slider = $(\"#answer-question-\" + v.mentorEnterpriseQuestionId).data(\"kendoSlider\");\r\n slider.enable(true);\r\n slider.trigger(\"change\", { value: slider.value() });\r\n });\r\n \r\n }\r\n refreshCarousel();\r\n}\r\n\r\n// Function: refreshCarousel ------------------------------------------------------------------------\r\nfunction refreshCarousel() {\r\n var owl = $('#mentor-report-form-pages');\r\n owl.trigger('refreshed.owl.carousel');\r\n}\r\n\r\n// Function: next -----------------------------------------------------------------------------------\r\nfunction next(viewmodel) {\r\n\r\n var isFormValid = validateForm();\r\n if (!isFormValid) {\r\n return;\r\n }\r\n\r\n var updateData = buildRatingsObject(viewmodel);\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppMentor.updateMonthlyEnterpriseRating(updateData).then(\r\n function (result) {\r\n def.resolve();\r\n var success = {\r\n title: \"Success\",\r\n message: \"Enterprise rating successfully saved.\"\r\n };\r\n\r\n app.AppTag.setTagsAnalyticsEvent(\"custom\", \"mentor report\", \"submitted\", \"Mentor report enterprise rating submitted\");\r\n app.AppNotify.showSuccess(success);\r\n\r\n app.AppRender.showView(\"#additional-info\", {\r\n html: \"./custom/mentor/report/additional-info\",\r\n viewmodel: \"./custom/mentor/report/additional-info\",\r\n code: \"./custom/mentor/report/additional-info\"\r\n });\r\n\r\n // Go to the next item\r\n var owl = $('#mentor-report-form-pages');\r\n owl.trigger('next.owl.carousel');\r\n\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n\r\n}\r\n\r\n// Function: cancel ---------------------------------------------------------------------------------\r\nfunction cancel(viewmodel) {\r\n var href = $(\"#breadcrumb-link\").attr(\"href\");\r\n app.AppRouter.router.navigate(href);\r\n}\r\n\r\n\r\n// Function: checkUserRole --------------------------------------------------------------------------\r\nfunction checkUserRole(viewmodel) {\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n viewmodel.set(\"isMentorUser\", true);\r\n } else {\r\n viewmodel.set(\"isMentorUser\", false);\r\n }\r\n}\r\n\r\n// Function: getBindEnterpriseRating ----------------------------------------------------------------\r\nfunction getBindEnterpriseRating(viewmodel) {\r\n\r\n var def = new $.Deferred();\r\n\r\n app.AppLoading.show(\"Loading...\", def);\r\n\r\n app.AppMentor.getMentorMonthlyReport(viewmodel.mentorReportBaseId).then(function (monthlyReportResult) {\r\n setMentorMonthlyEnterpriseReport(viewmodel, monthlyReportResult.data);\r\n initFundAndProgrammeDropDown(monthlyReportResult, viewmodel);\r\n\r\n app.AppMentor.getMonthlyEnterpriseRating(viewmodel.mentorReportBaseId).then(\r\n function (ratingResult) {\r\n setEnterpriseRating(viewmodel, ratingResult);\r\n def.resolve();\r\n },\r\n\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n\r\n },\r\n function (error) {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n def.reject();\r\n });\r\n return def.promise();\r\n}\r\n\r\n\r\n// Function: setMentorMonthlyEnterpriseReport -------------------------------------------------------\r\nfunction setMentorMonthlyEnterpriseReport(viewmodel, report) {\r\n\r\n var role = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (role !== \"Enterprise\") {\r\n var enterpriseName = app.AppRouter.getCurrentRoute().params.name;\r\n $(\".breadcrumbs\").removeClass(\"hidden\");\r\n $(\"#breadcrumb-second\").text(report.EnterpriseName.toUpperCase());\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.eId;\r\n $(\"#breadcrumb-link\").attr(\"href\", \"#/enterprise/dashboard?id=\" + report.EnterpriseId + \"&tab=reports\");\r\n } else {\r\n $(\"#breadcrumb-link\").attr(\"href\", \"#/reports\");\r\n }\r\n\r\n\r\n var date = kendo.parseDate(report.ReportMonth, \"MM/yyyy\");\r\n var month = kendo.toString(new Date(date), \"y\").replace(\",\", \" \");\r\n\r\n $(\"#enterprise-name\").text(report.EnterpriseName);\r\n\r\n $('#enterprise-name').off('click');\r\n\r\n $(\"#enterprise-name\").click(function (e) {\r\n backToReports();\r\n });\r\n\r\n $(\"#report-month\").text(month);\r\n\r\n}\r\n\r\nfunction backToReports() {\r\n var link = $(\"#breadcrumb-link\").attr(\"href\");\r\n app.AppRouter.router.navigate(link);\r\n};\r\n\r\n// Function: setEnterpriseRating --------------------------------------------------------------------\r\nfunction setEnterpriseRating(viewmodel, data) {\r\n var questionAnswers = [];\r\n data.Answers.forEach(function (v, i) {\r\n var answer = new model();\r\n answer.set(\"mentorEnterpriseQuestionId\", v.Question.Id);\r\n answer.set(\"questionName\", v.Question.Name);\r\n answer.set(\"answer\", v.Answer);\r\n answer.set(\"mentorMonthlyEnterpriseRatingId\", v.MentorMonthlyEnterpriseRatingId);\r\n answer.set(\"id\", v.Id);\r\n questionAnswers.push(answer);\r\n });\r\n viewmodel.set(\"enterpriseRatings\", questionAnswers);\r\n viewmodel.set(\"notApplicable\", data.NotApplicable);\r\n initSliders(viewmodel);\r\n}\r\n\r\n// Function: initSliders ----------------------------------------------------------------------------\r\nfunction initSliders(viewmodel) {\r\n $(\".slider\").kendoSlider({\r\n precision: 1,\r\n smallStep: 0.5,\r\n largeStep: 1,\r\n min: 1,\r\n max: 5,\r\n value: 0,\r\n change: sliderChange,\r\n drag: sliderChange,\r\n slide: sliderChange,\r\n tooltip: {\r\n format: \"{0:#,#.####}\"\r\n }\r\n });\r\n viewmodel.enterpriseRatings.forEach(function (v, i) {\r\n var slider = $(\"#answer-question-\" + v.mentorEnterpriseQuestionId).data(\"kendoSlider\");\r\n slider.value(v.answer);\r\n slider.trigger(\"change\", { value: slider.value() });\r\n });\r\n\r\n}\r\n\r\n// Function: sliderChange -----------------------------------------------------------------------------------\r\nfunction sliderChange(e) {\r\n\r\n //var color = getSliderColor(e.value);\r\n //$(e.sender.wrapper).find(\".k-draghandle\").css(\"border-color\", color);\r\n //$(e.sender.wrapper).find(\".k-draghandle\").css(\"background-color\", color);\r\n //$(e.sender.wrapper).find(\".k-slider-selection\").css(\"background-color\", color);\r\n\r\n var color = getSliderColor(e.value);\r\n var wrapper = $(e.sender.wrapper).find(\".k-state-disabled\");\r\n \r\n if (wrapper && wrapper.context && wrapper.context.attributes[6]) {\r\n $(e.sender.wrapper).find(\".k-draghandle\").css(\"border-color\", \"#8B8B8B\");\r\n $(e.sender.wrapper).find(\".k-draghandle\").css(\"background-color\", \"#8B8B8B\");\r\n $(e.sender.wrapper).find(\".k-slider-selection\").css(\"background-color\", color);\r\n } else {\r\n $(e.sender.wrapper).find(\".k-draghandle\").css(\"border-color\", color);\r\n $(e.sender.wrapper).find(\".k-draghandle\").css(\"background-color\", color);\r\n $(e.sender.wrapper).find(\".k-slider-selection\").css(\"background-color\", color);\r\n }\r\n}\r\n\r\n// Function: getSliderColor -------------------------------------------------------------------------\r\nfunction getSliderColor(value) {\r\n\r\n if (value > 0 && value <= 2) {\r\n return \"#cc0000\";\r\n\r\n } else if (value > 2 && value <= 3) {\r\n return \"#cc6600\";\r\n\r\n } else if (value > 3 && value <= 4) {\r\n return \"#cccc00\";\r\n\r\n } else {\r\n return \"#60bd68\";\r\n }\r\n}\r\n\r\n// Function: buildRatingsObject ----------------------------------------------------------------------\r\nfunction buildRatingsObject(viewmodel) {\r\n var mentorReportBaseId = viewmodel.mentorReportBaseId;\r\n var notApplicable = viewmodel.notApplicable;\r\n\r\n var ratings = [];\r\n\r\n viewmodel.enterpriseRatings.forEach(function (v, i) {\r\n var rating = {\r\n MentorMonthlyEnterpriseRatingId: v.mentorMonthlyEnterpriseRatingId,\r\n MentorEnterpriseQuestionId: v.mentorEnterpriseQuestionId,\r\n Answer: v.answer,\r\n Id: v.id\r\n };\r\n if (notApplicable) {\r\n rating.Answer = null;\r\n }\r\n ratings.push(rating);\r\n });\r\n\r\n var fundId = viewmodel.get(\"FundId\") ? viewmodel.get(\"FundId\").split(\"_\").pop() : null;\r\n var programmeId = viewmodel.get(\"ProgrammeId\") ? viewmodel.get(\"ProgrammeId\").split(\"_\").pop() : null;\r\n\r\n var object = {\r\n Id: mentorReportBaseId,\r\n NotApplicable: notApplicable,\r\n Rating: ratings,\r\n FundId: fundId,\r\n ProgrammeId: programmeId\r\n };\r\n\r\n return object;\r\n}\r\n\r\nfunction initFundAndProgrammeDropDown(monthlyReportResult, viewmodel) {\r\n var enterpriseAssociatedFundsAndProgrammes = monthlyReportResult.data.MentorsAssoicatedFundsAndProgrammes;\r\n if (enterpriseAssociatedFundsAndProgrammes) {\r\n enterpriseAssociatedFundsAndProgrammes = createCustomIdsForDropDownSelection(enterpriseAssociatedFundsAndProgrammes);\r\n createFundAndProgrammeDropDown(enterpriseAssociatedFundsAndProgrammes, viewmodel);\r\n preselectFundAndProgrammeDropDown(monthlyReportResult, viewmodel); \r\n } else {\r\n showErrorMessageThatEnterpriseHasNoProgrammeOrFundAssociation();\r\n }\r\n}\r\n\r\nfunction createCustomIdsForDropDownSelection(enterpriseAssociatedFundsAndProgrammes) {\r\n enterpriseAssociatedFundsAndProgrammes.forEach(function (value) {\r\n if (value) {\r\n if (getIdIfSelectedItemIsOfTypeFund(value.Name, value.Id)) {\r\n value.Id = createCustomFundId(value.Id);\r\n } else if (getIdfSelectedItemIsOfTypeProgramme(value.Name, value.Id)) {\r\n value.Id = createCustomProgrammeId(value.Id);\r\n }\r\n }\r\n });\r\n\r\n return enterpriseAssociatedFundsAndProgrammes;\r\n}\r\n\r\nfunction createCustomFundId(id) {\r\n return \"F_\" + id;\r\n}\r\n\r\nfunction createCustomProgrammeId(id) {\r\n return \"P_\" + id;\r\n}\r\n\r\nfunction showErrorMessageThatEnterpriseHasNoProgrammeOrFundAssociation() {\r\n var errorMessage = {\r\n title: \"No records found!\",\r\n message: \"This enterprise is not associated to any funds or programmes.\\n\"\r\n + \"Please assign this enterprise to a fund or programme, in order to make a selection.\"\r\n };\r\n\r\n $(\"#enterpriseProgrammeOrFundId\").prop(\"disabled\", true);\r\n\r\n return app.AppNotify.showError(errorMessage);\r\n}\r\n\r\nfunction createFundAndProgrammeDropDown(data, viewmodel) {\r\n $(\"#enterpriseProgrammeOrFundId\").kendoDropDownList({\r\n optionLabel: \"Please select a programme or fund.\",\r\n dataTextField: \"Name\",\r\n dataValueField: \"Id\",\r\n dataSource: data,\r\n select: function (e) {\r\n var selectedFundOrProgrammeId = e.dataItem.Id;\r\n var selectedFundOrProgrammeName = e.dataItem.Name;\r\n\r\n var fundOrProgramme = getFundOrProgrammeObjectFromSelectedItemTextAndId(selectedFundOrProgrammeName, selectedFundOrProgrammeId);\r\n if (fundOrProgramme && fundOrProgramme.fundOrProgrammeId) {\r\n setFundAndProgrammeId(fundOrProgramme, viewmodel);\r\n }\r\n },\r\n\r\n }).data(\"kendoDropDownList\");\r\n}\r\n\r\nfunction getFundOrProgrammeObjectFromSelectedItemTextAndId(selectedFundOrProgrammeName, selectedFundOrProgrammeId) {\r\n\r\n if (!selectedFundOrProgrammeName || !selectedFundOrProgrammeId) {\r\n return null;\r\n }\r\n\r\n var fundId = getIdIfSelectedItemIsOfTypeFund(selectedFundOrProgrammeName, selectedFundOrProgrammeId);\r\n if (fundId) {\r\n var fundObject = {\r\n fundOrProgrammeId: selectedFundOrProgrammeId,\r\n fundId: fundId\r\n }\r\n return fundObject;\r\n }\r\n\r\n var programmeId = getIdfSelectedItemIsOfTypeProgramme(selectedFundOrProgrammeName, selectedFundOrProgrammeId);\r\n if (programmeId) {\r\n var programmeObject = {\r\n fundOrProgrammeId: selectedFundOrProgrammeId,\r\n programmeId: programmeId\r\n }\r\n return programmeObject;\r\n }\r\n}\r\n\r\nfunction getIdIfSelectedItemIsOfTypeFund(fundOrProgrammeName, selectedFundOrProgrammeId) {\r\n var isFund = fundOrProgrammeName.indexOf(\"Fund\") > -1;\r\n if (isFund) {\r\n return selectedFundId = selectedFundOrProgrammeId;\r\n }\r\n}\r\n\r\nfunction getIdfSelectedItemIsOfTypeProgramme(fundOrProgrammeName, selectedFundOrProgrammeId) {\r\n var isProgramme = fundOrProgrammeName.indexOf(\"Programme\") > -1;\r\n if (isProgramme) {\r\n return selectedProgrammeId = selectedFundOrProgrammeId;\r\n }\r\n}\r\n\r\nfunction setFundAndProgrammeId(fundOrProgramme, viewmodel) {\r\n var fundId = (fundOrProgramme.fundId) ? fundOrProgramme.fundId : null;\r\n viewmodel.set(\"FundId\", fundId);\r\n var programmeId = (fundOrProgramme.programmeId) ? fundOrProgramme.programmeId : null;\r\n viewmodel.set(\"ProgrammeId\", programmeId);\r\n}\r\n\r\nfunction preselectFundAndProgrammeDropDown(monthlyReportResult, viewmodel) {\r\n var previouslySelectedFundOrProgrammeType = determineIfTypeProgrammeOrFund(monthlyReportResult);\r\n var idToSearch = null;\r\n if (previouslySelectedFundOrProgrammeType === \"Fund\") {\r\n idToSearch = createCustomFundId(monthlyReportResult.data.FundId);\r\n viewmodel.set(\"FundId\", idToSearch);\r\n } else if (previouslySelectedFundOrProgrammeType === \"Programme\") {\r\n idToSearch = createCustomProgrammeId(monthlyReportResult.data.ProgrammeId);\r\n viewmodel.set(\"ProgrammeId\", idToSearch);\r\n }\r\n\r\n if (idToSearch) {\r\n setPreviouslySelectedFundOrProgramme(idToSearch);\r\n }\r\n}\r\n\r\nfunction determineIfTypeProgrammeOrFund(monthlyReportResult) {\r\n if (monthlyReportResult.data.FundId) {\r\n return \"Fund\";\r\n }\r\n else if (monthlyReportResult.data.ProgrammeId) {\r\n return \"Programme\";\r\n }\r\n}\r\n\r\nfunction setPreviouslySelectedFundOrProgramme(idToSearch) {\r\n if (idToSearch) {\r\n var fundAndProgrammeList = $(\"#enterpriseProgrammeOrFundId\").data(\"kendoDropDownList\");\r\n fundAndProgrammeList.select(function (dataItem) {\r\n return dataItem.Id === idToSearch;\r\n });\r\n }\r\n}\r\n\r\nfunction validateForm() {\r\n var validator = $(\"#fundOrProgrammeSelection\").kendoValidator({\r\n messages: {\r\n required: \"This field is required.\"\r\n }\r\n }).data(\"kendoValidator\");\r\n return validator.validate();\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsParams) {\r\n this.data = new kendo.data.Model();\r\n this.argsParams = argsParams;\r\n this.reportList = [];\r\n this.performanceId = \"\";\r\n this.deleteUser = function () { deleteUser(this) }\r\n this.startup = function () { startup(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction startup(viewmodel) {\r\n var enterpriseId = app.AppRouter.getCurrentRoute().params.id;\r\n\r\n if (enterpriseId) {\r\n app.AppTag.setTagsAnalyticsVirtualPage(\"PageView\", \"/mentor/monthly-report-view\", \"Mentor - Report\");\r\n viewmodel.enterpriseId = enterpriseId;\r\n getBindReportList(viewmodel, enterpriseId);\r\n } else {\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: \"Parameters missing. Unable to load mentor reports.\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n app.AppRouter.router.navigate(\"/\");\r\n }\r\n};\r\n\r\n\r\n\r\n// Function: getBindReportList --------------------------------------------------------------------\r\nfunction getBindReportList(viewmodel, enterpriseId) {\r\n var def = new $.Deferred();\r\n app.AppLoading.show(\"Loading...\", def);\r\n var kendoDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (options) {\r\n getReportList(enterpriseId).then(\r\n function (result) {\r\n options.success(result);\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject();\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n });\r\n }\r\n },\r\n schema: {\r\n data: \"data\",\r\n parse: function (apiResult) {\r\n var result = {\r\n data: apiResult.data\r\n };\r\n return result;\r\n }\r\n }\r\n });\r\n\r\n createGrid(kendoDataSource, viewmodel);\r\n};\r\n\r\n// Function: getReportList -------------------------------------------------------------------------\r\nfunction getReportList(enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n app.AppEnterprise.getReports(enterpriseId).then(\r\n\r\n function (data) {\r\n def.resolve(data);\r\n },\r\n\r\n function (error) {\r\n def.reject(error);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: bindToGrid -----------------------------------------------------------------------------\r\nfunction createGrid(kendoDataSource) {\r\n\r\n function grid_dataBound(e) {\r\n bindClickEvents();\r\n //$(\"#grid-report-list tbody tr .k-grid-DELETE\").each(function () {\r\n\r\n // var currentDataItem = $(\"#grid-report-list\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n\r\n // var loggedInUser = app.AppUser.userCurrent.getCurrentUser();\r\n\r\n // if (currentDataItem.Email === loggedInUser.email) {\r\n // $(this).remove();\r\n // }\r\n\r\n // if (currentDataItem.Status === \"Active\")\r\n // $(this).text(\"DEACTIVATE\");\r\n\r\n // if (currentDataItem.RoleName === \"Super Admin\" && loggedInUser.userRole !== \"Super Admin\") {\r\n // $(this).remove();\r\n // }\r\n //});\r\n\r\n //$(\"#grid-report-list tbody tr .k-grid-EDIT\").each(function () {\r\n\r\n // var currentDataItem = $(\"#grid-report-list\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n\r\n // var loggedInUser = app.AppUser.userCurrent.getCurrentUser();\r\n\r\n // if (currentDataItem.RoleName === \"Super Admin\" && currentDataItem.Email !== loggedInUser.email) {\r\n // $(this).remove();\r\n // }\r\n //});\r\n\r\n //$(\"#grid-report-list tbody tr .k-grid-RESENDINVITE\").each(function () {\r\n\r\n // var currentDataItem = $(\"#grid-report-list\").data(\"kendoGrid\").dataItem($(this).closest(\"tr\"));\r\n\r\n // if (currentDataItem.Status !== \"Pending\") {\r\n // $(this).remove();\r\n // }\r\n //});\r\n };\r\n function onDataBound() {\r\n app.AppDashboard.gridFixedHeaders(this);\r\n }\r\n\r\n $(\"#grid-report-list\").kendoGrid({\r\n autoBind: false,\r\n dataBound: onDataBound,\r\n dataSource: kendoDataSource,\r\n sortable: true,\r\n resizable: true,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n columns: [{\r\n template: \"#: MonthYear #\",\r\n field: \"MonthYear\",\r\n title: \"Date\",\r\n width: 200\r\n }, {\r\n template: \"#: EnterprisePerformance.Status #\" +\r\n \"\\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 date

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

    End date

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Please select first date range above, and second date range below\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Start date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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 Graph unavailable
    \\r\\n Not enough data available to construct graph\\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    Graph only displaying reporting data
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Some points have not been plotted on the graph due to incomplete 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
    \\r\\n
    \\r\\n Some Enterprise information may have been removed from the breakdown and information-download functionality due to privacy reasons.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    REVENUE

    \\r\\n R\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    REVENUE

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT

    \\r\\n \\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT

    \\r\\n Unavailable due to incomplete 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 \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROFITS

    \\r\\n R\\r\\n \\r\\n %\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    PROFIT

    \\r\\n Unavailable due to incomplete 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
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND

    \\r\\n R\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    REVENUE GROWTH

    \\r\\n %\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    REVENUE GROWTH

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT GROWTH

    \\r\\n %\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT GROWTH

    \\r\\n Unavailable due to incomplete 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 \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROFIT GROWTH

    \\r\\n %\\r\\n \\r\\n %\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    PROFIT GROWTH

    \\r\\n Unavailable due to incomplete 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
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND GROWTH

    \\r\\n %\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND GROWTH

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    ENTERPRISES

    \\r\\n \\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    ENTERPRISES

    \\r\\n Unavailable due to incomplete 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\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    NET JOBS

    \\r\\n \\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    NET JOBS

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n \\r\\n
    \\r\\n

    JOBS CREATED

    \\r\\n \\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    JOBS CREATED

    \\r\\n Unavailable due to incomplete 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
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    BUDGET DEPLOYED

    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    BUDGET DEPLOYED

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    CAPITAL DEPLOYED

    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    CAPITAL DEPLOYED

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    CAPITAL COMMITTED

    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    CAPITAL COMMITTED

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    BOT SME PERCENTAGE

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

    BOT SME PERCENTAGE

    \\r\\n Unavailable due to incomplete 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

    Breakdown

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

    \\r\\n Breakdown unavailable
    \\r\\n Not enough data available to display breakdown\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n *Incomplete enterprise reports only take into account reports of which is in the range of the Programme/Fund Reporting start and 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 Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n i. Solving real world problems in an innovative way (linked to SDG and disruptive model).
    \\r\\n ii. Operate in a fast/ growing sector/ sub-sector/ market.
    \\r\\n iii. Management team are a “scale-up” management team – i.e. high calibre with potential to scale well.\\r\\n
    \\r\\n
    \\r\\n Active SMEs:
    \\r\\n BOT SMEs:
    \\r\\n Total SMEs: \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    CLIENTS >
    \\r\\n
    CLIENTS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Add 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\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n CLIENTS >\\r\\n
    ADD NEW
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    CLIENT INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in 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 \\r\\n
    \\r\\n
    \\r\\n

    Please do not select white or a very light colour for the primary colour

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

    Please do not select white or a very light colour for the secondary colour

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Preview\\r\\n
    \\r\\n
    \\r\\n

    Preview the client branding

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

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

    Enter the full URL including 'http://' eg. 'http://www.mywebsite.com'

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

    SUBSCRIPTION

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n

    TRACKER

    \\r\\n
    \\r\\n
    WELCOME
    \\r\\n
    DASHBOARD
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    IMPACT SUMMARY
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\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 date

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

    End date

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Please select first date range above, and second date range below\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Start date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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
    TOTAL SME REVENUE
    \\r\\n
    \\r\\n R\\r\\n \\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
    TOTAL SME HEADCOUNT
    \\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\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME PROFIT
    \\r\\n
    \\r\\n R\\r\\n \\r\\n %\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n %\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    PROCUREMENT SPEND TO SMES
    \\r\\n
    \\r\\n R\\r\\n \\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 Graph unavailable
    \\r\\n Not enough data available to construct graph\\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    Graph only displaying reporting data
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Some points have not been plotted on the graph due to incomplete 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
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME NET JOBS
    \\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
    \\r\\n
    TOTAL SME JOBS CREATED
    \\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
    \\r\\n
    SME ACCELERATION SPEND
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    CAPITAL DEPLOYED TO SMES
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    CAPITAL COMMITTED TO SMES
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    BUSINESS OF TOMORROW SMES
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    SMES SUPPORTED
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Portfolio

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

    \\r\\n Breakdown unavailable
    \\r\\n Not enough data available to display breakdown\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n *Incomplete enterprise reports only take into account reports of which is in the range of the Programme/Fund Reporting start and 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 Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n CLIENTS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ADD USER\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n VIEW INACTIVE USERS\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    FUNDS >
    \\r\\n
    FUNDS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n CLIENTS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n VIEW ACTIVE USERS\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n CLIENTS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Head Office Address
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Client Name
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Telephone
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Email Address
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Website
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Managers
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Subscription status
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Subscription start date
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Subscription end date
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Edit Client\\r\\n Deactivate Client\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    PROGRAMMES >
    \\r\\n
    PROGRAMMES
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Clients >Edit\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    CLIENT INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in 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 \\r\\n
    \\r\\n
    \\r\\n

    Please do not select white or a very light colour for the primary colour

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

    Please do not select white or a very light colour for the secondary colour

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Preview\\r\\n
    \\r\\n
    \\r\\n

    Preview the client branding

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

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

    Enter the full URL including 'http://' eg. 'http://www.mywebsite.com'

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

    SUBSCRIPTION

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    ENTERPRISES >
    \\r\\n
    ENTERPRISES
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    CLIENTS >
    \\r\\n
    CLIENTS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Clients > > Users \\r\\n
    Add User
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    BASIC INFORMATION

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

    The email address is used to access the system and for email notifications.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Clients > > Users \\r\\n
    Edit User
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    BASIC INFORMATION

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

    The email address is used to access the system and for email notifications.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    TRACKER

    \\r\\n
    \\r\\n
    WELCOME
    \\r\\n
    DASHBOARD
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    IMPACT SUMMARY
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Programmes
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Programmes unavailable
    \\r\\n \\r\\n
    \\r\\n
    Funds
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Funds unavailable
    \\r\\n \\r\\n
    \\r\\n
    Enterprise Black Ownership
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    OK
    \\r\\n
    \\r\\n
    \\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 date

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

    End date

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Please select first date range above, and second date range below\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Start date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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
    TOTAL SME REVENUE
    \\r\\n
    \\r\\n R\\r\\n \\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
    TOTAL SME HEADCOUNT
    \\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\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME PROFIT
    \\r\\n
    \\r\\n R\\r\\n \\r\\n %\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n %\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    PROCUREMENT SPEND TO SMES
    \\r\\n
    \\r\\n R\\r\\n \\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 Graph unavailable
    \\r\\n Not enough data available to construct graph\\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    Graph only displaying reporting data
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Some points have not been plotted on the graph due to incomplete 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
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME NET JOBS
    \\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
    \\r\\n
    TOTAL SME JOBS CREATED
    \\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
    \\r\\n
    SME ACCELERATION SPEND
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    CAPITAL DEPLOYED TO SMES
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    CAPITAL COMMITTED TO SMES
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    BUSINESS OF TOMORROW SMES
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    SMES SUPPORTED
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Portfolio

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

    \\r\\n Breakdown unavailable
    \\r\\n Not enough data available to display breakdown\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n *Incomplete enterprise reports only take into account reports of which is in the range of the Programme/Fund Reporting start and 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 Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n i. Solving real world problems in an innovative way (linked to SDG and disruptive model).
    \\r\\n ii. Operate in a fast/ growing sector/ sub-sector/ market.
    \\r\\n iii. Management team are a “scale-up” management team – i.e. high calibre with potential to scale well.\\r\\n
    \\r\\n
    \\r\\n Active SMEs:
    \\r\\n BOT SMEs:
    \\r\\n Total SMEs: \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    ENTERPRISES >
    \\r\\n
    ENTERPRISES
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ADD ENTERPRISE\\r\\n BULK UPLOAD\\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    ADD NEW
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    ENTERPRISE INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

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

    Enter the full URL including 'http://' eg. 'http://www.mywebsite.com'

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

    KEY CONTACT

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    ADDITIONAL INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n %\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    Maturity Index History can be optionally edited

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n * Remember to SAVE all changes.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • EME- Entity with an annual turnover of R10m or less
    • \\r\\n
    • QSE- Entity with an annual turnover of between R10m-R50m
    • \\r\\n
    • Generic- Large Entity with an annual turnover excess of R50m
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n %\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n %\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    DIAGNOSTIC UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    BULK UPLOAD
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • Please make sure that the file is in Excel (.xlsx) format
    • \\r\\n
    • Please make sure all validation passes on the sheet before uploading
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n Upload Results\\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Total Rows: | \\r\\n Success Count: | \\r\\n Error Count: \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ADD USER\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n VIEW INACTIVE USERS\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    under construction...

    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    under construction...

    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n VIEW ACTIVE USERS\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    under construction...

    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    Enterprise Name
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    Registration Number
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Office Telephone
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    Website
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Key Contact
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    About

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    INDUSTRY
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    HEAD COUNT
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    B-BBEE LEVEL
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    SME Type
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    Black Woman Ownership
    \\r\\n %\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    Black Ownership
    \\r\\n %\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n
    MATURITY INDEX
    \\r\\n %\\r\\n \\r\\n \\r\\n \\r\\n %\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    CAPITAL COMMITTED
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    CAPITAL DEPLOYED
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    BUSINESS OF TOMORROW?
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Products and Services

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

    Mentors and Specialists

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

    Assigned Funds and Programmes

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Funds
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Programmes
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    UPLOADS

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

    B-BBEE Certificates

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

    DOWNLOADS

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    B-BBEE Certificate Upload

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n SME Type: \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Previous Maturity Index: %\\r\\n Diagnostic Report  \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    TRACKER

    \\r\\n
    \\r\\n
    WELCOME
    \\r\\n
    DASHBOARD
    \\r\\n
    \\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 have days left to submit your monthly report.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\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 have incomplete reports that are overdue.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    PERFORMANCE
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n
    \\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 date

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

    End date

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Please select first date range above, and second date range below\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Start date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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 Graph unavailable
    \\r\\n Not enough data available to construct graph\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME REVENUE
    \\r\\n
    \\r\\n R\\r\\n \\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
    TOTAL SME HEADCOUNT
    \\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
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME PROFIT
    \\r\\n
    \\r\\n R\\r\\n \\r\\n %\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n %\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    PROCUREMENT SPEND TO SMES
    \\r\\n
    \\r\\n R\\r\\n \\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 Graph only displaying reporting data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Some points have not been plotted on the graph due to incomplete data.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    View Monthly Reports
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ADD CERTIFICATE\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME NET JOBS
    \\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 \\r\\n \\r\\n
    \\r\\n
    TOTAL SME JOBS CREATED
    \\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 \\r\\n
    \\r\\n
    SUPPORT PROVIDED (HOURS)
    \\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 \\r\\n
    \\r\\n
    CAPITAL DEPLOYED TO SME
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Reports

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

    \\r\\n Breakdown unavailable
    \\r\\n Not enough data available to display breakdown\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\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 have days left to submit your monthly report.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\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 have incomplete reports that are overdue.\\r\\n

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

    Performance

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n
    \\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 date

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

    End date

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Please select first date range above, and second date range below\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Start date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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
    TOTAL SME REVENUE
    \\r\\n
    \\r\\n R\\r\\n \\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
    TOTAL SME HEADxCOUNT
    \\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
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME PROFIT
    \\r\\n
    \\r\\n R\\r\\n \\r\\n %\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n %\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    PROCUREMENT SPEND TO SME
    \\r\\n
    \\r\\n R\\r\\n \\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 Graph unavailable
    \\r\\n Not enough data available to construct graph\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n Graph only displaying reporting data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Some points have not been plotted on the graph due to incomplete data.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    View Monthly Reports
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ADD CERTIFICATE\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME NET JOBS
    \\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 \\r\\n \\r\\n
    \\r\\n
    TOTAL SME JOBS CREATED
    \\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 \\r\\n
    \\r\\n
    SUPPORT PROVIDED (HOURS)
    \\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 \\r\\n
    \\r\\n
    CAPITAL DEPLOYED TO SME
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Reports

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

    \\r\\n Breakdown unavailable
    \\r\\n Not enough data available to display breakdown\\r\\n

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

    Growth Rate Breakdown

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Conditions

    (Note all calculations will be guided by conditions)

    \\r\\n
    Calculation
    Enterpises that have > 24months of revenue\\\"Enterprises
    Enterpises that have = 24months of revenue\\\"Enterprises
    Enterprises that have 18=< months < 24 of Data\\\"Annualised
    Enterprises that have 12=< months < 18 of data\\\"Enterprises
    Enterprises that have 6 <= months < 12 of Data\\\"Enterprises
    Enterprises that have < 6 months of dataNo calulation
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    Growth Rate Breakdown

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Conditions

    (Note all calculations will be guided by conditions)

    \\r\\n
    Calculation
    Enterpises that have > 24months of procurement spend\\\"Enterprises
    Enterpises that have = 24months of procurement spend\\\"Enterprises
    Enterprises that have 18=< months < 24 of Data\\\"Annualised
    Enterprises that have 12=< months < 18 of data\\\"Enterprises
    Enterprises that have 6 <= months < 12 of Data\\\"Enterprises
    Enterprises that have < 6 months of dataNo calulation
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    ENTERPRISE INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

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

    Enter the full URL including 'http://' eg. 'http://www.mywebsite.com'

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

    KEY CONTACT

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    ADDITIONAL INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n %\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    Maturity Index History can be optionally edited

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n * Remember to SAVE all changes.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • EME- Entity with an annual turnover of R10m or less
    • \\r\\n
    • QSE- Entity with an annual turnover of between R10m-R50m
    • \\r\\n
    • Generic- Large Entity with an annual turnover excess of R50m
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n %\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Ensure that these percentages are aligned to the BEE Certificate/Affidavit

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n %\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Ensure that these percentages are aligned to the BEE Certificate/Affidavit

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    DIAGNOSTIC UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    Monthly report submitted
    successfully

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

    \\r\\n Your monthly report for has been successfully submitted.
    \\r\\n The report is currently in status.\\r\\n \\r\\n

    \\r\\n
    Back to reports
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Please enter contracts received this month which have an amount of R100 000 or greater.\\r\\n
    \\r\\n
    \\r\\n  \\r\\n
    \\r\\n
    \\r\\n Click on ADD to create a Contract block. You can create as many as you need.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    ADD
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    CREATE REPORT

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n CONTINUE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n

    \\r\\n MENTOR:\\r\\n \\r\\n No mentor assigned\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n

    FINANCES

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Total revenue / sales recognized during the specified period

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Total operating expenses reduced by any other income recognized during the specified period

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Total cost of sales incurred during the specified period

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n Programmes: Revenue received from the sponsor and / or resulting from the growth support\\r\\n (mentorship support) provided during the specified period; e.g. If you are part of a programme\\r\\n sponsored by Corporate A, what Rand value of your revenue comes from Corporate A?\\r\\n

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

    HEAD COUNT

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

    \\r\\n Current total number of staff members contracted for more than 6 months and working more than 20hrs per week.\\r\\n

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

    \\r\\n Current total number of staff members contracted for less than 6 months and/or employees working less than 20hrs per week.\\r\\n

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

    SALES

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

    \\r\\n Total number of proposals submitted to potential clients often following an enquiry or request for quote (RFQ) during the specified period.\\r\\n

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

    \\r\\n Number of face to face presentations made to potential clients during the specified period.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n * Required for the report to be submitted as Complete, and for the dashboard metrics to be accurately calculated.\\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    * Required for the report to be submitted as Complete, and for the dashboard metrics to be accurately calculated.

    \\r\\n

    ** Note that these updates will not trigger any emails and data will immediately be saved.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Enterprises > > Reports \\r\\n
    Quick Update
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    CREATE REPORT

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n CREATE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Enterprises > > Reports \\r\\n
    Monthly Report
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n

    PERFORMANCE

    \\r\\n
    Status:
    \\r\\n
    Approve Performance
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    CONTRACTS SECURED

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

    MENTOR RATING

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

    ENTERPRISE RATING

    \\r\\n
    Status:
    \\r\\n
    Approve Enterprise Rating
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n

    ADDITIONAL INFORMATION

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

    DOCUMENTS

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    ADD NEW
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    BASIC INFORMATION

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

    The email address is used to access the system and for email notifications.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    BASIC INFORMATION

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

    The email address is used to access the system and for email notifications.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    REPORTS >
    \\r\\n
    REPORTS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Weighted Average Growth Rate (WAGR) Report
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    Active Funds and Programmes
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    Inactive Funds and Programmes
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    Closed Funds and Programmes
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    All Enterprises > 12 months of data All Enterprises
    WAGR % %
    Number of Enterprises
    Enterprises growing > %
    Number of BOT Enterprises
    Number of BOT Enterprises growing > %
    \\r\\n
    \\r\\n
    \\r\\n

    No data found!

    \\r\\n
    \\r\\n
    \\r\\n Submit\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    FUNDS >
    \\r\\n
    FUNDS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Add Fund\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n FUNDS >\\r\\n
    ADD NEW
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    FUND INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Cumulative capital available for deployment throughout the life of the fund.

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

    Cumulative capital available for deployment throughout the life of the fund.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n * Remember to SAVE all changes.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n FUNDS >\\r\\n
    FUNDS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n FUNDS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    under construction...

    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    MANDATE
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    MANAGERS
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    INVESTMENT
    \\r\\n
    Investment Capital Under management : R
    \\r\\n
    Investment Capital Committed : R
    \\r\\n
    Investment Capital Deployed : R
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    DURATION
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Phase :
    \\r\\n
    Percentage complete : 0%
    \\r\\n
    \\r\\n Reporting From - To :\\r\\n -\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    OBJECTIVES
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    NOTES
    \\r\\n

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

    Performance

    \\r\\n\\r\\n \\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 date

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

    End date

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Please select first date range above, and second date range below\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Start date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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
    TOTAL SME REVENUE
    \\r\\n
    \\r\\n R\\r\\n \\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
    TOTAL SME HEADCOUNT
    \\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
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    TOTAL SME PROFIT
    \\r\\n
    \\r\\n R\\r\\n \\r\\n %\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n %\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    PROCUREMENT SPEND TO SME
    \\r\\n
    \\r\\n R\\r\\n \\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 Graph unavailable
    \\r\\n Not enough data available to construct graph\\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    Graph only displaying reporting data
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Some points have not been plotted on the graph due to incomplete 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
    \\r\\n
    \\r\\n Some Enterprise information may have been removed from the breakdown and information-download functionality due to privacy reasons.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    ENTERPRISES

    \\r\\n \\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    ENTERPRISES

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n \\r\\n
    \\r\\n

    NET JOBS

    \\r\\n \\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    NET JOBS

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n \\r\\n
    \\r\\n

    JOBS CREATED

    \\r\\n \\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    JOBS CREATED

    \\r\\n Unavailable due to incomplete 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
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    BUDGET DEPLOYED

    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    BUDGET DEPLOYED

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    CAPITAL DEPLOYED

    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    CAPITAL DEPLOYED

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    CAPITAL COMMITTED

    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    CAPITAL COMMITTED

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    BOT SME PERCENTAGE

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

    BOT SME PERCENTAGE

    \\r\\n Unavailable due to incomplete 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
    \\r\\n

    Breakdown

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

    \\r\\n Breakdown unavailable
    \\r\\n Not enough data available to display breakdown\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n *Incomplete enterprise reports only take into account reports of which is in the range of the Programme/Fund Reporting start and 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
    CLIENTS (INVESTORS)
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n i. Solving real world problems in an innovative way (linked to SDG and disruptive model).
    \\r\\n ii. Operate in a fast/ growing sector/ sub-sector/ market.
    \\r\\n iii. Management team are a “scale-up” management team – i.e. high calibre with potential to scale well.\\r\\n
    \\r\\n
    \\r\\n Active SMEs:
    \\r\\n BOT SMEs:
    \\r\\n Total SMEs: \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n FUNDS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    FUND INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Cumulative capital available for deployment throughout the life of the fund.

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

    Cumulative capital available for deployment throughout the life of the fund.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n * Remember to SAVE all changes.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n FUNDS >\\r\\n
    FUNDS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    MENTORS >
    \\r\\n
    MENTORS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Add Mentor\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n MENTORS >\\r\\n
    ADD NEW
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    BASIC INFORMATION

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

    The email address is used to access the system and for email notifications.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

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

    AVAILABILITY

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

    ADDITIONAL INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Performance

    \\r\\n \\r\\n \\r\\n \\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 date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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 Graph unavailable
    \\r\\n Not enough data available to construct graph\\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    Graph only displaying reporting data
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Some points have not been plotted on the graph due to incomplete 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 \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    REVENUE

    \\r\\n R\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    REVENUE

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT

    \\r\\n \\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n
    \\r\\n

    PROFIT

    \\r\\n R\\r\\n \\r\\n %\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    PROFIT

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND

    \\r\\n R\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    REVENUE GROWTH

    \\r\\n %\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    REVENUE GROWTH

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT GROWTH

    \\r\\n %\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT GROWTH

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n
    \\r\\n

    PROFIT GROWTH

    \\r\\n %\\r\\n \\r\\n %\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    PROFIT GROWTH

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND GROWTH

    \\r\\n %\\r\\n \\r\\n Value%\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND GROWTH

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    NET JOBS

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

    NET JOBS

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    JOBS CREATED

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

    JOBS CREATED

    \\r\\n Unavailable due to incomplete 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 \\r\\n \\r\\n
    \\r\\n

    BUDGET DEPLOYED

    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    BUDGET DEPLOYED

    \\r\\n Unavailable due to incomplete data\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    CAPITAL DEPLOYED

    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    CAPITAL DEPLOYED

    \\r\\n Unavailable due to incomplete 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

    Breakdown

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

    \\r\\n Breakdown unavailable
    \\r\\n Not enough data available to display breakdown\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n MENTORS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n \";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n MENTORS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Name
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Surname
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Email Address
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Cellphone
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Telephone
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Address
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Availability
    \\r\\n

    hours per week

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

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

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Rating
    \\r\\n
    \\r\\n

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

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

    \\r\\n Unrated\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Specialty
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Specialty
    \\r\\n

    \\r\\n No Specialty Listed\\r\\n

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Summary
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    Summary
    \\r\\n

    No Summary Available

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n Edit\\r\\n Deactivate\\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n MENTORS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Time records for

    \\r\\n
    Total:
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Previous month\\r\\n Next month\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    LOG TIME

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

    Enter time, eg. 1:30 (hh:mm) or 2 (hh)

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n MENTORS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    BASIC INFORMATION

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

    The email address is used to access the system and for email notifications.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

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

    AVAILABILITY

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

    ADDITIONAL INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    MENTORS >
    \\r\\n
    MENTORS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Click on ADD to create an information block. You can create as many as you need.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    ADD
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Previous
    \\r\\n
    Save and Continue
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    Monthly report submitted
    successfully

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

    \\r\\n Your monthly report for has been successfully submitted.\\r\\n \\r\\n

    \\r\\n
    \\r\\n
    Back to reports
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Click on ADD DOCUMENT to upload documents to a report. You can upload as many as you need.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    DOCUMENT UPLOADS

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Previous
    \\r\\n
    Finish
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n

    ENTERPRISE

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    CANCEL
    \\r\\n
    Save and Continue
    \\r\\n
    \\r\\n
    \";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    REPORT MONTH

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n CONTINUE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n ADD USER\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    PROGRAMMES >
    \\r\\n
    PROGRAMMES
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Add Programme\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n PROGRAMMES >\\r\\n
    ADD NEW
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    PROGRAMME INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Cumulative Budget available for deployment throughout the life of the programme.

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

    Cumulative Budget available for deployment throughout the life of the programme.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n * Remember to SAVE all changes.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Cumulative budget deployed through the life of the programme.

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

    Cumulative budget deployed through the life of the programme.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n * Remember to SAVE all changes.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    PROGRAMMES >
    \\r\\n
    PROGRAMMES
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n PROGRAMMES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    under construction...

    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n PROGRAMMES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Duration
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Phase :
    \\r\\n
    Percentage complete : 0%
    \\r\\n
    \\r\\n Reporting From - To :\\r\\n -\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Programme Budget
    \\r\\n
    Budget : R
    \\r\\n
    Budget Deployed : R
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Mandate
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Objectives
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Notes
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Managers
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Clients
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Edit Programme\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n PROGRAMMES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    PROGRAMME INFORMATION

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Cumulative Budget available for deployment throughout the life of the programme.

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

    Cumulative Budget available for deployment throughout the life of the programme.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n * Remember to SAVE all changes.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n R\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Cumulative budget deployed through the life of the programme.

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

    Cumulative budget deployed through the life of the programme.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n * Remember to SAVE all changes.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    PROGRAMMES >
    \\r\\n
    PROGRAMMES
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    BULK REPORT UPLOADS >
    \\r\\n
    BULK REPORT UPLOADS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Bulk Upload Reports

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Download sample csv.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n Please make sure that the Enterprise name and Industry matches the name loaded on Growth Tracker\\r\\n
    • \\r\\n\\r\\n
    • Please make sure your document is saved as a CSV excel document
    • \\r\\n\\r\\n
    • \\r\\n Please make sure all fields that are currency based ie Revenue, Cost of sales, procurement spend\\r\\n are formatted to General and not Currency\\r\\n
    • \\r\\n\\r\\n
    • \\r\\n Please make sure that all commas are replaced with a period (full stop) sign eg 2345,98 is\\r\\n 2345.98\\r\\n
    • \\r\\n\\r\\n
    • Please make sure that all values are limited to two decimal places.
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n Upload Results\\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Total Rows: | \\r\\n Success Count: | \\r\\n Error Count: \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    DATA-LISTS >
    \\r\\n
    DATA-LISTS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Products/Services

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

    Fund Phases

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

    Programme Phases

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

    Industries

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

    Offices

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

    Provinces

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

    Specialties

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    SYSTEM USERS >
    \\r\\n
    SYSTEM USERS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    CONTACT >
    \\r\\n
    CONTACT
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Technical Support

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Cape Town021 671 2658
    Johannesburg010 001 3715
    tracker@edgegrowth.com\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    General contact details

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

    Cape Town

    \\r\\n
    Physical Address
    \\r\\n

    \\r\\n Mill House,
    \\r\\n Boundary Terraces,
    \\r\\n Mariendahl Lane,
    \\r\\n Newlands\\r\\n

    \\r\\n
    Postal Address
    \\r\\n

    \\r\\n Postnet Suite 539
    \\r\\n Private Bag X9
    \\r\\n Benmore
    \\r\\n 2010\\r\\n

    \\r\\n
    Contact numbers
    \\r\\n

    \\r\\n Tel: 021 671 2658
    \\r\\n Fax: 011 326 0593\\r\\n

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

    Johannesburg

    \\r\\n
    Physical Address
    \\r\\n

    \\r\\n 1st Floor,
    \\r\\n Block B,
    \\r\\n 10th Road,
    \\r\\n Off 2nd Avenue,
    \\r\\n Hyde Park\\r\\n

    \\r\\n
    Postal Address
    \\r\\n

    \\r\\n Postnet Suite 539
    \\r\\n Private Bag X9
    \\r\\n Benmore
    \\r\\n 2010\\r\\n

    \\r\\n
    Contact numbers
    \\r\\n

    \\r\\n Tel: 010 001 3715
    \\r\\n Fax: 011 326 0593\\r\\n

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

    Website: www.edgegrowth.com

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n

    under construction...

    \\r\\n\\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    TERMS OF USE >
    \\r\\n
    TERMS OF USE
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n

    PLEASE READ THIS DOCUMENT CAREFULLY BEFORE USING OUR PLATFORMS. THIS DOCUMENT CONTAINS THE TERMS AND CONDITIONS FOR THE USE OF THE EDGE GROWTH GROUP’S PLATFORMS AND CONTAINS WARRANTY AND LIABILITY DISCLAIMERS. BY ACCESSING AND USING OUR PLATFORMS, YOU AGREE TO BE BOUND BY THESE TERMS OF USE. IF YOU DO NOT AGREE TO THESE TERMS OF USE YOU SHOULD NOT USE OUR PLATFORMS.

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

      \\r\\n

    1. \\r\\n Interpretation

      \\r\\n\\r\\n
        \\r\\n
      1. These Terms of Use together with our Privacy Notice (which can be accessed at the following link: Privacy Policy) (collectively, the \\\"Agreement\\\") will form a written contract between you and Edge Growth and, in addition to any separate terms or agreement agreed with you, will govern our relationship and your use of our Platforms.
      2. \\r\\n
        \\r\\n
      3. \\r\\n The following terminology applies to these Terms of Use:

        \\r\\n
          \\r\\n
        1. \\\"you\\\" and \\\"your\\\" refers to you, the person accessing our Platforms and accepting these Terms of Use;
        2. \\r\\n
          \\r\\n
        3. \\\"Edge Growth\\\", \\\"ourselves\\\", \\\"we\\\", \\\"our\\\" and \\\"us\\\", refers to each entity within the Edge Growth Group with whom you are contracting for purposes of the relevant Edge Growth services or for purposes of accessing the relevant Edge Growth Platform/s;
        4. \\r\\n
          \\r\\n
        5. \\r\\n Edge Growth Group means all entities within the Edge Growth group of companies from time to time, including –

          \\r\\n
            \\r\\n
          1. Edge Growth Business Development Proprietary Limited (registration number 2007/034836/07);
          2. \\r\\n
            \\r\\n
          3. Edge Growth Ventures Proprietary Limited (registration number 2017/148177/07);
          4. \\r\\n
            \\r\\n
          5. Edge Growth Access Proprietary Limited (registration number 2017/124543/07);
          6. \\r\\n
            \\r\\n
          7. Edge Growth Accelerate Proprietary Limited (registration number 2017/124541/07); and/or
          8. \\r\\n
            \\r\\n
          9. Edge Growth Blue Skies Proprietary Limited (registration number 2021/516484/07); and/or
          10. \\r\\n
            \\r\\n
          11. any trust founded by an entity within the Edge Growth group of companies for its own operations and/or any trust that receives fund management services by an entity within the Edge Growth group of companies and all such entities’ successors-in-title (wherever any such members may be located);
          12. \\r\\n
            \\r\\n
          \\r\\n
        6. \\r\\n
        7. \\\"party\\\", \\\"parties\\\", or \\\"us\\\", refers to both you and us, or either you or us, as the context may indicate;
        8. \\r\\n
          \\r\\n
        9. \\\"Platforms\\\" means all of the Edge Growth Group’s websites, mobile sites, mobile applications, online web applications, tools, software-based services, social media platforms, emails, or any other technology or mechanism you may use to interact with us; and
        10. \\r\\n
          \\r\\n
        11. \\\"Documentation\\\" means documentation, tools and/or data that the Edge Growth Group makes available to you on the Platforms or otherwise.
        12. \\r\\n
        \\r\\n
      4. \\r\\n
        \\r\\n
      5. Any use of the above terminology or other words in the singular, plural, capitalisation and/or he/she or they, are taken as interchangeable and therefore as referring to same. Information on this website is for your general information only.
      6. \\r\\n
        \\r\\n
      7. The person agreeing to and accepting this Agreement warrants that he/she is duly authorised to agree to the terms of this Agreement.
      8. \\r\\n\\r\\n
      \\r\\n
    2. \\r\\n

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

      \\r\\n

    3. \\r\\n Registration to use our Platforms

      \\r\\n
        \\r\\n
      1. \\r\\n In order to access and use some of our Platforms you may be requested to –

        \\r\\n
          \\r\\n
        1. register and subscribe to use the Platform, where you will create, or we will allocate you, a username, password or other log-in (\\\"User ID\\\");
        2. \\r\\n
          \\r\\n
        3. login using your User ID; and
        4. \\r\\n
          \\r\\n
        5. comply with the terms of the Agreement.
        6. \\r\\n
          \\r\\n
        \\r\\n
      2. \\r\\n
      3. \\r\\n Your User ID is personal to you. You -

        \\r\\n
          \\r\\n
        1. must keep your User ID confidential and not disclose it to any third party or allow any third party to access or use the Platforms with your User ID;
        2. \\r\\n
          \\r\\n
        3. must inform us promptly if a third party gains access to your User ID;
        4. \\r\\n
          \\r\\n
        5. are responsible for all use of, or activities under your User ID;
        6. \\r\\n
          \\r\\n
        7. will not circumvent our User ID authentication procedures or systems; and
        8. \\r\\n
          \\r\\n
        9. ARE LIABLE FOR ANY DAMAGE, LOSS OR COSTS SUSTAINED BY YOU, US OR BY ANY THIRD PARTY HOWSOEVER ARISING AS A RESULT OF ANY ACTIONS BY YOU OR ANY THIRD PARTY USING YOUR USER ID.
        10. \\r\\n\\r\\n
        \\r\\n
      4. \\r\\n
      \\r\\n
    4. \\r\\n

      \\r\\n\\r\\n
    5. Grant of license
    6. \\r\\n
      \\r\\n

      Subject to you abiding by the terms of this Agreement, we grant you a limited, personal, revocable, non-exclusive, non-sub-licensable, non-transferable license use of our Platform, strictly in accordance with the terms of this Agreement.

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

      \\r\\n

    7. \\r\\n Use restrictions

      \\r\\n
        \\r\\n
      1. \\r\\n Any use of the Platforms not permitted by this Agreement is prohibited and, without limiting the generality of the aforegoing, you will not permit others to:

        \\r\\n
          \\r\\n
        1. license, sub-license, sell, rent, lease, assign, distribute, transmit, host, outsource, disclose or otherwise commercially exploit the Platforms or make the Platforms available to any third party;
        2. \\r\\n
          \\r\\n
        3. copy, modify, reverse compile, reverse engineer or extract source codes from the Platforms, except to the extent that we may not prohibit you from doing so under applicable laws or regulations or you have our prior written consent to do so. Where applicable laws or regulations entitle you to reverse compile or extract source codes from the Platforms, you will first contact us to request the information you need;
        4. \\r\\n
          \\r\\n
        5. remove, alter or obscure any proprietary notice (including any notice of copyright or trademark) of Edge Growth or its affiliates, partners, suppliers or the licensors of the Platforms;
        6. \\r\\n
          \\r\\n
        7. use the Platforms in breach of any applicable law or regulation;
        8. \\r\\n
          \\r\\n
        9. make any misrepresentation;
        10. \\r\\n
          \\r\\n
        11. post, upload or transmit any abusive content;
        12. \\r\\n
          \\r\\n
        13. commit fraud;
        14. \\r\\n
          \\r\\n
        15. propagate, distribute or transmit destructive code, whether or not damage is actually caused thereby;
        16. \\r\\n
          \\r\\n
        17. gather personal or commercial information including (without limitation) e-mail addresses and/or names from any Internet facilities, whether managed by us or by any third party, for commercial or any other purpose without the consent of the owners of such information;
        18. \\r\\n
          \\r\\n
        19. use robots, spiders, or any other device, be it automated or manual, to monitor or copy any Content from the Platform;
        20. \\r\\n
          \\r\\n
        21. use any of the Platform for commercial purposes other than those provided for hereunder, including (without limitation), reformat and display the results of a search; mirror our home page or result pages on your website. If you want to make commercial use of the Platform, you are required to enter into an agreement with us;
        22. \\r\\n
          \\r\\n
        23. access any of the Platform or any similar service of a third party or any network without authorisation or through hacking, password mining or any other means;
        24. \\r\\n
          \\r\\n
        \\r\\n
      2. \\r\\n
      3. You may not make copies of the Documentation except as may be necessary for backup and archival purposes and you will destroy all Documentation when requested by us.
      4. \\r\\n
        \\r\\n
      5. Documentation, data, information, ideas and opinions expressed on the Platforms should not be regarded as professional advice or the official opinion of Edge Growth and you are encouraged to consult professional advice before taking any course of action.
      6. \\r\\n
      \\r\\n
    8. \\r\\n

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

      \\r\\n

    9. \\r\\n Intellectual property

      \\r\\n
        \\r\\n
      1. Except as expressly stated otherwise, this Agreement does not in any way grant, assign, transfer or license any party's intellectual property rights to the other party.
      2. \\r\\n
        \\r\\n
      3. You acknowledge that any and all intellectual property rights subsisting in or used in connection with the Platforms, including all Documentation, databases, analytical data, updates, upgrades, enhancements, new developments and improvements are and shall remain the sole property of Edge Growth. You shall not, during or at any time after the expiry or termination of this Agreement, in any way question or dispute the ownership by Edge Growth thereof.
      4. \\r\\n
        \\r\\n
      5. In the event of new inventions, designs or processes evolve in performance of or as a result of this Agreement, you acknowledge that such inventions, designs or processes shall be the property of Edge Growth, unless otherwise agreed in writing by Edge Growth.
      6. \\r\\n
        \\r\\n
      7. You will retain ownership of any original content or data which you may upload, transmit or store when using our Platforms.
      8. \\r\\n
        \\r\\n
      9. We will own all compilations, collective works or derivative works created by us which may incorporate your content.
      10. \\r\\n
      \\r\\n
    10. \\r\\n

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

      \\r\\n

    11. \\r\\n Updates to platforms

      \\r\\n
        \\r\\n
      1. We may from time to time provide enhancements or improvements to the features/functionality of the Platforms, which may include patches, bug fixes, updates, upgrades and other modifications (\\\"Updates\\\").
      2. \\r\\n
        \\r\\n
      3. Such Updates may occur automatically or manually. We do not guarantee that we will make any Updates available for any of the Platforms, or that such Updates will continue to support your device or system.
      4. \\r\\n
        \\r\\n
      5. Updates may modify or delete certain features and/or functionalities of the Platforms. You agree that we have no obligation to (i) provide any Updates, or (ii) continue to provide or enable any particular features and/or functionalities of the Platforms to you.
      6. \\r\\n
        \\r\\n
      7. You further agree that all Updates will be (i) deemed to constitute an integral part of the Platforms, and (ii) subject to the Agreement and conditions of this Agreement.
      8. \\r\\n
        \\r\\n
      9. No Service maintenance is provided under this Agreement, except for Updates.
      10. \\r\\n\\r\\n
      \\r\\n
    12. \\r\\n

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

      \\r\\n

    13. \\r\\n Third-party services

      \\r\\n
        \\r\\n
      1. The Platforms may display, include or make available third-party content (including data, information, software and other products or services) or provide links to third-party websites or services (\\\"Third-Party Services\\\").
      2. \\r\\n
        \\r\\n
      3. You acknowledge and agree that, we do not control or verify Third-Party Services and we shall not be responsible for any Third-Party Services, including their accuracy, completeness, timeliness, validity, copyright compliance, legality, decency, quality or any other aspect thereof. We do not assume and shall not have any liability or responsibility to you or any other person or entity for any Third-Party Services..
      4. \\r\\n
        \\r\\n
      5. Third-Party Services and links thereto are provided solely as a convenience to you and you access and use them entirely at your own risk and subject to such third parties' terms and conditions.
      6. \\r\\n
        \\r\\n
      7. \\r\\n When you acquire services or products from a third party through any of our Platforms, you understand and agree that -

        \\r\\n
          \\r\\n
        1. we are not a party to the contract between you and the third party;
        2. \\r\\n
          \\r\\n
        3. we are under no obligation to monitor the third party service used by you;
        4. \\r\\n
          \\r\\n
        5. the third party will be responsible for all obligations under the contract including (without limitation) warranties or guarantees. We will not be liable to you for any reason under the contract with the third party;
        6. \\r\\n
          \\r\\n
        7. you will evaluate the product or service and the applicable terms and conditions before acquiring the product or service.
        8. \\r\\n
          \\r\\n
        \\r\\n
      8. \\r\\n
      9. If those third parties change, suspend or stop providing such services or products, we may similarly change, suspend or stop providing it to you. We may nevertheless endeavour to provide such a service in another way or by using another supplier or service provider.
      10. \\r\\n
        \\r\\n
      11. We do not provide any technical support for any Third-Party Services.
      12. \\r\\n
        \\r\\n
      13. We may use software that is subject to \\\"open source\\\" licenses (the \\\"Open Source Software\\\"). Where we use such Open Source Software there may be provisions in the Open Source Software's license that expressly override this Agreement, in which case such provisions shall prevail to the extent of any conflict with this Agreement.
      14. \\r\\n
      \\r\\n
    14. \\r\\n

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

      \\r\\n

    15. \\r\\n Privacy Notice and Consent in terms of Data Protection Laws

      \\r\\n
        \\r\\n
      1. For purposes of this clause 8 \\\"Data Protection Laws\\\" means the Protection of personal information Act, 4 of 2013, Electronic Communication and Transaction Act, 25 of 2002 and Promotion of Access to Information Act, 2 of 2000, including any related regulations, guidance and codes of practice issued by the Information Regulator or relevant supervisory authority from time to time (and all terms used have the meaning given to them in these laws).
      2. \\r\\n
        \\r\\n
      3. \\r\\n By accessing, and/or uploading and submitting personal information to any one or more of our Platforms you -

        \\r\\n
          \\r\\n
        1. acknowledge that you have read, fully understood and accept Edge Growth’s Privacy Notice which you can access here Privacy Policy;
        2. \\r\\n
          \\r\\n
        3. acknowledge that any access to a Platform other than to your own personal profile requires separate, prior and written agreement between yourself and the relevant Edge Growth entity/ies. Without any such agreement, you commit not to attempt to access or download or further process any personal information beyond that accessed within your personal profile;
        4. \\r\\n
          \\r\\n
        5. \\r\\n voluntarily, specifically and unconditionally consent to the processing of each and every item of personal information uploaded by you to a Platform for any and all purposes related to the reason for the submission of your personal information to a Platform which may include, but is not limited to –

          \\r\\n
            \\r\\n
          1. enabling Edge Growth to provide you with the services offered by it;
          2. \\r\\n
            \\r\\n
          3. enabling Edge Growth to assess the information submitted by you for purposes of determining your eligibility for one of the programmes offered by Edge Growth;
          4. \\r\\n
            \\r\\n
          5. evaluating, developing or improving Edge Growth’s services;
          6. \\r\\n
            \\r\\n
          7. as far as is legally permissible, keeping you informed about services offered by Edge Growth; and/or
          8. \\r\\n
            \\r\\n
          9. providing you with an efficient and smooth customer experience;
          10. \\r\\n
            \\r\\n
          \\r\\n
        6. \\r\\n
        7. agree, in the absence of any written objection received from you, that this processing consent shall be indefinite and/or for the period otherwise required in terms of any applicable law;
        8. \\r\\n
          \\r\\n
        9. confirm that the information submitted is accurate and complete and you commit to maintain and updating such information when necessary. Should this not be done, Edge Growth shall not be liable for any loss, damage or injury suffered by you or any third party as a result of any inaccuracies or lack of completeness and you indemnify Edge Growth against any such loss, damage or injury;
        10. \\r\\n
          \\r\\n
        11. authorise the Edge Growth entity to which your information is initially and mainly submitted to share your personal information with any third party where it is in the legitimate interest of that Edge Growth entity to do so and agree that such third parties may process your personal information for reasons related to the Edge Growth entity’s or the third party’s legitimate interests;
        12. \\r\\n
          \\r\\n
        13. agree that Edge Growth may transfer your personal information cross-border subject to any/all applicable data protection legislation or requirements;
        14. \\r\\n
          \\r\\n
        15. consent to Edge Growth contacting and requesting information from any third party, credit bureau or business, to obtain any information relevant to your submission of personal information;
        16. \\r\\n
          \\r\\n
        17. agree that the personal information submitted by you to any one or more of our Platforms shall be retained by Edge Growth for the period necessary to achieve the purpose for which it was submitted or subsequently processed, which period is stipulated within Edge Growth’s data retention policies and procedures. You are welcome to enquire about the retention period that will apply to your personal information by contacting Edge Growth using the contact details below or those contained in the Edge Growth Group Privacy Notice.
        18. \\r\\n
          \\r\\n
        19. commit to contacting Edge Growth directly regarding any concern you may have with the processing of your personal information in terms hereof so that Edge Growth Group can assist with addressing your concern, to the extent possible.
        20. \\r\\n
          \\r\\n
        \\r\\n
      4. \\r\\n
      \\r\\n
    16. \\r\\n\\r\\n
    17. \\r\\n Term and termination

      \\r\\n
        \\r\\n
      1. Edge Growth may, in its sole discretion, at any time and for any or no reason, suspend or terminate this Agreement with or without prior notice.
      2. \\r\\n
        \\r\\n
      3. This Agreement will terminate immediately, without prior notice from Edge Growth, in the event that you fail to comply with any provision of this Agreement.
      4. \\r\\n
        \\r\\n
      5. Upon termination of this Agreement, you shall cease all use of the Platforms and Documentation and upon Edge Growth’s instructions delete all copies of the Platforms and Documentation.
      6. \\r\\n
      \\r\\n
    18. \\r\\n

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

      \\r\\n

    19. \\r\\n Payments service providers

      \\r\\n
        \\r\\n
      1. We may provide paid products and/or services on our Platforms. We use third-party services for payment processing.
      2. \\r\\n
        \\r\\n
      3. We will not store or collect your payment card details. That information is provided directly to our third-party payment processors whose use of your personal information is governed by their privacy policy or privacy notice (as the case may be). These payment processors adhere to the standards set by PCI-DSS as managed by the PCI Security Standards Council, which is a joint effort of brands like Visa, Mastercard, American Express and Discover. PCI DSS requirements help ensure the secure handling of payment information.
      4. \\r\\n
      \\r\\n
    20. \\r\\n

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

      \\r\\n

    21. \\r\\n Edge Growth’s liability

      \\r\\n
        \\r\\n
      1. EDGE GROWTH GROUP SHALL NOT BE LIABLE TO YOU FOR ANY LOSS OR DAMAGE WHATSOEVER OR HOWSOEVER CAUSED, ARISING DIRECTLY OR INDIRECTLY IN CONNECTION WITH THIS AGREEMENT, THE PLATFORMS, ITS USE OR OTHERWISE, EXCEPT TO THE EXTENT TO WHICH IT IS UNLAWFUL TO EXCLUDE SUCH LIABILITY UNDER APPLICABLE LAW.
      2. \\r\\n
        \\r\\n
      3. NOTWITHSTANDING THE GENERALITY OF CLAUSE 11.1 ABOVE, EDGE GROWTH GROUP EXPRESSLY EXCLUDES LIABILITY FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL LOSS OR DAMAGE WHICH MAY ARISE IN RESPECT OF THE PLATFORMS, OR FOR LOSS OF PROFIT, BUSINESS, REVENUE, GOODWILL OR ANTICIPATED SAVINGS.
      4. \\r\\n
        \\r\\n
      5. YOU ACKNOWLEDGE THAT PLATFORMS IN GENERAL ARE NOT ERROR-FREE AND AGREE THAT THE EXISTENCE OF SUCH ERRORS SHALL NOT CONSTITUTE A BREACH OF THIS AGREEMENT.
      6. \\r\\n
        \\r\\n
      7. IN THE EVENT THAT YOU DISCOVER A MATERIAL ERROR WHICH SUBSTANTIALLY AFFECTS YOUR USE OF THE PLAFTORMS, YOU MAY NOTIFY EDGE GROWTH GROUP OF THE ERROR. EDGE GROWTH GROUP SHALL USE ALL REASONABLE ENDEAVOURS TO CORRECT, BY PATCH OR UPDATE (AT ITS OPTION), THAT PART OF THE PLATFORM WHICH IS FAULTY, PROVIDED THAT SUCH FAULT HAS NOT BEEN CAUSED BY ANY MODIFICATION, VARIATION OR ADDITION TO THE PLATFORM NOT PERFORMED BY EDGE GROWTH GROUP OR CAUSED BY YOUR INCORRECT USE, ABUSE OR CORRUPTION OF THE PLATFORM OR BY USE OF THE PLATFORMS WITH OTHER PRODUCTS OR SOFTWARE OR WITH EQUIPMENT WITH WHICH IT IS INCOMPATIBLE.
      8. \\r\\n
        \\r\\n
      9. TO THE EXTENT PERMITTED BY APPLICABLE LAW, EDGE GROWTH GROUP DISCLAIMS ALL OTHER WARRANTIES WITH RESPECT TO THE PLATFORMS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE.
      10. \\r\\n
        \\r\\n
      11. ALTHOUGH EDGE GROWTH GROUP DOES NOT WARRANT THAT THE PLATFORMS SUPPLIED HEREUNDER SHALL BE FREE FROM ALL KNOWN VIRUSES, IT HAS USED COMMERCIALLY REASONABLE EFFORTS TO CHECK FOR THE MOST COMMONLY KNOWN VIRUSES, BUT YOU ARE SOLELY RESPONSIBLE FOR YOUR OWN VIRUS SCANNING AND PROTECTION.
      12. \\r\\n
        \\r\\n
      13. WHILE WE ENDEAVOUR TO ENSURE THAT THE PLATFORMS ARE NORMALLY AVAILABLE 24 HOURS A DAY, EDGE GROWTH GROUP SHALL NOT BE LIABLE IF, FOR ANY REASON, THE PLATFORMS ARE UNAVAILABLE AT ANY TIME OR FOR ANY PERIOD.
      14. \\r\\n
        \\r\\n
      15. ACCESS TO THE PLATFORMS MAY BE SUSPENDED TEMPORARILY AND WITHOUT NOTICE IN THE CASE OF SYSTEM FAILURE, MAINTENANCE OR REPAIR OR FOR REASONS BEYOND EDGE GROWTH GROUP’S CONTROL.
      16. \\r\\n
        \\r\\n
      17. YOU AGREE TO INDEMNIFY AND HOLD EDGE GROWTH GROUP AND ITS AFFILIATES, OFFICERS, EMPLOYEES, AGENTS, PARTNERS AND LICENSORS (IF ANY) HARMLESS FROM ANY CLAIM OR DEMAND, INCLUDING REASONABLE ATTORNEYS' FEES, DUE TO OR ARISING OUT OF YOUR: (A) USE OF THE PLATFORMS; (B) VIOLATION OF THIS AGREEMENT OR ANY LAW OR REGULATION; OR (C) VIOLATION OF ANY RIGHT OF A THIRD PARTY.
      18. \\r\\n
      \\r\\n
    22. \\r\\n

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

      \\r\\n

    23. \\r\\n Dispute resolution

      \\r\\n
        \\r\\n
      1. You agree that any dispute between us shall be referred to arbitration and finally resolved in accordance with the rules of the Arbitration Foundation of Southern Africa. Such arbitration shall be held either in Cape Town or Johannesburg and conducted in the English language before one arbitrator appointed in accordance with the said rules. Any award will be final and not subject to appeal. This agreement to arbitrate shall be enforceable in and judgement upon any award may be entered in any court of any country having appropriate jurisdiction. A dispute shall be deemed to have arisen when either party notifies the other party in writing to that effect.
      2. \\r\\n
        \\r\\n
      3. The arbitrator shall have the power to give default judgement if any party fails to make submissions on due date and/or fails to appear at the arbitration.
      4. \\r\\n
        \\r\\n
      5. The provisions set out above shall not prevent either party from approaching any court of competent jurisdiction to obtain interim or other relief in cases of urgency.
      6. \\r\\n
        \\r\\n
      7. \\r\\n You must send any notice or legal process relating to the Agreement, to the following address:

        \\r\\n Investment Place Office Park, 10th Road Off 2ndAvenue, First Floor, Block B Hyde Park 2196 \\r\\n
      8. \\r\\n
      \\r\\n
    24. \\r\\n

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

      \\r\\n

    25. \\r\\n Hyperlinking to our Content

      \\r\\n
        \\r\\n
      1. \\r\\n The following organisations may link to our websites without prior written approval:

        \\r\\n
          \\r\\n
        1. Government agencies;
        2. \\r\\n
          \\r\\n
        3. search engines;
        4. \\r\\n
          \\r\\n
        5. news organisations;
        6. \\r\\n
          \\r\\n
        7. online directory distributors when they list us in the directory may link to our websites in the same manner as they hyperlink to the websites of other listed businesses.
        8. \\r\\n
          \\r\\n
        \\r\\n
      2. \\r\\n
      3. \\r\\n These organisations may link to our home page, to publications or to other website information so long as the link:

        \\r\\n
          \\r\\n
        1. is not in any way misleading;
        2. \\r\\n
          \\r\\n
        3. does not falsely imply sponsorship, endorsement or approval of the linking party and its products or services; and
        4. \\r\\n
          \\r\\n
        5. \\tfits within the context of the linking party’s site.
        6. \\r\\n
          \\r\\n
        \\r\\n
      4. \\r\\n
      5. \\r\\n We may consider and approve in writing, in our sole discretion, other link requests from the following types of organisations:

        \\r\\n
          \\r\\n
        1. commonly known consumer and/or business information sources;
        2. \\r\\n
          \\r\\n
        3. internet portals;
        4. \\r\\n
          \\r\\n
        5. accounting, law and consulting firms whose primary clients are corporates; and
        6. \\r\\n
          \\r\\n
        7. educational institutions and trade associations.
        8. \\r\\n
          \\r\\n
        \\r\\n
      6. \\r\\n
      7. We will approve link requests from these organisations if we determine that: (a) the link would not reflect unfavourably on us and our accredited businesses; (b) the organisation does not have an unsatisfactory record with us; (c) the benefit to us from the visibility associated with the hyperlink outweighs the absence of the link and is in the context of general resource information or is otherwise consistent with editorial content in a newsletter or similar product furthering the mission of the organisation.
      8. \\r\\n
        \\r\\n
      9. \\r\\n Approved organisations may hyperlink to our websites as follows:

        \\r\\n
          \\r\\n
        1. by use of our corporate name; or
        2. \\r\\n
          \\r\\n
        3. by use of the uniform resource locator (Web address) being linked to; or
        4. \\r\\n
          \\r\\n
        5. by use of any other description of our websites or material being linked to that makes sense within the context and format of content on the linking party’s site.
        6. \\r\\n
          \\r\\n
        \\r\\n
      10. \\r\\n
      11. No use of Edge Growth’s logo or other artwork will be allowed for linking absent a trademark license agreement.
      12. \\r\\n
      \\r\\n
    26. \\r\\n

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

      \\r\\n

    27. \\r\\n Iframes

      \\r\\n

      Without prior approval and express written approval, you may not create frames around our web pages or use other techniques that alter in any way the visual presentation or appearance of our websites.

      \\r\\n
    28. \\r\\n

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

      \\r\\n

    29. \\r\\n Reservation of Rights

      \\r\\n

      We reserve the right at any time and in our sole discretion to request that you remove all links or any particular link to our websites. You agree to immediately remove all links to our websites upon such request. We also reserve the right to amend these Terms of Use and the Privacy Notice at any time. Please review the Terms of Use and the Privacy Notice each time you visit a website. By continuing to link to any of our websites, you agree to be bound to and abide by the most recent version of the Terms of Use and the Privacy Notice.

      \\r\\n
    30. \\r\\n

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

      \\r\\n

    31. \\r\\n Removal of links from our websites

      \\r\\n
        \\r\\n
      1. If you find any link on our websites or any linked website objectionable for any reason or would like to provide any feedback, you may contact us about this through our Contact Us page at the following link [https://edgegrowth.com/contact/]. We will consider requests to remove links but will have no obligation to do so or to respond directly to you. If you transmit any ideas, information or materials to us through this website, you hereby grant us unrestricted consent to process them for any purpose, which shall be processed in accordance with our Privacy Notice.
      2. \\r\\n
        \\r\\n
      3. Whilst we endeavour to ensure that the information on this website is correct, we do not warrant its completeness or accuracy; nor do we commit to ensuring that the website remains available or that the material on the website is kept up to date.
      4. \\r\\n
      \\r\\n
    32. \\r\\n

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

      \\r\\n

    33. \\r\\n Content Liability

      \\r\\n

      We shall have no responsibility or liability for any content appearing on your website. You agree to indemnify and defend us against all claims arising out of or based upon your website. No link(s) may appear on any page on your website or within any context containing content or materials that may be interpreted as libelous, obscene or criminal, or which infringes, otherwise violates, or advocates the infringement or other violation of, any third-party rights.

      \\r\\n
    34. \\r\\n

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

      \\r\\n

    35. \\r\\n Cookies

      \\r\\n
        \\r\\n
      1. We employ the use of cookies. By using an Edge Growth website, you consent to the use of cookies in accordance with the Privacy Notice, which can be accessed at the following link: Privacy Policy.
      2. \\r\\n
        \\r\\n
      3. Most of the modern-day interactive websites use cookies to enable us to retrieve user details for each visit. Cookies are used in some areas of our site to enable the functionality of this area and ease of use for those people accessing websites.
      4. \\r\\n
      \\r\\n
    36. \\r\\n

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

      \\r\\n

    37. \\r\\n Amendments to this Agreement

      \\r\\n
        \\r\\n
      1. We reserve the right, in our sole discretion, to modify or replace this Agreement at any time. If a revision results in a material change, we will provide at least 30 calendar days' notice prior to any new Agreement taking effect. What constitutes a material change will be determined at our sole discretion.
      2. \\r\\n
        \\r\\n
      3. BY CONTINUING TO ACCESS OR USE OUR PLATFORMS AFTER ANY REVISIONS BECOME EFFECTIVE, YOU AGREE TO BE BOUND BY THE REVISED AGREEMENT. IF YOU DO NOT AGREE TO THE NEW AGREEMENT, YOU ARE NO LONGER AUTHORIZED TO USE THE PLATFORMS.
      4. \\r\\n
      \\r\\n
    38. \\r\\n

      \\r\\n\\r\\n
    39. \\r\\n General terms

      \\r\\n
        \\r\\n
      1. This Agreement is the sole record of the agreement between you and us, with neither party being bound by any express, tacit or implied representation or warranty not recorded in this Agreement.
      2. \\r\\n
        \\r\\n
      3. No agreement shall be concluded or amendment to this Agreement effected merely \\tby you sending a data message to us or using our Platforms.
      4. \\r\\n
        \\r\\n
      5. We may cede, transfer or assign its rights and obligations under the Agreement to a third party without your consent.
      6. \\r\\n
        \\r\\n
      7. You may not cede, transfer or assign your rights or obligations under the Agreement to a third party without our written consent.
      8. \\r\\n
        \\r\\n
      9. If any provision of the Agreement is or becomes unenforceable for any reason, then such provision will be treated as if it had not been included in the Agreement to the extent that it remains unenforceable and shall not affect the validity of the remaining provisions of the Agreement.
      10. \\r\\n
        \\r\\n
      11. The Agreement is governed by and interpreted in accordance with the laws of the Republic of South Africa without giving effect to any principles of conflict of law, with you irrevocably consenting to the exclusive jurisdiction of the courts of South Africa, in respect of all proceedings arising out of or pursuant to the Agreement.
      12. \\r\\n
        \\r\\n
      13. Except as provided herein, the failure to exercise a right or to require performance of an obligation under this Agreement shall not affect a party's ability to exercise such right or require such performance at any time thereafter nor shall be the waiver of a breach constitute waiver of any subsequent breach.
      14. \\r\\n
        \\r\\n
      15. \\r\\n If you have any questions about this Agreement, please contact us via email at one of the following addresses

        \\r\\n

        For a query related to Growth Tracker: tracker@edgegrowth.com

        \\r\\n

        For a query related to Incubator Portal: incubatorportal@edgegrowth.com

        \\r\\n

        For any other queries: info@edgegrowth.com

        \\r\\n
      16. \\r\\n
      \\r\\n
    40. \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    EDGE USERS >
    \\r\\n
    EDGE USERS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ADD USER\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n EDGE USERS >\\r\\n
    ADD NEW
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    BASIC INFORMATION

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

    The email address is used to access the system and for email notifications.

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

    Administrators can manage everything in the system. Managers can only manage enterprises and corporates that they are assigned to.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Select Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n EDGE USERS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    BASIC INFORMATION

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

    The email address is used to access the system and for email notifications.

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

    Administrators can manage everything in the system. Managers can only manage enterprises and corporates that they are assigned to.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Select Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    EDGE USERS >
    \\r\\n
    EDGE USERS
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n\\r\\n

    To select multiples or to de-select an item, hold CTRL and select.

    \\r\\n
    \\r\\n Add\\r\\n Cancel\\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n\\r\\n

    To select multiples or to de-select an item, hold CTRL and select.

    \\r\\n
    \\r\\n Add\\r\\n Cancel\\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n
    \\r\\n\\r\\n\\r\\n

    To select multiples or to de-select an item, hold CTRL and select.

    \\r\\n
    \\r\\n Add\\r\\n Cancel\\r\\n
    \\r\\n\\r\\n\\r\\n \";","module.exports = \" \\r\\n\\r\\n
    \\r\\n

    To select multiples or to de-select an item, hold CTRL and select.

    \\r\\n
    \\r\\n Add\\r\\n Cancel\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n\\r\\n
    \\r\\n\\r\\n

    To select multiples or to de-select an item, hold CTRL and select.

    \\r\\n
    \\r\\n Add\\r\\n Cancel\\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n\\r\\n

    To select multiples or to de-select an item, hold CTRL and select.

    \\r\\n
    \\r\\n Add\\r\\n Cancel\\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n\\r\\n

    To select multiples or to de-select an item, hold CTRL and select.

    \\r\\n
    \\r\\n Add\\r\\n Cancel\\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

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

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    WAGR BREAKDOWN

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Reports AvailableCalculationBase Period (First Period)Last Period
    Enterpises that have >= 24months of procurement spend\\\"EnterprisesFirst 12 monthsLast 12 months
    Enterpises that have = 24months of procurement spend\\\"EnterprisesFirst 12 monthsLast 12 months
    Enterprises that have 18=< months < 24 of Data\\\"AnnualisedFirst 12 monthsLast Period = Annualised Residual Months

    If the last period has less than 12 months, e.g. If we have 20 months of procurement spend, the first 12 months will be the base period. The residual 8 months will be annualised to create an annualised 12 month period.

    To Annualise 8months=8month procurement spend multiplied by 12/8
    Enterprises that have 12=< months < 18 of data\\\"EnterprisesFirst 6 monthsLast 6 months
    Enterprises that have 6 <= months < 12 of Data\\\"EnterprisesFirst 3 monthsLast 3 months
    Enterprises that have < 6 months of dataNo calulation
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    WAGR BREAKDOWN

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Reports AvailableCalculationBase Period (First Period)Last Period
    Enterpises that have > 24months of Data\\\"EnterprisesFirst 12 monthsLast 12 months
    Enterpises that have = 24months of data\\\"EnterprisesFirst 12 monthsLast 12 months
    Enterprises that have 18 =< months < 24 of Data\\\"AnnualisedFirst 12 monthsLast Period = Annualised Residual Months

    If the last period has less than 12 months, e.g. If we have 20 months of procurement spend, the first 12 months will be the base period. The residual 8 months will be annualised to create an annualised 12 month period.

    To Annualise 8months=8month procurement spend multiplied by 12/8
    Enterprises that have 12=< months < 18 of data\\\"EnterprisesFirst 6 monthsLast 6 months
    Enterprises that have 6 <= months < 12 of Data\\\"EnterprisesFirst 3 monthsLast 3 months
    Enterprises that have < 6 months of dataNo calulation
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    WAGR BREAKDOWN

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Reports AvailableCalculationConditions when there is missing data in the Base & Last PeriodCalculation: Only when there is missing Data
    \\r\\n Last period = Averagred
    Base period = Averaged
    Enterpises that have >= 24months of revenue\\\"Enterprises\\\"Enterprises\\\"Calculating
    Enterpises that have = 24months of revenue\\\"Enterprises
    Enterprises that have 12=< months < 18 of data\\\"Annualised\\\"Enterprises
    Enterprises that have 12=< months < 18 of data\\\"Enterprises\\\"Default
    Enterprises that have 6 <= months < 12 of Data\\\"Enterprises\\\"Default
    Enterprises that have < 6 months of dataNo calulation
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"\";","module.exports = \"\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Kitchen Sink

    \\r\\n

    A quick preview of everything Bootstrap has to offer.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Headings
    \\r\\n
    \\r\\n

    This is an h1 heading

    \\r\\n

    This is an h2 heading

    \\r\\n

    This is an h3 heading

    \\r\\n

    This is an h4 heading

    \\r\\n
    This is an h5 heading
    \\r\\n
    This is an h6 heading
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Radio toggle
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Tables\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 NameTables
    1MichaelAre formatted like this
    2LucilleDo you like them?
    3Success
    4Danger
    5Warning
    6Active
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 NameTables
    1MichaelThis one is bordered and condensed
    2LucilleDo you still like it?
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Standard form
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Legend\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n

    Example block-level help text here.

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Login
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Inline form
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Input Groups
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n cm\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n $\\r\\n .00\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Dropdowns
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Content Formatting
    \\r\\n
    \\r\\n

    This is a lead paragraph.

    \\r\\n

    \\r\\n This text contains superscript text.\\r\\n

    \\r\\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus congue, eros at fermentum sodales, metus est sollicitudin lorem, et suscipit erat dui at augue. Sed congue neque turpis, id porttitor nisl porta eget. Vestibulum maximus ante eros, ut egestas ipsum laoreet sed. Aliquam fringilla pharetra dui, eu scelerisque eros. Aliquam erat volutpat. Donec in auctor tellus, nec cursus lectus. Vestibulum malesuada dui sit amet orci interdum, sed ultrices nulla placerat. Sed quis libero dui. Praesent at posuere nulla. Aenean et arcu laoreet, aliquam lorem sit amet, rhoncus est. Donec eu sapien nec risus tristique rhoncus. Ut id lorem neque. Vestibulum velit urna, aliquet at purus sed, sodales elementum dolor.

    \\r\\n

    Muted color paragraph.

    \\r\\n

    Warning color paragraph.

    \\r\\n

    Danger color paragraph.

    \\r\\n

    Info color paragraph.

    \\r\\n

    Success color paragraph.

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Code and keyboard
    \\r\\n
    \\r\\n \\r\\n

    \\r\\n This is text in a small wrapper. NBD, right?\\r\\n

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

    \\r\\n Use ctrl + p to open the Print dialog box.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Address, abbreviations and horizontal rule
    \\r\\n
    \\r\\n
    \\r\\n Twitter, Inc.
    \\r\\n 795 Folsom Ave, Suite 600
    \\r\\n an Francisco, CA 94107
    \\r\\n\\r\\n P: (123) 456-7890\\r\\n
    \\r\\n\\r\\n
    \\r\\n Full Name
    \\r\\n first.last@example.com\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Blockquote
    \\r\\n
    \\r\\n
    Here's what a blockquote looks like in Bootstrap. Use small to identify the source.
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    UL and OL
    \\r\\n
    \\r\\n
      \\r\\n
    • Normal Unordered List
    • \\r\\n
    • \\r\\n Can Also Work\\r\\n
        \\r\\n
      • With Nested Children
      • \\r\\n
      \\r\\n
    • \\r\\n
    • Adds Bullets to Page
    • \\r\\n
    \\r\\n\\r\\n
      \\r\\n
    1. Normal Ordered List
    2. \\r\\n
    3. \\r\\n Can Also Work\\r\\n
        \\r\\n
      1. With Nested Children
      2. \\r\\n
      \\r\\n
    4. \\r\\n
    5. Adds Bullets to Page
    6. \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Filled buttons
    \\r\\n
    \\r\\n

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

    \\r\\n

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

    \\r\\n

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

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    Hollow buttons
    \\r\\n
    \\r\\n

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

    \\r\\n

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

    \\r\\n

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

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    Link buttons
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    Hollow link buttons
    \\r\\n
    \\r\\n

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

    \\r\\n

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

    \\r\\n

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

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Pagination\\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n Prev\\r\\n
    • \\r\\n
    • \\r\\n 1\\r\\n
    • \\r\\n
    • \\r\\n 2\\r\\n
    • \\r\\n
    • \\r\\n 3\\r\\n
    • \\r\\n
    • \\r\\n 4\\r\\n
    • \\r\\n
    • \\r\\n Next\\r\\n
    • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n Prev\\r\\n
    • \\r\\n
    • \\r\\n 1\\r\\n
    • \\r\\n
    • \\r\\n 2\\r\\n
    • \\r\\n
    • \\r\\n 3\\r\\n
    • \\r\\n
    • \\r\\n 4\\r\\n
    • \\r\\n
    • \\r\\n Next\\r\\n
    • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n Prev\\r\\n
    • \\r\\n
    • \\r\\n Next\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Labels and Badges
    \\r\\n
    \\r\\n Default\\r\\n Success\\r\\n Warning\\r\\n Danger\\r\\n Info\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Alerts\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Oh snap! Change a few things up and try submitting again.\\r\\n
    \\r\\n
    \\r\\n \\r\\n Well done! You successfully read this important alert message.\\r\\n
    \\r\\n
    \\r\\n \\r\\n Heads up! This alert needs your attention, but it's not super important.\\r\\n
    \\r\\n
    \\r\\n \\r\\n Heads up! This alert needs your attention, but it's not super important.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Progress Bars\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    2. Dependants

    \\r\\n
    \\r\\n 60% Complete\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    2. Dependants

    \\r\\n
    \\r\\n 0% Complete\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    2. Dependants

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

    6. Medical History

    \\r\\n
    \\r\\n 100% Complete\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus congue, eros at fermentum sodales, metus est sollicitudin lorem, et suscipit erat dui at augue. Sed congue neque turpis, id porttitor nisl porta eget. Vestibulum maximus ante eros, ut egestas ipsum laoreet sed. Aliquam fringilla pharetra dui, eu scelerisque eros. Aliquam erat volutpat. Donec in auctor tellus, nec cursus lectus. Vestibulum malesuada dui sit amet orci interdum, sed ultrices nulla placerat. Sed quis libero dui. Praesent at posuere nulla. Aenean et arcu laoreet, aliquam lorem sit amet, rhoncus est. Donec eu sapien nec risus tristique rhoncus. Ut id lorem neque. Vestibulum velit urna, aliquet at purus sed, sodales elementum dolor.

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

    Nullam quis felis at felis feugiat iaculis id vel tortor. Sed dapibus orci non orci feugiat, non vestibulum felis mollis. Morbi elementum semper nisi ut condimentum. Maecenas at nulla at felis posuere aliquam. Proin ut eleifend lorem. Nulla non placerat sapien. Sed quis orci in lectus euismod sagittis sit amet ut nunc. Phasellus non egestas velit, ac malesuada mauris. Phasellus tincidunt iaculis mauris nec gravida. Donec gravida venenatis tristique. Pellentesque diam nisl, mollis eget elementum eget, placerat dapibus est. Fusce ut odio ullamcorper, feugiat ex sed, vulputate dui. Etiam purus massa, imperdiet in venenatis nec, tincidunt sit amet risus.

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

    Nunc ut luctus neque. Mauris et viverra lectus. Vestibulum massa ipsum, fringilla id varius in, ullamcorper placerat orci. Pellentesque vulputate rhoncus risus, non placerat libero rutrum eleifend. Phasellus nec feugiat felis. Aliquam porta magna a laoreet bibendum. Nam non volutpat lacus, eu ultrices diam. Suspendisse potenti. Donec varius vel nunc ut consectetur. Duis auctor justo lectus, et elementum ligula blandit in. Fusce non bibendum ligula. Nullam lobortis nulla quis dui bibendum, eu consectetur urna dapibus.

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    Heart and circulation
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n \\r\\n

      Add

      \\r\\n
    • \\r\\n
    • \\r\\n \\r\\n \\r\\n \\r\\n

      Remove

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus congue, eros at fermentum sodales, metus est sollicitudin lorem, et suscipit erat dui at augue. Sed congue neque turpis, id porttitor nisl porta eget. Vestibulum maximus ante eros, ut egestas ipsum laoreet sed. Aliquam fringilla pharetra dui, eu scelerisque eros. Aliquam erat volutpat. Donec in auctor tellus, nec cursus lectus. Vestibulum malesuada dui sit amet orci interdum, sed ultrices nulla placerat. Sed quis libero dui. Praesent at posuere nulla. Aenean et arcu laoreet, aliquam lorem sit amet, rhoncus est. Donec eu sapien nec risus tristique rhoncus. Ut id lorem neque. Vestibulum velit urna, aliquet at purus sed, sodales elementum dolor.

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

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus congue, eros at fermentum sodales, metus est sollicitudin lorem, et suscipit erat dui at augue. Sed congue neque turpis, id porttitor nisl porta eget. Vestibulum maximus ante eros, ut egestas ipsum laoreet sed. Aliquam fringilla pharetra dui, eu scelerisque eros. Aliquam erat volutpat. Donec in auctor tellus, nec cursus lectus. Vestibulum malesuada dui sit amet orci interdum, sed ultrices nulla placerat. Sed quis libero dui. Praesent at posuere nulla. Aenean et arcu laoreet, aliquam lorem sit amet, rhoncus est. Donec eu sapien nec risus tristique rhoncus. Ut id lorem neque. Vestibulum velit urna, aliquet at purus sed, sodales elementum dolor.

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

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus congue, eros at fermentum sodales, metus est sollicitudin lorem, et suscipit erat dui at augue. Sed congue neque turpis, id porttitor nisl porta eget. Vestibulum maximus ante eros, ut egestas ipsum laoreet sed. Aliquam fringilla pharetra dui, eu scelerisque eros. Aliquam erat volutpat. Donec in auctor tellus, nec cursus lectus. Vestibulum malesuada dui sit amet orci interdum, sed ultrices nulla placerat. Sed quis libero dui. Praesent at posuere nulla. Aenean et arcu laoreet, aliquam lorem sit amet, rhoncus est. Donec eu sapien nec risus tristique rhoncus. Ut id lorem neque. Vestibulum velit urna, aliquet at purus sed, sodales elementum dolor.

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

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus congue, eros at fermentum sodales, metus est sollicitudin lorem, et suscipit erat dui at augue. Sed congue neque turpis, id porttitor nisl porta eget. Vestibulum maximus ante eros, ut egestas ipsum laoreet sed. Aliquam fringilla pharetra dui, eu scelerisque eros. Aliquam erat volutpat. Donec in auctor tellus, nec cursus lectus. Vestibulum malesuada dui sit amet orci interdum, sed ultrices nulla placerat. Sed quis libero dui. Praesent at posuere nulla. Aenean et arcu laoreet, aliquam lorem sit amet, rhoncus est. Donec eu sapien nec risus tristique rhoncus. Ut id lorem neque. Vestibulum velit urna, aliquet at purus sed, sodales elementum dolor.

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

    Nullam quis felis at felis feugiat iaculis id vel tortor. Sed dapibus orci non orci feugiat, non vestibulum felis mollis. Morbi elementum semper nisi ut condimentum. Maecenas at nulla at felis posuere aliquam. Proin ut eleifend lorem. Nulla non placerat sapien. Sed quis orci in lectus euismod sagittis sit amet ut nunc. Phasellus non egestas velit, ac malesuada mauris. Phasellus tincidunt iaculis mauris nec gravida. Donec gravida venenatis tristique. Pellentesque diam nisl, mollis eget elementum eget, placerat dapibus est. Fusce ut odio ullamcorper, feugiat ex sed, vulputate dui. Etiam purus massa, imperdiet in venenatis nec, tincidunt sit amet risus.

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

    Nunc ut luctus neque. Mauris et viverra lectus. Vestibulum massa ipsum, fringilla id varius in, ullamcorper placerat orci. Pellentesque vulputate rhoncus risus, non placerat libero rutrum eleifend. Phasellus nec feugiat felis. Aliquam porta magna a laoreet bibendum. Nam non volutpat lacus, eu ultrices diam. Suspendisse potenti. Donec varius vel nunc ut consectetur. Duis auctor justo lectus, et elementum ligula blandit in. Fusce non bibendum ligula. Nullam lobortis nulla quis dui bibendum, eu consectetur urna dapibus.

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

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus congue, eros at fermentum sodales, metus est sollicitudin lorem, et suscipit erat dui at augue. Sed congue neque turpis, id porttitor nisl porta eget. Vestibulum maximus ante eros, ut egestas ipsum laoreet sed. Aliquam fringilla pharetra dui, eu scelerisque eros. Aliquam erat volutpat. Donec in auctor tellus, nec cursus lectus. Vestibulum malesuada dui sit amet orci interdum, sed ultrices nulla placerat. Sed quis libero dui. Praesent at posuere nulla. Aenean et arcu laoreet, aliquam lorem sit amet, rhoncus est. Donec eu sapien nec risus tristique rhoncus. Ut id lorem neque. Vestibulum velit urna, aliquet at purus sed, sodales elementum dolor.

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

    Nullam quis felis at felis feugiat iaculis id vel tortor. Sed dapibus orci non orci feugiat, non vestibulum felis mollis. Morbi elementum semper nisi ut condimentum. Maecenas at nulla at felis posuere aliquam. Proin ut eleifend lorem. Nulla non placerat sapien. Sed quis orci in lectus euismod sagittis sit amet ut nunc. Phasellus non egestas velit, ac malesuada mauris. Phasellus tincidunt iaculis mauris nec gravida. Donec gravida venenatis tristique. Pellentesque diam nisl, mollis eget elementum eget, placerat dapibus est. Fusce ut odio ullamcorper, feugiat ex sed, vulputate dui. Etiam purus massa, imperdiet in venenatis nec, tincidunt sit amet risus.

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

    Nunc ut luctus neque. Mauris et viverra lectus. Vestibulum massa ipsum, fringilla id varius in, ullamcorper placerat orci. Pellentesque vulputate rhoncus risus, non placerat libero rutrum eleifend. Phasellus nec feugiat felis. Aliquam porta magna a laoreet bibendum. Nam non volutpat lacus, eu ultrices diam. Suspendisse potenti. Donec varius vel nunc ut consectetur. Duis auctor justo lectus, et elementum ligula blandit in. Fusce non bibendum ligula. Nullam lobortis nulla quis dui bibendum, eu consectetur urna dapibus.

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

    5. Underwriting Information

    \\r\\n
    \\r\\n 100% Complete\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    5. Underwriting Information

    \\r\\n
    \\r\\n 100% Complete\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    5. Underwriting Information

    \\r\\n
    \\r\\n 50% Complete\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    5. Underwriting Information

    \\r\\n
    \\r\\n 80% Complete\\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 is a header\\r\\n
    \\r\\n

    This is a panel

    \\r\\n
    \\r\\n This is a footer\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n This is a header\\r\\n
    \\r\\n
    This is a panel
    \\r\\n
    \\r\\n This is a footer\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n This is a header\\r\\n
    \\r\\n
    This is a panel
    \\r\\n
    \\r\\n This is a footer\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n This is a header\\r\\n
    \\r\\n
    This is a panel
    \\r\\n
    \\r\\n This is a footer\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n This is a header\\r\\n
    \\r\\n

    This is a panel

    \\r\\n
    \\r\\n This is a footer\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n This is a header\\r\\n
    \\r\\n
    This is a panel
    \\r\\n
      \\r\\n
    • First Item
    • \\r\\n
    • Second Item
    • \\r\\n
    • Third Item
    • \\r\\n
    \\r\\n
    \\r\\n This is a footer\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Default Well
    \\r\\n
    Small Well
    \\r\\n
    Tooltip
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Large Padding Well\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Kendo UI Grid\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Kendo UI Notifications\\r\\n
    \\r\\n
    \\r\\n

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

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Kendo UI Something\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Loading Spinner\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    loading text

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Content\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    PROFILE >
    \\r\\n
    PROFILE
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n CHANGE PASSWORD\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n\\r\\n

    CHECK YOUR INBOX

    \\r\\n
    \\r\\n
    \\r\\n You will receive an email containing a link and instructions to reset your password.\\r\\n Please click on the link in the email to complete the process.\\r\\n
    \\r\\n
    \\r\\n Login\\r\\n \\r\\n
    \";","module.exports = \"
    \\r\\n

    FORGOT PASSWORD

    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n If you have forgotten the email address associated with your account or continue to experience\\r\\n issues with accessing your account, please contact Edge Growth for support.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Edge\\r\\n
    \\r\\n

    TRACKER

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n

    LOGIN

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    TWO-FACTOR AUTHENTICATION

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

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

    Enter the 6-digit code displayed in your linked Authenticator app

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    CAN'T ACCESS YOUR APP?
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    Email codes are valid for 5 minutes

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    SET UP AUTHENTICATOR APP

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

    Open your preferred Authenticator App on\\r\\n
    \\r\\n your mobile device and scan the QR code

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

    Or enter the code below manually\\r\\n
    \\r\\n
    \\r\\n \\r\\n

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

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

    \\r\\n *Don't have an Authenticator App?\\r\\n Download \\r\\n
    \\r\\n \\r\\n Google Authenticator \\r\\n or\\r\\n \\r\\n Microsoft Authenticator \\r\\n \\r\\n
    \\r\\n from the Google Play or Apple App Store.\\r\\n

    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    PROFILE >
    \\r\\n
    PROFILE
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    BASIC INFORMATION

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

    The email address is used to access the system and for email notifications.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\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 Photo\\r\\n Remove Photo\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    The photo should be at least 512px x 512px in size.

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

    CONTACT INFORMATION

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0848764321

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

    The number should be exactly 10 digits long, and only contain numerics. Example 0216712658

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n SAVE\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    UPLOAD

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n UPLOAD\\r\\n CANCEL\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n \\r\\n

    PASSWORD RESET

    \\r\\n
    \\r\\n
    \\r\\n Your password has been successfully reset. You can login with your new details.\\r\\n
    \\r\\n
    \\r\\n Proceed to login\\r\\n\\r\\n
    \";","module.exports = \"
    \\r\\n

    RESET PASSWORD

    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n

    SET PASSWORD

    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    By using this website, I accept the following Terms Of Compliance.
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    Terms Of Compliance

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

    PLEASE READ THIS DOCUMENT CAREFULLY BEFORE USING OUR PLATFORMS. THIS DOCUMENT CONTAINS THE TERMS AND CONDITIONS FOR THE USE OF THE EDGE GROWTH GROUP’S PLATFORMS AND CONTAINS WARRANTY AND LIABILITY DISCLAIMERS. BY ACCESSING AND USING OUR PLATFORMS, YOU AGREE TO BE BOUND BY THESE TERMS OF USE. IF YOU DO NOT AGREE TO THESE TERMS OF USE YOU SHOULD NOT USE OUR PLATFORMS.

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

      \\r\\n

    1. \\r\\n Interpretation

      \\r\\n\\r\\n
        \\r\\n
      1. These Terms of Use together with our Privacy Notice (which can be accessed at the following link: Privacy Policy) (collectively, the \\\"Agreement\\\") will form a written contract between you and Edge Growth and, in addition to any separate terms or agreement agreed with you, will govern our relationship and your use of our Platforms.
      2. \\r\\n
        \\r\\n
      3. \\r\\n The following terminology applies to these Terms of Use:

        \\r\\n
          \\r\\n
        1. \\\"you\\\" and \\\"your\\\" refers to you, the person accessing our Platforms and accepting these Terms of Use;
        2. \\r\\n
          \\r\\n
        3. \\\"Edge Growth\\\", \\\"ourselves\\\", \\\"we\\\", \\\"our\\\" and \\\"us\\\", refers to each entity within the Edge Growth Group with whom you are contracting for purposes of the relevant Edge Growth services or for purposes of accessing the relevant Edge Growth Platform/s;
        4. \\r\\n
          \\r\\n
        5. \\r\\n Edge Growth Group means all entities within the Edge Growth group of companies from time to time, including –

          \\r\\n
            \\r\\n
          1. Edge Growth Business Development Proprietary Limited (registration number 2007/034836/07);
          2. \\r\\n
            \\r\\n
          3. Edge Growth Ventures Proprietary Limited (registration number 2017/148177/07);
          4. \\r\\n
            \\r\\n
          5. Edge Growth Access Proprietary Limited (registration number 2017/124543/07);
          6. \\r\\n
            \\r\\n
          7. Edge Growth Accelerate Proprietary Limited (registration number 2017/124541/07); and/or
          8. \\r\\n
            \\r\\n
          9. Edge Growth Blue Skies Proprietary Limited (registration number 2021/516484/07); and/or
          10. \\r\\n
            \\r\\n
          11. any trust founded by an entity within the Edge Growth group of companies for its own operations and/or any trust that receives fund management services by an entity within the Edge Growth group of companies and all such entities’ successors-in-title (wherever any such members may be located);
          12. \\r\\n
            \\r\\n
          \\r\\n
        6. \\r\\n
        7. \\\"party\\\", \\\"parties\\\", or \\\"us\\\", refers to both you and us, or either you or us, as the context may indicate;
        8. \\r\\n
          \\r\\n
        9. \\\"Platforms\\\" means all of the Edge Growth Group’s websites, mobile sites, mobile applications, online web applications, tools, software-based services, social media platforms, emails, or any other technology or mechanism you may use to interact with us; and
        10. \\r\\n
          \\r\\n
        11. \\\"Documentation\\\" means documentation, tools and/or data that the Edge Growth Group makes available to you on the Platforms or otherwise.
        12. \\r\\n
        \\r\\n
      4. \\r\\n
        \\r\\n
      5. Any use of the above terminology or other words in the singular, plural, capitalisation and/or he/she or they, are taken as interchangeable and therefore as referring to same. Information on this website is for your general information only.
      6. \\r\\n
        \\r\\n
      7. The person agreeing to and accepting this Agreement warrants that he/she is duly authorised to agree to the terms of this Agreement.
      8. \\r\\n\\r\\n
      \\r\\n
    2. \\r\\n

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

      \\r\\n

    3. \\r\\n Registration to use our Platforms

      \\r\\n
        \\r\\n
      1. \\r\\n In order to access and use some of our Platforms you may be requested to –

        \\r\\n
          \\r\\n
        1. register and subscribe to use the Platform, where you will create, or we will allocate you, a username, password or other log-in (\\\"User ID\\\");
        2. \\r\\n
          \\r\\n
        3. login using your User ID; and
        4. \\r\\n
          \\r\\n
        5. comply with the terms of the Agreement.
        6. \\r\\n
          \\r\\n
        \\r\\n
      2. \\r\\n
      3. \\r\\n Your User ID is personal to you. You -

        \\r\\n
          \\r\\n
        1. must keep your User ID confidential and not disclose it to any third party or allow any third party to access or use the Platforms with your User ID;
        2. \\r\\n
          \\r\\n
        3. must inform us promptly if a third party gains access to your User ID;
        4. \\r\\n
          \\r\\n
        5. are responsible for all use of, or activities under your User ID;
        6. \\r\\n
          \\r\\n
        7. will not circumvent our User ID authentication procedures or systems; and
        8. \\r\\n
          \\r\\n
        9. ARE LIABLE FOR ANY DAMAGE, LOSS OR COSTS SUSTAINED BY YOU, US OR BY ANY THIRD PARTY HOWSOEVER ARISING AS A RESULT OF ANY ACTIONS BY YOU OR ANY THIRD PARTY USING YOUR USER ID.
        10. \\r\\n\\r\\n
        \\r\\n
      4. \\r\\n
      \\r\\n
    4. \\r\\n

      \\r\\n\\r\\n
    5. Grant of license
    6. \\r\\n
      \\r\\n

      Subject to you abiding by the terms of this Agreement, we grant you a limited, personal, revocable, non-exclusive, non-sub-licensable, non-transferable license use of our Platform, strictly in accordance with the terms of this Agreement.

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

      \\r\\n

    7. \\r\\n Use restrictions

      \\r\\n
        \\r\\n
      1. \\r\\n Any use of the Platforms not permitted by this Agreement is prohibited and, without limiting the generality of the aforegoing, you will not permit others to:

        \\r\\n
          \\r\\n
        1. license, sub-license, sell, rent, lease, assign, distribute, transmit, host, outsource, disclose or otherwise commercially exploit the Platforms or make the Platforms available to any third party;
        2. \\r\\n
          \\r\\n
        3. copy, modify, reverse compile, reverse engineer or extract source codes from the Platforms, except to the extent that we may not prohibit you from doing so under applicable laws or regulations or you have our prior written consent to do so. Where applicable laws or regulations entitle you to reverse compile or extract source codes from the Platforms, you will first contact us to request the information you need;
        4. \\r\\n
          \\r\\n
        5. remove, alter or obscure any proprietary notice (including any notice of copyright or trademark) of Edge Growth or its affiliates, partners, suppliers or the licensors of the Platforms;
        6. \\r\\n
          \\r\\n
        7. use the Platforms in breach of any applicable law or regulation;
        8. \\r\\n
          \\r\\n
        9. make any misrepresentation;
        10. \\r\\n
          \\r\\n
        11. post, upload or transmit any abusive content;
        12. \\r\\n
          \\r\\n
        13. commit fraud;
        14. \\r\\n
          \\r\\n
        15. propagate, distribute or transmit destructive code, whether or not damage is actually caused thereby;
        16. \\r\\n
          \\r\\n
        17. gather personal or commercial information including (without limitation) e-mail addresses and/or names from any Internet facilities, whether managed by us or by any third party, for commercial or any other purpose without the consent of the owners of such information;
        18. \\r\\n
          \\r\\n
        19. use robots, spiders, or any other device, be it automated or manual, to monitor or copy any Content from the Platform;
        20. \\r\\n
          \\r\\n
        21. use any of the Platform for commercial purposes other than those provided for hereunder, including (without limitation), reformat and display the results of a search; mirror our home page or result pages on your website. If you want to make commercial use of the Platform, you are required to enter into an agreement with us;
        22. \\r\\n
          \\r\\n
        23. access any of the Platform or any similar service of a third party or any network without authorisation or through hacking, password mining or any other means;
        24. \\r\\n
          \\r\\n
        \\r\\n
      2. \\r\\n
      3. You may not make copies of the Documentation except as may be necessary for backup and archival purposes and you will destroy all Documentation when requested by us.
      4. \\r\\n
        \\r\\n
      5. Documentation, data, information, ideas and opinions expressed on the Platforms should not be regarded as professional advice or the official opinion of Edge Growth and you are encouraged to consult professional advice before taking any course of action.
      6. \\r\\n
      \\r\\n
    8. \\r\\n

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

      \\r\\n

    9. \\r\\n Intellectual property

      \\r\\n
        \\r\\n
      1. Except as expressly stated otherwise, this Agreement does not in any way grant, assign, transfer or license any party's intellectual property rights to the other party.
      2. \\r\\n
        \\r\\n
      3. You acknowledge that any and all intellectual property rights subsisting in or used in connection with the Platforms, including all Documentation, databases, analytical data, updates, upgrades, enhancements, new developments and improvements are and shall remain the sole property of Edge Growth. You shall not, during or at any time after the expiry or termination of this Agreement, in any way question or dispute the ownership by Edge Growth thereof.
      4. \\r\\n
        \\r\\n
      5. In the event of new inventions, designs or processes evolve in performance of or as a result of this Agreement, you acknowledge that such inventions, designs or processes shall be the property of Edge Growth, unless otherwise agreed in writing by Edge Growth.
      6. \\r\\n
        \\r\\n
      7. You will retain ownership of any original content or data which you may upload, transmit or store when using our Platforms.
      8. \\r\\n
        \\r\\n
      9. We will own all compilations, collective works or derivative works created by us which may incorporate your content.
      10. \\r\\n
      \\r\\n
    10. \\r\\n

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

      \\r\\n

    11. \\r\\n Updates to platforms

      \\r\\n
        \\r\\n
      1. We may from time to time provide enhancements or improvements to the features/functionality of the Platforms, which may include patches, bug fixes, updates, upgrades and other modifications (\\\"Updates\\\").
      2. \\r\\n
        \\r\\n
      3. Such Updates may occur automatically or manually. We do not guarantee that we will make any Updates available for any of the Platforms, or that such Updates will continue to support your device or system.
      4. \\r\\n
        \\r\\n
      5. Updates may modify or delete certain features and/or functionalities of the Platforms. You agree that we have no obligation to (i) provide any Updates, or (ii) continue to provide or enable any particular features and/or functionalities of the Platforms to you.
      6. \\r\\n
        \\r\\n
      7. You further agree that all Updates will be (i) deemed to constitute an integral part of the Platforms, and (ii) subject to the Agreement and conditions of this Agreement.
      8. \\r\\n
        \\r\\n
      9. No Service maintenance is provided under this Agreement, except for Updates.
      10. \\r\\n\\r\\n
      \\r\\n
    12. \\r\\n

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

      \\r\\n

    13. \\r\\n Third-party services

      \\r\\n
        \\r\\n
      1. The Platforms may display, include or make available third-party content (including data, information, software and other products or services) or provide links to third-party websites or services (\\\"Third-Party Services\\\").
      2. \\r\\n
        \\r\\n
      3. You acknowledge and agree that, we do not control or verify Third-Party Services and we shall not be responsible for any Third-Party Services, including their accuracy, completeness, timeliness, validity, copyright compliance, legality, decency, quality or any other aspect thereof. We do not assume and shall not have any liability or responsibility to you or any other person or entity for any Third-Party Services..
      4. \\r\\n
        \\r\\n
      5. Third-Party Services and links thereto are provided solely as a convenience to you and you access and use them entirely at your own risk and subject to such third parties' terms and conditions.
      6. \\r\\n
        \\r\\n
      7. \\r\\n When you acquire services or products from a third party through any of our Platforms, you understand and agree that -

        \\r\\n
          \\r\\n
        1. we are not a party to the contract between you and the third party;
        2. \\r\\n
          \\r\\n
        3. we are under no obligation to monitor the third party service used by you;
        4. \\r\\n
          \\r\\n
        5. the third party will be responsible for all obligations under the contract including (without limitation) warranties or guarantees. We will not be liable to you for any reason under the contract with the third party;
        6. \\r\\n
          \\r\\n
        7. you will evaluate the product or service and the applicable terms and conditions before acquiring the product or service.
        8. \\r\\n
          \\r\\n
        \\r\\n
      8. \\r\\n
      9. If those third parties change, suspend or stop providing such services or products, we may similarly change, suspend or stop providing it to you. We may nevertheless endeavour to provide such a service in another way or by using another supplier or service provider.
      10. \\r\\n
        \\r\\n
      11. We do not provide any technical support for any Third-Party Services.
      12. \\r\\n
        \\r\\n
      13. We may use software that is subject to \\\"open source\\\" licenses (the \\\"Open Source Software\\\"). Where we use such Open Source Software there may be provisions in the Open Source Software's license that expressly override this Agreement, in which case such provisions shall prevail to the extent of any conflict with this Agreement.
      14. \\r\\n
      \\r\\n
    14. \\r\\n

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

      \\r\\n

    15. \\r\\n Privacy Notice and Consent in terms of Data Protection Laws

      \\r\\n
        \\r\\n
      1. For purposes of this clause 8 \\\"Data Protection Laws\\\" means the Protection of personal information Act, 4 of 2013, Electronic Communication and Transaction Act, 25 of 2002 and Promotion of Access to Information Act, 2 of 2000, including any related regulations, guidance and codes of practice issued by the Information Regulator or relevant supervisory authority from time to time (and all terms used have the meaning given to them in these laws).
      2. \\r\\n
        \\r\\n
      3. \\r\\n By accessing, and/or uploading and submitting personal information to any one or more of our Platforms you -

        \\r\\n
          \\r\\n
        1. acknowledge that you have read, fully understood and accept Edge Growth’s Privacy Notice which you can access here Privacy Policy;
        2. \\r\\n
          \\r\\n
        3. acknowledge that any access to a Platform other than to your own personal profile requires separate, prior and written agreement between yourself and the relevant Edge Growth entity/ies. Without any such agreement, you commit not to attempt to access or download or further process any personal information beyond that accessed within your personal profile;
        4. \\r\\n
          \\r\\n
        5. \\r\\n voluntarily, specifically and unconditionally consent to the processing of each and every item of personal information uploaded by you to a Platform for any and all purposes related to the reason for the submission of your personal information to a Platform which may include, but is not limited to –

          \\r\\n
            \\r\\n
          1. enabling Edge Growth to provide you with the services offered by it;
          2. \\r\\n
            \\r\\n
          3. enabling Edge Growth to assess the information submitted by you for purposes of determining your eligibility for one of the programmes offered by Edge Growth;
          4. \\r\\n
            \\r\\n
          5. evaluating, developing or improving Edge Growth’s services;
          6. \\r\\n
            \\r\\n
          7. as far as is legally permissible, keeping you informed about services offered by Edge Growth; and/or
          8. \\r\\n
            \\r\\n
          9. providing you with an efficient and smooth customer experience;
          10. \\r\\n
            \\r\\n
          \\r\\n
        6. \\r\\n
        7. agree, in the absence of any written objection received from you, that this processing consent shall be indefinite and/or for the period otherwise required in terms of any applicable law;
        8. \\r\\n
          \\r\\n
        9. confirm that the information submitted is accurate and complete and you commit to maintain and updating such information when necessary. Should this not be done, Edge Growth shall not be liable for any loss, damage or injury suffered by you or any third party as a result of any inaccuracies or lack of completeness and you indemnify Edge Growth against any such loss, damage or injury;
        10. \\r\\n
          \\r\\n
        11. authorise the Edge Growth entity to which your information is initially and mainly submitted to share your personal information with any third party where it is in the legitimate interest of that Edge Growth entity to do so and agree that such third parties may process your personal information for reasons related to the Edge Growth entity’s or the third party’s legitimate interests;
        12. \\r\\n
          \\r\\n
        13. agree that Edge Growth may transfer your personal information cross-border subject to any/all applicable data protection legislation or requirements;
        14. \\r\\n
          \\r\\n
        15. consent to Edge Growth contacting and requesting information from any third party, credit bureau or business, to obtain any information relevant to your submission of personal information;
        16. \\r\\n
          \\r\\n
        17. agree that the personal information submitted by you to any one or more of our Platforms shall be retained by Edge Growth for the period necessary to achieve the purpose for which it was submitted or subsequently processed, which period is stipulated within Edge Growth’s data retention policies and procedures. You are welcome to enquire about the retention period that will apply to your personal information by contacting Edge Growth using the contact details below or those contained in the Edge Growth Group Privacy Notice.
        18. \\r\\n
          \\r\\n
        19. commit to contacting Edge Growth directly regarding any concern you may have with the processing of your personal information in terms hereof so that Edge Growth Group can assist with addressing your concern, to the extent possible.
        20. \\r\\n
          \\r\\n
        \\r\\n
      4. \\r\\n
      \\r\\n
    16. \\r\\n\\r\\n
    17. \\r\\n Term and termination

      \\r\\n
        \\r\\n
      1. Edge Growth may, in its sole discretion, at any time and for any or no reason, suspend or terminate this Agreement with or without prior notice.
      2. \\r\\n
        \\r\\n
      3. This Agreement will terminate immediately, without prior notice from Edge Growth, in the event that you fail to comply with any provision of this Agreement.
      4. \\r\\n
        \\r\\n
      5. Upon termination of this Agreement, you shall cease all use of the Platforms and Documentation and upon Edge Growth’s instructions delete all copies of the Platforms and Documentation.
      6. \\r\\n
      \\r\\n
    18. \\r\\n

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

      \\r\\n

    19. \\r\\n Payments service providers

      \\r\\n
        \\r\\n
      1. We may provide paid products and/or services on our Platforms. We use third-party services for payment processing.
      2. \\r\\n
        \\r\\n
      3. We will not store or collect your payment card details. That information is provided directly to our third-party payment processors whose use of your personal information is governed by their privacy policy or privacy notice (as the case may be). These payment processors adhere to the standards set by PCI-DSS as managed by the PCI Security Standards Council, which is a joint effort of brands like Visa, Mastercard, American Express and Discover. PCI DSS requirements help ensure the secure handling of payment information.
      4. \\r\\n
      \\r\\n
    20. \\r\\n

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

      \\r\\n

    21. \\r\\n Edge Growth’s liability

      \\r\\n
        \\r\\n
      1. EDGE GROWTH GROUP SHALL NOT BE LIABLE TO YOU FOR ANY LOSS OR DAMAGE WHATSOEVER OR HOWSOEVER CAUSED, ARISING DIRECTLY OR INDIRECTLY IN CONNECTION WITH THIS AGREEMENT, THE PLATFORMS, ITS USE OR OTHERWISE, EXCEPT TO THE EXTENT TO WHICH IT IS UNLAWFUL TO EXCLUDE SUCH LIABILITY UNDER APPLICABLE LAW.
      2. \\r\\n
        \\r\\n
      3. NOTWITHSTANDING THE GENERALITY OF CLAUSE 11.1 ABOVE, EDGE GROWTH GROUP EXPRESSLY EXCLUDES LIABILITY FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL LOSS OR DAMAGE WHICH MAY ARISE IN RESPECT OF THE PLATFORMS, OR FOR LOSS OF PROFIT, BUSINESS, REVENUE, GOODWILL OR ANTICIPATED SAVINGS.
      4. \\r\\n
        \\r\\n
      5. YOU ACKNOWLEDGE THAT PLATFORMS IN GENERAL ARE NOT ERROR-FREE AND AGREE THAT THE EXISTENCE OF SUCH ERRORS SHALL NOT CONSTITUTE A BREACH OF THIS AGREEMENT.
      6. \\r\\n
        \\r\\n
      7. IN THE EVENT THAT YOU DISCOVER A MATERIAL ERROR WHICH SUBSTANTIALLY AFFECTS YOUR USE OF THE PLAFTORMS, YOU MAY NOTIFY EDGE GROWTH GROUP OF THE ERROR. EDGE GROWTH GROUP SHALL USE ALL REASONABLE ENDEAVOURS TO CORRECT, BY PATCH OR UPDATE (AT ITS OPTION), THAT PART OF THE PLATFORM WHICH IS FAULTY, PROVIDED THAT SUCH FAULT HAS NOT BEEN CAUSED BY ANY MODIFICATION, VARIATION OR ADDITION TO THE PLATFORM NOT PERFORMED BY EDGE GROWTH GROUP OR CAUSED BY YOUR INCORRECT USE, ABUSE OR CORRUPTION OF THE PLATFORM OR BY USE OF THE PLATFORMS WITH OTHER PRODUCTS OR SOFTWARE OR WITH EQUIPMENT WITH WHICH IT IS INCOMPATIBLE.
      8. \\r\\n
        \\r\\n
      9. TO THE EXTENT PERMITTED BY APPLICABLE LAW, EDGE GROWTH GROUP DISCLAIMS ALL OTHER WARRANTIES WITH RESPECT TO THE PLATFORMS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE.
      10. \\r\\n
        \\r\\n
      11. ALTHOUGH EDGE GROWTH GROUP DOES NOT WARRANT THAT THE PLATFORMS SUPPLIED HEREUNDER SHALL BE FREE FROM ALL KNOWN VIRUSES, IT HAS USED COMMERCIALLY REASONABLE EFFORTS TO CHECK FOR THE MOST COMMONLY KNOWN VIRUSES, BUT YOU ARE SOLELY RESPONSIBLE FOR YOUR OWN VIRUS SCANNING AND PROTECTION.
      12. \\r\\n
        \\r\\n
      13. WHILE WE ENDEAVOUR TO ENSURE THAT THE PLATFORMS ARE NORMALLY AVAILABLE 24 HOURS A DAY, EDGE GROWTH GROUP SHALL NOT BE LIABLE IF, FOR ANY REASON, THE PLATFORMS ARE UNAVAILABLE AT ANY TIME OR FOR ANY PERIOD.
      14. \\r\\n
        \\r\\n
      15. ACCESS TO THE PLATFORMS MAY BE SUSPENDED TEMPORARILY AND WITHOUT NOTICE IN THE CASE OF SYSTEM FAILURE, MAINTENANCE OR REPAIR OR FOR REASONS BEYOND EDGE GROWTH GROUP’S CONTROL.
      16. \\r\\n
        \\r\\n
      17. YOU AGREE TO INDEMNIFY AND HOLD EDGE GROWTH GROUP AND ITS AFFILIATES, OFFICERS, EMPLOYEES, AGENTS, PARTNERS AND LICENSORS (IF ANY) HARMLESS FROM ANY CLAIM OR DEMAND, INCLUDING REASONABLE ATTORNEYS' FEES, DUE TO OR ARISING OUT OF YOUR: (A) USE OF THE PLATFORMS; (B) VIOLATION OF THIS AGREEMENT OR ANY LAW OR REGULATION; OR (C) VIOLATION OF ANY RIGHT OF A THIRD PARTY.
      18. \\r\\n
      \\r\\n
    22. \\r\\n

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

      \\r\\n

    23. \\r\\n Dispute resolution

      \\r\\n
        \\r\\n
      1. You agree that any dispute between us shall be referred to arbitration and finally resolved in accordance with the rules of the Arbitration Foundation of Southern Africa. Such arbitration shall be held either in Cape Town or Johannesburg and conducted in the English language before one arbitrator appointed in accordance with the said rules. Any award will be final and not subject to appeal. This agreement to arbitrate shall be enforceable in and judgement upon any award may be entered in any court of any country having appropriate jurisdiction. A dispute shall be deemed to have arisen when either party notifies the other party in writing to that effect.
      2. \\r\\n
        \\r\\n
      3. The arbitrator shall have the power to give default judgement if any party fails to make submissions on due date and/or fails to appear at the arbitration.
      4. \\r\\n
        \\r\\n
      5. The provisions set out above shall not prevent either party from approaching any court of competent jurisdiction to obtain interim or other relief in cases of urgency.
      6. \\r\\n
        \\r\\n
      7. \\r\\n You must send any notice or legal process relating to the Agreement, to the following address:

        \\r\\n Investment Place Office Park, 10th Road Off 2ndAvenue, First Floor, Block B Hyde Park 2196 \\r\\n
      8. \\r\\n
      \\r\\n
    24. \\r\\n

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

      \\r\\n

    25. \\r\\n Hyperlinking to our Content

      \\r\\n
        \\r\\n
      1. \\r\\n The following organisations may link to our websites without prior written approval:

        \\r\\n
          \\r\\n
        1. Government agencies;
        2. \\r\\n
          \\r\\n
        3. search engines;
        4. \\r\\n
          \\r\\n
        5. news organisations;
        6. \\r\\n
          \\r\\n
        7. online directory distributors when they list us in the directory may link to our websites in the same manner as they hyperlink to the websites of other listed businesses.
        8. \\r\\n
          \\r\\n
        \\r\\n
      2. \\r\\n
      3. \\r\\n These organisations may link to our home page, to publications or to other website information so long as the link:

        \\r\\n
          \\r\\n
        1. is not in any way misleading;
        2. \\r\\n
          \\r\\n
        3. does not falsely imply sponsorship, endorsement or approval of the linking party and its products or services; and
        4. \\r\\n
          \\r\\n
        5. \\tfits within the context of the linking party’s site.
        6. \\r\\n
          \\r\\n
        \\r\\n
      4. \\r\\n
      5. \\r\\n We may consider and approve in writing, in our sole discretion, other link requests from the following types of organisations:

        \\r\\n
          \\r\\n
        1. commonly known consumer and/or business information sources;
        2. \\r\\n
          \\r\\n
        3. internet portals;
        4. \\r\\n
          \\r\\n
        5. accounting, law and consulting firms whose primary clients are corporates; and
        6. \\r\\n
          \\r\\n
        7. educational institutions and trade associations.
        8. \\r\\n
          \\r\\n
        \\r\\n
      6. \\r\\n
      7. We will approve link requests from these organisations if we determine that: (a) the link would not reflect unfavourably on us and our accredited businesses; (b) the organisation does not have an unsatisfactory record with us; (c) the benefit to us from the visibility associated with the hyperlink outweighs the absence of the link and is in the context of general resource information or is otherwise consistent with editorial content in a newsletter or similar product furthering the mission of the organisation.
      8. \\r\\n
        \\r\\n
      9. \\r\\n Approved organisations may hyperlink to our websites as follows:

        \\r\\n
          \\r\\n
        1. by use of our corporate name; or
        2. \\r\\n
          \\r\\n
        3. by use of the uniform resource locator (Web address) being linked to; or
        4. \\r\\n
          \\r\\n
        5. by use of any other description of our websites or material being linked to that makes sense within the context and format of content on the linking party’s site.
        6. \\r\\n
          \\r\\n
        \\r\\n
      10. \\r\\n
      11. No use of Edge Growth’s logo or other artwork will be allowed for linking absent a trademark license agreement.
      12. \\r\\n
      \\r\\n
    26. \\r\\n

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

      \\r\\n

    27. \\r\\n Iframes

      \\r\\n

      Without prior approval and express written approval, you may not create frames around our web pages or use other techniques that alter in any way the visual presentation or appearance of our websites.

      \\r\\n
    28. \\r\\n

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

      \\r\\n

    29. \\r\\n Reservation of Rights

      \\r\\n

      We reserve the right at any time and in our sole discretion to request that you remove all links or any particular link to our websites. You agree to immediately remove all links to our websites upon such request. We also reserve the right to amend these Terms of Use and the Privacy Notice at any time. Please review the Terms of Use and the Privacy Notice each time you visit a website. By continuing to link to any of our websites, you agree to be bound to and abide by the most recent version of the Terms of Use and the Privacy Notice.

      \\r\\n
    30. \\r\\n

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

      \\r\\n

    31. \\r\\n Removal of links from our websites

      \\r\\n
        \\r\\n
      1. If you find any link on our websites or any linked website objectionable for any reason or would like to provide any feedback, you may contact us about this through our Contact Us page at the following link [https://edgegrowth.com/contact/]. We will consider requests to remove links but will have no obligation to do so or to respond directly to you. If you transmit any ideas, information or materials to us through this website, you hereby grant us unrestricted consent to process them for any purpose, which shall be processed in accordance with our Privacy Notice.
      2. \\r\\n
        \\r\\n
      3. Whilst we endeavour to ensure that the information on this website is correct, we do not warrant its completeness or accuracy; nor do we commit to ensuring that the website remains available or that the material on the website is kept up to date.
      4. \\r\\n
      \\r\\n
    32. \\r\\n

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

      \\r\\n

    33. \\r\\n Content Liability

      \\r\\n

      We shall have no responsibility or liability for any content appearing on your website. You agree to indemnify and defend us against all claims arising out of or based upon your website. No link(s) may appear on any page on your website or within any context containing content or materials that may be interpreted as libelous, obscene or criminal, or which infringes, otherwise violates, or advocates the infringement or other violation of, any third-party rights.

      \\r\\n
    34. \\r\\n

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

      \\r\\n

    35. \\r\\n Cookies

      \\r\\n
        \\r\\n
      1. We employ the use of cookies. By using an Edge Growth website, you consent to the use of cookies in accordance with the Privacy Notice, which can be accessed at the following link: Privacy Policy.
      2. \\r\\n
        \\r\\n
      3. Most of the modern-day interactive websites use cookies to enable us to retrieve user details for each visit. Cookies are used in some areas of our site to enable the functionality of this area and ease of use for those people accessing websites.
      4. \\r\\n
      \\r\\n
    36. \\r\\n

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

      \\r\\n

    37. \\r\\n Amendments to this Agreement

      \\r\\n
        \\r\\n
      1. We reserve the right, in our sole discretion, to modify or replace this Agreement at any time. If a revision results in a material change, we will provide at least 30 calendar days' notice prior to any new Agreement taking effect. What constitutes a material change will be determined at our sole discretion.
      2. \\r\\n
        \\r\\n
      3. BY CONTINUING TO ACCESS OR USE OUR PLATFORMS AFTER ANY REVISIONS BECOME EFFECTIVE, YOU AGREE TO BE BOUND BY THE REVISED AGREEMENT. IF YOU DO NOT AGREE TO THE NEW AGREEMENT, YOU ARE NO LONGER AUTHORIZED TO USE THE PLATFORMS.
      4. \\r\\n
      \\r\\n
    38. \\r\\n

      \\r\\n\\r\\n
    39. \\r\\n General terms

      \\r\\n
        \\r\\n
      1. This Agreement is the sole record of the agreement between you and us, with neither party being bound by any express, tacit or implied representation or warranty not recorded in this Agreement.
      2. \\r\\n
        \\r\\n
      3. No agreement shall be concluded or amendment to this Agreement effected merely \\tby you sending a data message to us or using our Platforms.
      4. \\r\\n
        \\r\\n
      5. We may cede, transfer or assign its rights and obligations under the Agreement to a third party without your consent.
      6. \\r\\n
        \\r\\n
      7. You may not cede, transfer or assign your rights or obligations under the Agreement to a third party without our written consent.
      8. \\r\\n
        \\r\\n
      9. If any provision of the Agreement is or becomes unenforceable for any reason, then such provision will be treated as if it had not been included in the Agreement to the extent that it remains unenforceable and shall not affect the validity of the remaining provisions of the Agreement.
      10. \\r\\n
        \\r\\n
      11. The Agreement is governed by and interpreted in accordance with the laws of the Republic of South Africa without giving effect to any principles of conflict of law, with you irrevocably consenting to the exclusive jurisdiction of the courts of South Africa, in respect of all proceedings arising out of or pursuant to the Agreement.
      12. \\r\\n
        \\r\\n
      13. Except as provided herein, the failure to exercise a right or to require performance of an obligation under this Agreement shall not affect a party's ability to exercise such right or require such performance at any time thereafter nor shall be the waiver of a breach constitute waiver of any subsequent breach.
      14. \\r\\n
        \\r\\n
      15. \\r\\n If you have any questions about this Agreement, please contact us via email at one of the following addresses

        \\r\\n

        For a query related to Growth Tracker: tracker@edgegrowth.com

        \\r\\n

        For a query related to Incubator Portal: incubatorportal@edgegrowth.com

        \\r\\n

        For any other queries: info@edgegrowth.com

        \\r\\n
      16. \\r\\n
      \\r\\n
    40. \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n

    ISSUE LOGGING IN...

    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Apologies for the inconvenience, but we've encountered an issue and are unable to log you in. Please return to the login screen to try again.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n

    LOGGING YOU IN...

    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Just a moment while we prepare your Dashboard.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n

    Oops!

    \\r\\n

    We're very embarressed.

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Please take note of your reference number:
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\";","module.exports = \"\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    #= title #

    \\r\\n

    #= message #

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n  CLOSE\\r\\n
    \\r\\n \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    #= title #

    \\r\\n

    #= message #

    \\r\\n\\r\\n
    \\r\\n
    \\r\\n  CLOSE\\r\\n
    \\r\\n\\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    #= title #

    \\r\\n

    #= message #

    \\r\\n\\r\\n
    \\r\\n
    \\r\\n  CLOSE\\r\\n
    \\r\\n\\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    #= title #

    \\r\\n

    #= message #

    \\r\\n\\r\\n
    \\r\\n
    \\r\\n  CLOSE\\r\\n
    \\r\\n\\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n SEARCH\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \";","module.exports = \"
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \";","module.exports = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\";","var map = {\n\t\"./custom/corporate/dashboard.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/corporate/dashboard.js\",\n\t\"./custom/corporate/manage-corporate-users.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/corporate/manage-corporate-users.js\",\n\t\"./custom/corporate/manage-corporates.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/corporate/manage-corporates.js\",\n\t\"./custom/corporate/user-dashboard.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/corporate/user-dashboard.js\",\n\t\"./custom/enterprise/confirmation.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/confirmation.js\",\n\t\"./custom/enterprise/dashboard.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/dashboard.js\",\n\t\"./custom/enterprise/enterprise-overview.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-overview.js\",\n\t\"./custom/enterprise/enterprise-performance.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-performance.js\",\n\t\"./custom/enterprise/enterprise-report-list.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-report-list.js\",\n\t\"./custom/enterprise/enterprise-report-super-edit.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-report-super-edit.js\",\n\t\"./custom/enterprise/enterprise-report.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/enterprise-report.js\",\n\t\"./custom/enterprise/manage-enterprise-users.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/manage-enterprise-users.js\",\n\t\"./custom/enterprise/manage-enterprises.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/manage-enterprises.js\",\n\t\"./custom/enterprise/overview/enterprise-overview.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/overview/enterprise-overview.js\",\n\t\"./custom/enterprise/user-dashboard.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/enterprise/user-dashboard.js\",\n\t\"./custom/fund/dashboard.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/fund/dashboard.js\",\n\t\"./custom/fund/manage-funds.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/fund/manage-funds.js\",\n\t\"./custom/fund/performance-overview.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/fund/performance-overview.js\",\n\t\"./custom/mentor/confirmation.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/mentor/confirmation.js\",\n\t\"./custom/mentor/dashboard.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/mentor/dashboard.js\",\n\t\"./custom/mentor/manage-mentors.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/mentor/manage-mentors.js\",\n\t\"./custom/mentor/mentor-report.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/mentor/mentor-report.js\",\n\t\"./custom/programme/dashboard.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/programme/dashboard.js\",\n\t\"./custom/programme/manage-programmes.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/programme/manage-programmes.js\",\n\t\"./custom/setting/manage-settings.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/setting/manage-settings.js\",\n\t\"./custom/system/dashboard.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/system/dashboard.js\",\n\t\"./custom/user/manage-users.js\": \"./App/mvvm/viewslayouts/layoutcode/custom/user/manage-users.js\",\n\t\"./default/base.js\": \"./App/mvvm/viewslayouts/layoutcode/default/base.js\",\n\t\"./default/default.js\": \"./App/mvvm/viewslayouts/layoutcode/default/default.js\",\n\t\"./default/system/auth/generic.js\": \"./App/mvvm/viewslayouts/layoutcode/default/system/auth/generic.js\",\n\t\"./default/system/auth/user-profile.js\": \"./App/mvvm/viewslayouts/layoutcode/default/system/auth/user-profile.js\",\n\t\"./default/system/master.js\": \"./App/mvvm/viewslayouts/layoutcode/default/system/master.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./App/mvvm/viewslayouts/layoutcode sync recursive ^\\\\.\\\\/.*\\\\.js$\";","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n $(\"#application\").removeClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) { \r\n \r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() { \r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n \r\n \r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n \r\n};\r\n\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n loadEnterpriseOverview();\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};\r\n\r\n// Function: loadEnterpriseOverview ---------------------------------------------------------------------\r\nfunction loadEnterpriseOverview() {\r\n app.AppRender.showView(\"#enterprise-overview-content\", {\r\n html: \"./custom/enterprise/dashboard/overview\",\r\n viewmodel: \"./custom/enterprise/dashboard/overview\",\r\n code: \"./custom/enterprise/dashboard/overview\",\r\n viewmodelParams: { isMonthlyReport: false }\r\n });\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n console.log(this.viewmodel);\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n loadPerformance();\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n\r\n};\r\n\r\n// Function: loadPerformance ---------------------------------------------------------------------\r\nfunction loadPerformance() {\r\n app.AppRender.showView(\"#performance\", {\r\n html: \"./custom/enterprise/report/performance\",\r\n viewmodel: \"./custom/enterprise/report/performance\",\r\n code: \"./custom/enterprise/report/performance\",\r\n viewmodelParams: { isMonthlyReport: false }\r\n });\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n loadListPage();\r\n \r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n \r\n};\r\n\r\n// Function: loadListPage --------------------------------------------------------------------------\r\nfunction loadListPage() {\r\n app.AppRender.showView(\"#enterprise-report-list\", {\r\n html: \"./custom/enterprise/report/list\",\r\n viewmodel: \"./custom/enterprise/report/list\",\r\n code: \"./custom/enterprise/report/list\"\r\n });\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n loadListPage();\r\n \r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n \r\n};\r\n\r\n// Function: loadListPage --------------------------------------------------------------------------\r\nfunction loadListPage() {\r\n app.AppRender.showView(\"#enterprise-report-super-edit\", {\r\n html: \"./custom/enterprise/report/super-edit\",\r\n viewmodel: \"./custom/enterprise/report/super-edit\",\r\n code: \"./custom/enterprise/report/super-edit\"\r\n });\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n console.log(this.viewmodel);\r\n console.log(\"Loaded constructor...\");\r\n\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n loadCarouselPages();\r\n \r\n};\r\n\r\n\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n \r\n};\r\n\r\n// Function: loadCarouselPages ---------------------------------------------------------------------\r\nfunction loadCarouselPages() {\r\n app.AppRender.showView(\"#performance\", {\r\n html: \"./custom/enterprise/report/performance\",\r\n viewmodel: \"./custom/enterprise/report/performance\",\r\n code: \"./custom/enterprise/report/performance\",\r\n viewmodelParams: { isMonthlyReport: true}\r\n });\r\n\r\n //app.AppRender.showView(\"#contracts\", {\r\n // html: \"./custom/enterprise/report/contracts\",\r\n // viewmodel: \"./custom/enterprise/report/contracts\",\r\n // code: \"./custom/enterprise/report/contracts\"\r\n //});\r\n\r\n\r\n app.AppRender.showView(\"#mentor-rating\", {\r\n html: \"./custom/enterprise/report/mentor-rating\",\r\n viewmodel: \"./custom/enterprise/report/mentor-rating\",\r\n code: \"./custom/enterprise/report/mentor-rating\",\r\n //viewmodelParams: { performanceId: 1 }\r\n });\r\n}\r\n\r\nfunction backToReports(viewmodel) {\r\n var link = $(\"#breadcrumb-link\").attr(\"href\");\r\n app.AppRouter.router.navigate(link);\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n loadEnterpriseOverview();\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};\r\n\r\n// Function: loadEnterpriseOverview ---------------------------------------------------------------------\r\nfunction loadEnterpriseOverview() {\r\n app.AppRender.showView(\"#enterprise-overview-content\", {\r\n html: \"./custom/enterprise/dashboard/overview/overview\",\r\n viewmodel: \"./custom/enterprise/dashboard/overview/overview\",\r\n code: \"./custom/enterprise/dashboard/overview/overview\",\r\n viewmodelParams: { isMonthlyReport: false }\r\n });\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n $(\"#application\").removeClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) { \r\n \r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() { \r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n \r\n \r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n \r\n};\r\n\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = require(\"app\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n loadCarouselPages();\r\n \r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n \r\n};\r\n\r\n// Function: loadCarouselPages ---------------------------------------------------------------------\r\nfunction loadCarouselPages() { \r\n\r\n app.AppRender.showView(\"#enterprise-rating\", {\r\n html: \"./custom/mentor/report/enterprise-rating\",\r\n viewmodel: \"./custom/mentor/report/enterprise-rating\",\r\n code: \"./custom/mentor/report/enterprise-rating\",\r\n });\r\n\r\n //app.AppRender.showView(\"#additional-info\", {\r\n // html: \"./custom/mentor/report/additional-info\",\r\n // viewmodel: \"./custom/mentor/report/additional-info\",\r\n // code: \"./custom/mentor/report/additional-info\",\r\n // //viewmodelParams: { isMonthlyReport: true }\r\n //});\r\n\r\n //app.AppRender.showView(\"#document-upload\", {\r\n // html: \"./custom/mentor/report/document-upload\",\r\n // viewmodel: \"./custom/mentor/report/document-upload\",\r\n // code: \"./custom/mentor/report/document-upload\",\r\n // //viewmodelParams: { performanceId: 1 }\r\n //}); \r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\");\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n $(\"#application\").removeClass(\"full-content\");\r\n\r\n $('[rel=popover]').popover(options);\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) { \r\n \r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() { \r\n};\r\n\r\n// Function: Place (not realy a function )----------------------------------------------------------\r\nvar options = {\r\n placement: function (context, source) {\r\n var position = $(source).position();\r\n\r\n if (position.left > 300) {\r\n return \"left\";\r\n }\r\n if (position.left < 300) {\r\n return \"left\";\r\n }\r\n if (position.top < 110) {\r\n return \"bottom\";\r\n }\r\n\r\n return \"bottom\";\r\n },\r\n trigger: \"focus\",\r\n content: function () {\r\n return $($(this).data('contentwrapper')).html();\r\n },\r\n html: true\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = viewShow;\r\n this.hideFunction = viewHide;\r\n this.initFunction = viewInit;\r\n this.transitionStartFunction = viewTransitionStart;\r\n this.transitionEndFunction = viewTransitionEnd;\r\n this.executeOnceFunction = viewExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: viewShow -------------------------------------------------------------------------------\r\nfunction viewShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\"); \r\n};\r\n\r\n// Function: viewHide -------------------------------------------------------------------------------\r\nfunction viewHide(e) {\r\n};\r\n\r\n// Function: viewInit -------------------------------------------------------------------------------\r\nfunction viewInit(e) {\r\n};\r\n\r\n// Function: viewTransitionStart --------------------------------------------------------------------\r\nfunction viewTransitionStart(e) {\r\n};\r\n\r\n// Function: viewTransitionEnd ----------------------------------------------------------------------\r\nfunction viewTransitionEnd(e) {\r\n};\r\n\r\n// Function: viewExecuteOnce ------------------------------------------------------------------------\r\nfunction viewExecuteOnce() { \r\n};","// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor() {\r\n\r\n return {\r\n baseShow: baseShow,\r\n baseHide: baseHide,\r\n baseInit: baseInit,\r\n baseTransitionStart: baseTransitionStart,\r\n baseTransitionEnd: baseTransitionEnd,\r\n baseExecuteOnce: baseExecuteOnce\r\n };\r\n};\r\n\r\nmodule.exports = new Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: baseShow -------------------------------------------------------------------------------\r\nfunction baseShow(e) {\r\n};\r\n\r\n// Function: baseHide -------------------------------------------------------------------------------\r\nfunction baseHide(e) {\r\n};\r\n\r\n// Function: baseInit -------------------------------------------------------------------------------\r\nfunction baseInit(e) {\r\n};\r\n\r\n// Function: baseTransitionStart --------------------------------------------------------------------\r\nfunction baseTransitionStart(e) {\r\n};\r\n\r\n// Function: baseTransitionEnd ----------------------------------------------------------------------\r\nfunction baseTransitionEnd(e) {\r\n};\r\n\r\n// Function: baseExecuteOnce ------------------------------------------------------------------------\r\nfunction baseExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) { \r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) { \r\n \r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() { \r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = viewShow;\r\n this.hideFunction = viewHide;\r\n this.initFunction = viewInit;\r\n this.transitionStartFunction = viewTransitionStart;\r\n this.transitionEndFunction = viewTransitionEnd;\r\n this.executeOnceFunction = viewExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: viewShow -------------------------------------------------------------------------------\r\nfunction viewShow(e) {\r\n $(\"#application\").addClass(\"has-tab-nav\");\r\n $(\"#application\").addClass(\"full-content\"); \r\n};\r\n\r\n// Function: viewHide -------------------------------------------------------------------------------\r\nfunction viewHide(e) {\r\n};\r\n\r\n// Function: viewInit -------------------------------------------------------------------------------\r\nfunction viewInit(e) {\r\n};\r\n\r\n// Function: viewTransitionStart --------------------------------------------------------------------\r\nfunction viewTransitionStart(e) {\r\n};\r\n\r\n// Function: viewTransitionEnd ----------------------------------------------------------------------\r\nfunction viewTransitionEnd(e) {\r\n};\r\n\r\n// Function: viewExecuteOnce ------------------------------------------------------------------------\r\nfunction viewExecuteOnce() { \r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Constructor\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(argsViewmodel) {\r\n\r\n this.viewmodel = argsViewmodel;\r\n\r\n this.showFunction = layoutShow;\r\n this.hideFunction = layoutHide;\r\n this.initFunction = layoutInit;\r\n this.transitionStartFunction = layoutTransitionStart;\r\n this.transitionEndFunction = layoutTransitionEnd;\r\n this.executeOnceFunction = layoutExecuteOnce;\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: layoutShow -----------------------------------------------------------------------------\r\nfunction layoutShow(e) {\r\n\r\n loadBackgroundCarousel();\r\n\r\n $(window).on('resize', function () {\r\n if (!cookie.getCookie(\"authToken\")) {\r\n loadBackgroundCarousel // Load the carousel on resize in case window is scaled up from below tablet size\r\n };\r\n });\r\n};\r\n\r\n// Function: layoutHide -----------------------------------------------------------------------------\r\nfunction layoutHide(e) {\r\n};\r\n\r\n// Function: layoutInit -----------------------------------------------------------------------------\r\nfunction layoutInit(e) {\r\n};\r\n\r\n// Function: layoutTransitionStart ------------------------------------------------------------------\r\nfunction layoutTransitionStart(e) {\r\n};\r\n\r\n// Function: layoutTransitionEnd --------------------------------------------------------------------\r\nfunction layoutTransitionEnd(e) {\r\n};\r\n\r\n// Function: layoutExecuteOnce ----------------------------------------------------------------------\r\nfunction layoutExecuteOnce() {\r\n};\r\n\r\n// Function: loadBackgroundCarousel -----------------------------------------------------------------\r\nfunction loadBackgroundCarousel() {\r\n\r\n //// Background Carousel\r\n //if (Modernizr.mq('(min-width: 768px)')) { // only add carousel for tablet and up\r\n\r\n //// populate carousel with random list of images\r\n if ($(\"#login-carousel\").length > 0) { // only add slides if the carousel exists\r\n var slides = [\r\n '/App/images/loginbanner1.jpg',\r\n '/App/images/loginbanner2.jpg',\r\n '/App/images/loginbanner3.jpg',\r\n '/App/images/loginbanner4.jpg'\r\n ];\r\n\r\n // randomly order slides\r\n slides = shuffle(slides);\r\n\r\n // create slides\r\n for (var i = 0; i < slides.length; i++) {\r\n $('#login-carousel').append('
    ');\r\n }\r\n\r\n //// initialize carousel\r\n if ($(\".owl-loaded\").length === 0) { //only if there is no carousel yet\r\n $('#login-carousel').owlCarousel({\r\n 'items': 1,\r\n 'loop': true,\r\n 'mouseDrag': false,\r\n 'touchDrag': false,\r\n 'pullDrag': false,\r\n 'rewind': false,\r\n 'dots': false,\r\n 'autoplay': true,\r\n 'animateOut': 'fadeOut',\r\n 'lazyLoad': true,\r\n 'autoplayHoverPause': false\r\n });\r\n }\r\n //}\r\n }\r\n};\r\n\r\n// Function: shuffle --------------------------------------------------------------------------------\r\nfunction shuffle(array) { // randomize content of array\r\n\r\n var currentIndex = array.length, temporaryValue, randomIndex;\r\n\r\n // While there remain elements to shuffle...\r\n while (0 !== currentIndex) {\r\n\r\n // Pick a remaining element...\r\n randomIndex = Math.floor(Math.random() * currentIndex);\r\n currentIndex -= 1;\r\n\r\n // And swap it with the current element.\r\n temporaryValue = array[currentIndex];\r\n array[currentIndex] = array[randomIndex];\r\n array[randomIndex] = temporaryValue;\r\n };\r\n\r\n return array;\r\n};\r\n","var map = {\n\t\"./custom/corporate/dashboard.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/corporate/dashboard.html\",\n\t\"./custom/corporate/manage-corporates.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/corporate/manage-corporates.html\",\n\t\"./custom/corporate/user-dashboard.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/corporate/user-dashboard.html\",\n\t\"./custom/enterprise/dashboard.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/dashboard.html\",\n\t\"./custom/enterprise/enterprise-performance.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/enterprise-performance.html\",\n\t\"./custom/enterprise/enterprise-report-list.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/enterprise-report-list.html\",\n\t\"./custom/enterprise/enterprise-report-super-edit.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/enterprise-report-super-edit.html\",\n\t\"./custom/enterprise/enterprise-report.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/enterprise-report.html\",\n\t\"./custom/enterprise/manage-enterprises.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/manage-enterprises.html\",\n\t\"./custom/enterprise/overview/enterprise-overview.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/overview/enterprise-overview.html\",\n\t\"./custom/enterprise/user-dashboard.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/enterprise/user-dashboard.html\",\n\t\"./custom/fund/dashboard.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/fund/dashboard.html\",\n\t\"./custom/fund/manage-funds.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/fund/manage-funds.html\",\n\t\"./custom/mentor/dashboard.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/mentor/dashboard.html\",\n\t\"./custom/mentor/manage-mentors.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/mentor/manage-mentors.html\",\n\t\"./custom/mentor/mentor-performance.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/mentor/mentor-performance.html\",\n\t\"./custom/mentor/mentor-report.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/mentor/mentor-report.html\",\n\t\"./custom/programme/dashboard.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/programme/dashboard.html\",\n\t\"./custom/programme/manage-programmes.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/programme/manage-programmes.html\",\n\t\"./custom/setting/manage-settings.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/setting/manage-settings.html\",\n\t\"./custom/system/dashboard.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/system/dashboard.html\",\n\t\"./custom/user/manage-users.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/custom/user/manage-users.html\",\n\t\"./default/common/modal/assign-corporate-layout.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-corporate-layout.html\",\n\t\"./default/common/modal/assign-corporate-managers-layout.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-corporate-managers-layout.html\",\n\t\"./default/common/modal/assign-enterprise-layout.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-enterprise-layout.html\",\n\t\"./default/common/modal/assign-mentor-tabs.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-mentor-tabs.html\",\n\t\"./default/common/modal/assign-missing-middle-funding-reason-layout.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-missing-middle-funding-reason-layout.html\",\n\t\"./default/common/modal/assign-pm-layout.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/assign-pm-layout.html\",\n\t\"./default/common/modal/confirmation.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/common/modal/confirmation.html\",\n\t\"./default/default.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/default.html\",\n\t\"./default/system/auth/generic.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/system/auth/generic.html\",\n\t\"./default/system/auth/user-profile.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/system/auth/user-profile.html\",\n\t\"./default/system/master.html\": \"./App/mvvm/viewslayouts/layouthtml/desktop/default/system/master.html\"\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 = \"./App/mvvm/viewslayouts/layouthtml/desktop sync recursive ^\\\\.\\\\/.*\\\\.html$\";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\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 programme

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

    Start date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    JOBS CREATED

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    REVENUE GROWTH

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROFIT GROWTH

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    B-BBEE LEVEL

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    SME ENGAGEMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    SME INVESTMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    SUPPORT PROVIDED

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    PERMANENT EMPLOYMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    TEMPORARY EMPLOYMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    ACCOUNTS RECEIVABLE

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    ACCOUNTS PAYABLE

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    TOTAL ASSETS

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    TOTAL LIABILITIES

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    TOTAL EQUITY

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    MONTHLY REVENUE

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    MONTHLY PROFIT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n more\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Breakdown

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Last updated 09:45, 11 November 2016\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n ENTERPRISES >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    SAVE
    \\r\\n
    CANCEL
    \\r\\n
    \\r\\n\\r\\n \";","module.exports = \"\\r\\n
    \\r\\n\\r\\n \";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Enterprises > > Reports \\r\\n
    Create Enterprise Report
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    CANCEL
    \\r\\n
    Finish
    \\r\\n
    \";","module.exports = \" \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\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 programme

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

    Start date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    JOBS CREATED

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    REVENUE GROWTH

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROFIT GROWTH

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    B-BBEE LEVEL

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    SME ENGAGEMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    SME INVESTMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    SUPPORT PROVIDED

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    PERMANENT EMPLOYMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    TEMPORARY EMPLOYMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    ACCOUNTS RECEIVABLE

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    ACCOUNTS PAYABLE

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    TOTAL ASSETS

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    TOTAL LIABILITIES

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    TOTAL EQUITY

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    MONTHLY REVENUE

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    MONTHLY PROFIT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n more\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Breakdown

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Last updated 09:45, 11 November 2016\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n FUNDS >\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    SAVE
    \\r\\n
    CANCEL
    \\r\\n
    \\r\\n\\r\\n \";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Enterprises > > Reports \\r\\n
    Create Mentor Report
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\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 programme

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

    Start date

    \\r\\n
    \\r\\n
    \\r\\n
    \\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
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    JOBS CREATED

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    REVENUE GROWTH

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROFIT GROWTH

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    B-BBEE LEVEL

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    SME ENGAGEMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    PROCUREMENT SPEND

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    SME INVESTMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    SUPPORT PROVIDED

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    HEADCOUNT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    PERMANENT EMPLOYMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    TEMPORARY EMPLOYMENT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    ACCOUNTS RECEIVABLE

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    ACCOUNTS PAYABLE

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    TOTAL ASSETS

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    TOTAL LIABILITIES

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    TOTAL EQUITY

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    MONTHLY REVENUE

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    MONTHLY PROFIT

    \\r\\n 5%\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n more\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Breakdown

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Last updated 09:45, 11 November 2016\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Permanent Staff:
    \\r\\n Temporary Staff: \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    ADD 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\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    ADD ENTERPRISE

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    ADD MENTOR

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    ADD REASON

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    ADD 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\";","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

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

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"\";","module.exports = \"\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Edge\\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n

    TRACKER

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\";","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    SEARCH

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

    Search for Funds, Programmes, Enterprises, Users or Companies.

    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","// --------------------------------------------------------------------------------------------------\r\n// collapse.js\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n(function ($) {\r\n \"use strict\";\r\n\r\n // click on menu toggle\r\n //$('a.collapse-link').click(function (e) {\r\n $(document).on(\"click\", \"a.collapse-link\", function (e) {\r\n e.preventDefault();\r\n\r\n var isopen = $(this).data('isopen');\r\n\r\n if (isopen) { // if menu is open\r\n // update text\r\n $(this).data('isopen', false);\r\n $('span', this).text('more');\r\n\r\n } else {\r\n // update text\r\n $(this).data('isopen', true);\r\n $('span', this).text('less');\r\n }\r\n });\r\n\r\n $('#programmeCollapse').on('show.bs.collapse', function () {\r\n $('#calendarCollapse').collapse('hide');\r\n });\r\n\r\n $('#calendarCollapse').on('show.bs.collapse', function () {\r\n $('#programmeCollapse').collapse('hide');\r\n });\r\n\r\n\r\n}(jQuery));\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// jquery.scrollbar.js\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n(function ($) {\r\n \"use strict\";\r\n\r\n jQuery('.scrollbar-macosx').scrollbar();\r\n\r\n}(jQuery));\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// mainnav.js\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n(function ($) {\r\n \"use strict\";\r\n\r\n // click to subnav\r\n //$('a.subnav').click(function (e) {\r\n $(document).on(\"click\", \"a.subnav\", function (e) {\r\n e.preventDefault();\r\n $(this).next('ul.collapse').toggleClass('in');\r\n $(this).toggleClass('');\r\n //$('ul.mainnav').addClass('showsub');\r\n //$(this).next('ul.subnav').addClass('shownav');\r\n //\r\n //// set main menu height\r\n //var subnavHeight = $(this).next('ul.subnav').height();\r\n //$('ul.mainnav').data('initialHeight', parseInt($('ul.mainnav').height()));\r\n //$('ul.mainnav').height(parseInt(subnavHeight));\r\n });\r\n\r\n // close subnav\r\n //$('a.back').click(function (e) {\r\n $(document).on(\"click\", \"a.back\", function (e) {\r\n e.preventDefault();\r\n $('ul.mainnav').removeClass('showsub');\r\n $('ul.subnav').fadeOut(500, function () {\r\n $(this).removeClass('shownav');\r\n });\r\n $('ul.mainnav').height($('ul.mainnav').data('initialHeight'));\r\n });\r\n\r\n // close subnav when handling search\r\n $(document).on(\"click\", \"#searchText\", function (e) {\r\n e.preventDefault();\r\n $('ul.mainnav').removeClass('showsub');\r\n $('ul.subnav').fadeOut(500, function () {\r\n $(this).removeClass('shownav');\r\n });\r\n $('ul.mainnav').height($('ul.mainnav').data('initialHeight'));\r\n });\r\n\r\n}(jQuery));\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// top-bar.js\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n(function ($) {\r\n \"use strict\";\r\n\r\n //// remove breakcrumbs if there is not enough space for them\r\n function hideBreadcrumbs() {\r\n $('.breadcrumbs').show();\r\n var headerWidth = $('.title', '.top-bar').outerWidth();\r\n var headerNavWidth = $('.top-menu', '.top-bar').outerWidth();\r\n var topbarWidth = $('.top-bar').outerWidth();\r\n\r\n if (topbarWidth - (headerWidth + headerNavWidth) < 0) {\r\n $('.breadcrumbs').hide();\r\n } else {\r\n $('.breadcrumbs').show();\r\n }\r\n }\r\n\r\n $(function () {\r\n hideBreadcrumbs();\r\n });\r\n\r\n $(window).on('resize', function () {\r\n hideBreadcrumbs();\r\n });\r\n\r\n\r\n}(jQuery));\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// navbartoggle.js\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n(function ($) {\r\n \"use strict\";\r\n\r\n // click on menu toggle\r\n //$('.navbar-toggle').click(function (e) {\r\n $(document).on(\"click\", \".navbar-toggle\", function (e) {\r\n e.preventDefault();\r\n\r\n var isopen = $(this).data('isopen');\r\n\r\n if (isopen) { // if menu is open\r\n // update icon\r\n $(this).addClass('collapsed');\r\n $(this).data('isopen', false);\r\n\r\n // close menu\r\n $('#mainnav').removeClass('isopen');\r\n\r\n // remove overlay\r\n $('#overlay').removeClass('isopen');\r\n\r\n // unfreeze scrolling\r\n $(\"html\").removeClass('freeze');\r\n $(\"body\").removeClass('freeze');\r\n } else {\r\n // update icon\r\n $(this).removeClass('collapsed');\r\n $(this).data('isopen', true);\r\n\r\n // open menu\r\n $('#mainnav').addClass('isopen');\r\n\r\n // add overlay\r\n $('#overlay').addClass('isopen');\r\n\r\n // freeze scrolling\r\n $(\"html\").addClass('freeze');\r\n $(\"body\").addClass('freeze');\r\n }\r\n });\r\n\r\n //click on nav item\r\n $(document).on(\"click\", \".navItem\", function (e) { \r\n\r\n // close menu\r\n $('#mainnav').removeClass('isopen');\r\n\r\n // remove overlay\r\n $('#overlay').removeClass('isopen');\r\n\r\n // unfreeze scrolling\r\n $(\"html\").removeClass('freeze');\r\n $(\"body\").removeClass('freeze');\r\n\r\n });\r\n\r\n // click on overlay\r\n //$('#overlay').click(function (e) {\r\n $(document).on(\"click\", \"#overlay\", function (e) {\r\n e.preventDefault();\r\n\r\n var isopen = $('.navbar-toggle').data('isopen');\r\n\r\n if (isopen) { // if menu is open\r\n // update icon\r\n $('.navbar-toggle').addClass('collapsed');\r\n $('.navbar-toggle').data('isopen', false);\r\n\r\n // close menu\r\n $('#mainnav').removeClass('isopen');\r\n\r\n // remove overlay\r\n $(this).removeClass('isopen');\r\n\r\n // unfreeze scrolling\r\n $(\"html\").removeClass('freeze');\r\n $(\"body\").removeClass('freeze');\r\n } else {\r\n // update icon\r\n $('.navbar-toggle').removeClass('collapsed');\r\n $('.navbar-toggle').data('isopen', true);\r\n\r\n // open menu\r\n $('#mainnav').addClass('isopen');\r\n\r\n // add overlay\r\n $(this).addClass('isopen');\r\n\r\n // freeze scrolling\r\n $(\"html\").addClass('freeze');\r\n $(\"body\").addClass('freeze');\r\n }\r\n\r\n });\r\n\r\n // close menu and remove overlay when going over mobile breakpoint\r\n $(window).on('resize', function () {\r\n //if (Modernizr.mq('only screen and (min-width: 992px)')) {\r\n var isopen = $('.navbar-toggle').data('isopen');\r\n\r\n if (isopen) { // if menu is open\r\n // update icon\r\n $('.navbar-toggle').addClass('collapsed');\r\n $('.navbar-toggle').data('isopen', false);\r\n\r\n // close menu\r\n $('#mainnav').removeClass('isopen');\r\n\r\n // remove overlay\r\n $('#overlay').removeClass('isopen');\r\n\r\n // unfreeze scrolling\r\n $(\"html\").removeClass('freeze');\r\n $(\"body\").removeClass('freeze');\r\n //}\r\n }\r\n });\r\n\r\n}(jQuery));\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// back-to-top.js\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n(function ($) {\r\n \"use strict\";\r\n\r\n $(window).scroll(function() {\r\n\r\n var viewportHeight = $(window).height();\r\n\r\n if ( $(this).scrollTop() > viewportHeight*0.7 ) { // if scrolled past a certain point show back to top link\r\n $(\"#back-to-top\").addClass('active');\r\n } else { // else hide the link\r\n $(\"#back-to-top\").removeClass('active');\r\n } \r\n });\r\n\r\n //smooth scroll to top\r\n //$(\"#back-to-top\").on('click', function(event){\r\n $(document).on(\"click\", \"#back-to-top\", function (event) {\r\n event.preventDefault();\r\n $('body,html').animate({\r\n scrollTop: 0 ,\r\n }, 200\r\n );\r\n });\r\n \r\n\r\n}(jQuery));","window.appSettings = {\r\n applicationName: \"Edge Growth Tracker\",\r\n applicationUrl: \"https://localhost:44396/\",\r\n applicationKey: \"3qvdqwj1gpbafv6e\",\r\n applicationLoginUrl: \"/login\",\r\n applicationLogoutUrl: \"/logout\",\r\n applicationDefaultPage: \"/dashboard\",\r\n googleReCaptchaClientSiteKey: \"6LciG7UZAAAAACRQCvJHOg9uBCG723NGspVr21kG\",\r\n googleReCaptchaClientSiteKeyProd: \"6LdJUbcZAAAAAIIomvJxudzZWaqGroHF2KMLMNzr\"\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Utilities ----------------------------------------------------------------------------------------\r\n\r\n\r\n// Other --------------------------------------------------------------------------------------------\r\n\r\n//console.log(\"loading custom styles...\");\r\n\r\nrequire(\"app_styles/sass/custom/custom.scss\");\r\n\r\n//console.log(\"loaded custom styles!\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Variables ----------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n\r\n}\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./custom.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./custom.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./custom.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Utilities ----------------------------------------------------------------------------------------\r\n\r\n\r\n// Other --------------------------------------------------------------------------------------------\r\n\r\n//console.log(\"loading default styles...\");\r\n\r\nrequire(\"app_styles/sass/default/bower-bootstrap.scss\");\r\nrequire(\"app_styles/sass/default/main.scss\");\r\n//require(\"app_styles/sass/custom/app-styles.js\");\r\n//console.log(\"loaded default styles!\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Variables ----------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n\r\n}\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./bower-bootstrap.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./bower-bootstrap.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./bower-bootstrap.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./main.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./main.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./main.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","module.exports = \"Assets/glyphicons-halflings-regular.f4769f9.eot\";","module.exports = \"Assets/glyphicons-halflings-regular.f721466.svg\";","module.exports = \"Assets/glyphicons-halflings-regular.e18bbf6.ttf\";","module.exports = \"Assets/glyphicons-halflings-regular.fa27723.woff\";","module.exports = \"Assets/glyphicons-halflings-regular.448c34a.woff2\";","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar utilitiesBuilder = require(\"app_utilities/app-utilities-builder\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor() {\r\n\r\n this.utilities = {};\r\n\r\n this.system = {};\r\n this.system.status = \"unavailable\";\r\n this.system.utilityCount = 0;\r\n\r\n this.init = function () { return init(this); };\r\n};\r\n\r\nmodule.exports = Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: init -----------------------------------------------------------------------------------\r\nfunction init(cstr) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (cstr.system.status !== \"unavailable\") {\r\n def.reject(new Error(\"init has already been executed, please verify system status.\"));\r\n } else {\r\n cstr.system.status = \"init\";\r\n initDefaultUtilities(def, cstr);\r\n };\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: initDefaultUtilities -------------------------------------------------------------------\r\nfunction initDefaultUtilities(def, cstr) {\r\n\r\n initUtilityBuilder(\"default\", cstr).then(\r\n function () {\r\n initCustomUtilities(def, cstr);\r\n //initComplete(def, cstr);\r\n },\r\n function (error) {\r\n initFailure(error);\r\n }\r\n );\r\n};\r\n\r\n// Function: initCustomUtilities --------------------------------------------------------------------\r\nfunction initCustomUtilities(def, cstr) {\r\n\r\n initUtilityBuilder(\"custom\", cstr).then(\r\n function () {\r\n initComplete(def, cstr);\r\n },\r\n function (error) {\r\n initFailure(error);\r\n }\r\n );\r\n};\r\n\r\n// Function: initComplete ---------------------------------------------------------------------------\r\nfunction initComplete(def, cstr) {\r\n\r\n initUtilityActivation(cstr).done(function () {\r\n\r\n cstr.system.status = \"available\";\r\n\r\n var Pubsub = require(\"static_assets/PubSubJS\")\r\n Pubsub.publish(\"app\", cstr.system);\r\n\r\n def.resolve();\r\n });\r\n};\r\n\r\n// Function: initFailure ----------------------------------------------------------------------------\r\nfunction initFailure(error) {\r\n throw error;\r\n};\r\n\r\n// Function: initUtilityBuilder ---------------------------------------------------------------------\r\nfunction initUtilityBuilder(type, cstr) {\r\n\r\n var def = $.Deferred();\r\n\r\n var references = utilitiesBuilder.determineReferences(type);\r\n\r\n if (references != null) {\r\n\r\n references.keys().forEach(function (reference) {\r\n\r\n if (reference !== \"./app.js\") {\r\n var utilityName = utilitiesBuilder.parseReference(reference);\r\n\r\n if (utilityName != null && utilityName !== \"\") {\r\n if (cstr.utilities.hasOwnProperty(utilityName)) {\r\n console.error('duplicate custom utility name found: \"' + utilityName + '\"');\r\n } else {\r\n utilitiesBuilder.loadReference(cstr.utilities, utilityName, reference, references);\r\n cstr.system.utilityCount++;\r\n }\r\n };\r\n };\r\n });\r\n\r\n def.resolve();\r\n\r\n } else {\r\n def.reject(new Error(\"fatal execption occurred during utility mapping, references for \" + type + \" type was null.\"));\r\n };\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: initUtilityActivation ------------------------------------------------------------------\r\nfunction initUtilityActivation(cstr) {\r\n\r\n var def = $.Deferred();\r\n\r\n var count = 0;\r\n\r\n for (var utilityName in cstr.utilities) {\r\n\r\n if (cstr.utilities.hasOwnProperty(utilityName)) {\r\n\r\n count++;\r\n\r\n if (cstr.utilities.hasOwnProperty(utilityName)) {\r\n utilitiesBuilder.dependencyInjection(cstr.utilities, utilityName);\r\n utilitiesBuilder.executeInitialization(cstr.utilities, utilityName);\r\n };\r\n\r\n if (count === cstr.system.utilityCount)\r\n def.resolve();\r\n\r\n if (count > cstr.system.utilityCount)\r\n def.reject(new Error(\"utility count mismatch.\"));\r\n };\r\n };\r\n\r\n return def.promise();\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar AppBuilder = require(\"app_utilities/app-core-builder\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar app = {};\r\nvar dependencies = {};\r\nvar initCompleted = false;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor(dependencyInjection) {\r\n\r\n if (dependencyInjection != undefined)\r\n dependencies = dependencyInjection;\r\n\r\n this.init = function () { return init(this); }\r\n this.reset = function () { reset(this); }\r\n};\r\n\r\nmodule.exports = new Constructor;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction init(cstr) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (!initCompleted) {\r\n\r\n var appBuilder = new AppBuilder();\r\n\r\n appBuilder.init().then(\r\n function() {\r\n constructAPI(cstr, appBuilder);\r\n def.resolve();\r\n },\r\n function(error) {\r\n throw error;\r\n }\r\n );\r\n\r\n } else {\r\n def.reject(new Error(\"init has already been executed, please verify system status.\"));\r\n };\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction reset(cstr) {\r\n deconstructAPI(cstr);\r\n};\r\n\r\nfunction constructAPI(cstr, appBuilder) {\r\n\r\n for (var utility in appBuilder.utilities) {\r\n if (appBuilder.utilities.hasOwnProperty(utility)) {\r\n cstr[utility] = appBuilder.utilities[utility];\r\n };\r\n };\r\n\r\n initCompleted = true;\r\n};\r\n\r\nfunction deconstructAPI(cstr) {\r\n\r\n for (var utility in cstr) {\r\n\r\n if (cstr.hasOwnProperty(utility)) {\r\n delete cstr[utility];\r\n };\r\n };\r\n\r\n dependencies = {};\r\n initCompleted = false;\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar referencesDefaultUtilities = require.context(\"app_utilities/default\", false, /^\\.\\/.*\\.js$/);\r\nvar referencesCustomUtilities = require.context(\"app_utilities/custom\", false, /^\\.\\/.*\\.js$/);\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar upgradedUtilities = [\r\n \"TestingOnlyIgnoreThis\",\r\n \"AppExceptions\"\r\n];\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction Constructor() {\r\n\r\n this.determineReferences = determineReferences;\r\n this.parseReference = parseReference;\r\n this.loadReference = loadReference;\r\n this.dependencyInjection = dependencyInjection;\r\n this.executeInitialization = executeInitialization;\r\n};\r\n\r\nmodule.exports = new Constructor();\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup --------------------------------------------------------------------------------\r\nfunction determineReferences(type) {\r\n\r\n var references;\r\n\r\n switch (type) {\r\n case \"default\":\r\n references = referencesDefaultUtilities;\r\n break;\r\n case \"custom\":\r\n references = referencesCustomUtilities;\r\n break;\r\n default:\r\n references = null;\r\n };\r\n\r\n return references;\r\n};\r\n\r\nfunction parseReference(reference) {\r\n\r\n var utilityName = \"\";\r\n\r\n if (reference.indexOf(\"./\") === -1)\r\n throw new Error(\"reference '\" + reference + \"' was not in the correct format './'\");\r\n\r\n var pattern = new RegExp(/\\.\\/(.*)\\.js/ig);\r\n var processingName = pattern.exec(reference);\r\n\r\n if (processingName != undefined && processingName[1] != undefined) {\r\n\r\n var result = processingName[1];\r\n\r\n var subPaths = result.split(\"/\");\r\n\r\n for (var i = 0; i < subPaths.length; i++) {\r\n\r\n if (i === 0) {\r\n utilityName += parseReferencePartial(subPaths[i]);\r\n continue;\r\n };\r\n\r\n utilityName += \"/\" + parseReferencePartial(subPaths[i]);\r\n };\r\n };\r\n\r\n return utilityName;\r\n};\r\n\r\nfunction parseReferencePartial(partial) {\r\n\r\n var namePartials = partial.split(\"-\");\r\n\r\n var tempName = \"\";\r\n\r\n for (var i = 0; i < namePartials.length; i++) {\r\n\r\n namePartials[i] = namePartials[i].toLowerCase();\r\n tempName += namePartials[i].charAt(0).toUpperCase() + namePartials[i].slice(1);\r\n };\r\n\r\n return tempName;\r\n};\r\n\r\nfunction loadReference(utilities, utilityName, reference, references) {\r\n\r\n var req = references(reference);\r\n\r\n if (req != undefined) {\r\n\r\n var utilityCstr;\r\n\r\n if (upgradedUtilities.indexOf(utilityName) !== -1) {\r\n utilityCstr = new req();\r\n } else {\r\n utilityCstr = req;\r\n };\r\n\r\n utilities[utilityName] = utilityCstr;\r\n utilities[utilityName].valid = true;\r\n } else {\r\n throw new Error(\"fatal exception occurred in utility \" + utilityName + \", reference was not found in references.\");\r\n };\r\n};\r\n\r\nfunction dependencyInjection(utilities, utilityName) {\r\n\r\n if (upgradedUtilities.indexOf(utilityName) !== -1) {\r\n\r\n var utilityCstr = utilities[utilityName];\r\n\r\n utilityCstr.app = {};\r\n\r\n if (utilityCstr.dependencies != undefined) {\r\n\r\n var missingDependencies = [];\r\n var invalidDependencies = [];\r\n\r\n utilityCstr.dependencies.forEach(function(dependency) {\r\n\r\n if (utilities.hasOwnProperty(dependency)) {\r\n\r\n if (!utilities[dependency].valid) {\r\n invalidDependencies.push(dependency);\r\n } else {\r\n utilityCstr.app[dependency] = utilities[dependency];\r\n utilityCstr.app[dependency].di = true;\r\n };\r\n\r\n } else {\r\n missingDependencies.push(dependency);\r\n };\r\n });\r\n\r\n if (missingDependencies.length !== 0 || invalidDependencies.length !== 0) {\r\n\r\n var error = {\r\n missing: missingDependencies,\r\n invalid: invalidDependencies\r\n };\r\n\r\n throw new Error(\"fatal exception in utility \" + utilityName + \", dependencies errors: \" + JSON.stringify(error));\r\n };\r\n };\r\n }\r\n};\r\n\r\n\r\nfunction executeInitialization(utilities, utilityName) {\r\n\r\n var def = $.Deferred();\r\n\r\n var utilityCstr = utilities[utilityName];\r\n\r\n if (utilityCstr.init != undefined) {\r\n\r\n utilityCstr.init.call(utilityCstr).then(\r\n function () {\r\n\r\n var Pubsub = require(\"static_assets/PubSubJS\")\r\n Pubsub.publish(\"app.\" + utilityName + \".init\", utilityCstr);\r\n def.resolve();\r\n },\r\n function (error) {\r\n throw error;\r\n }\r\n );\r\n };\r\n\r\n return def.promise();\r\n};\r\n\r\n","var map = {\n\t\"./app-breadcrumbs.js\": \"./App/utilities/custom/app-breadcrumbs.js\",\n\t\"./app-bulk-report-upload.js\": \"./App/utilities/custom/app-bulk-report-upload.js\",\n\t\"./app-corporate-add-edit-shared.js\": \"./App/utilities/custom/app-corporate-add-edit-shared.js\",\n\t\"./app-corporate.js\": \"./App/utilities/custom/app-corporate.js\",\n\t\"./app-custom-routes.js\": \"./App/utilities/custom/app-custom-routes.js\",\n\t\"./app-dashboard-colors.js\": \"./App/utilities/custom/app-dashboard-colors.js\",\n\t\"./app-dashboard-labels.js\": \"./App/utilities/custom/app-dashboard-labels.js\",\n\t\"./app-dashboard.js\": \"./App/utilities/custom/app-dashboard.js\",\n\t\"./app-data-lists.js\": \"./App/utilities/custom/app-data-lists.js\",\n\t\"./app-enterprise-add-edit-shared.js\": \"./App/utilities/custom/app-enterprise-add-edit-shared.js\",\n\t\"./app-enterprise-upload.js\": \"./App/utilities/custom/app-enterprise-upload.js\",\n\t\"./app-enterprise.js\": \"./App/utilities/custom/app-enterprise.js\",\n\t\"./app-entities-search.js\": \"./App/utilities/custom/app-entities-search.js\",\n\t\"./app-fund.js\": \"./App/utilities/custom/app-fund.js\",\n\t\"./app-grids.js\": \"./App/utilities/custom/app-grids.js\",\n\t\"./app-helper.js\": \"./App/utilities/custom/app-helper.js\",\n\t\"./app-key-board-events.js\": \"./App/utilities/custom/app-key-board-events.js\",\n\t\"./app-mentor.js\": \"./App/utilities/custom/app-mentor.js\",\n\t\"./app-mfa.js\": \"./App/utilities/custom/app-mfa.js\",\n\t\"./app-product.js\": \"./App/utilities/custom/app-product.js\",\n\t\"./app-programme-fund-enterprise-shared.js\": \"./App/utilities/custom/app-programme-fund-enterprise-shared.js\",\n\t\"./app-programme.js\": \"./App/utilities/custom/app-programme.js\",\n\t\"./app-terms-of-compliance.js\": \"./App/utilities/custom/app-terms-of-compliance.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./App/utilities/custom sync ^\\\\.\\\\/.*\\\\.js$\";","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n set: set,\r\n get: get\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction set() {\r\n \r\n};\r\n\r\nfunction get() {\r\n \r\n var route = appRouter.getCurrentRoute().url;\r\n\r\n switch (true) { \r\n case /^\\/user\\/add/.test(route):\r\n return [{ url: \"/users\", text: \"EDGE USERS\" }];\r\n break;\r\n case /^\\/user\\/edit?/.test(route):\r\n return [{ url: \"/users\", text: \"EDGE USERS\" }];\r\n break;\r\n case /^\\/enterprise\\/add/.test(route):\r\n return [{ url: \"/enterprises\", text: \"ENTERPRISES\" }];\r\n break;\r\n case /^\\/enterprise\\/edit?/.test(route):\r\n return [{ url: \"/enterprises\", text: \"ENTERPRISES\" }];\r\n break; \r\n case /^\\/enterprise\\/user\\/add?/.test(route):\r\n var enterpriseId = appRouter.getCurrentRoute().params.id;\r\n return [{ url: \"/enterprise/users?id=\" + enterpriseId, text: \"ENTERPRISES\" }];\r\n break;\r\n case /^\\/enterprise\\/user\\/edit?/.test(route):\r\n return [{ url: \"/enterprise/users?id=\", text: \"ENTERPRISES\" }];\r\n break;\r\n case /^\\/enterprise\\/users?/.test(route):\r\n return [{ url: \"/enterprises\", text: \"ENTERPRISES\" }];\r\n break;\r\n case /^\\/enterprise\\/dashboard/.test(route):\r\n return [{ url: \"/enterprises\", text: \"ENTERPRISES\" }];\r\n break;\r\n case /^\\/fund\\/add/.test(route):\r\n return [{ url: \"/funds\", text: \"FUNDS\" }];\r\n break;\r\n case /^\\/fund\\/edit?/.test(route):\r\n return [{ url: \"/funds\", text: \"FUNDS\" }];\r\n break;\r\n case /^\\/fund\\/dashboard/.test(route):\r\n return [{ url: \"/funds\", text: \"FUNDS\" }];\r\n break;\r\n case /^\\/programme\\/add/.test(route):\r\n return [{ url: \"/programmes\", text: \"PROGRAMMES\" }];\r\n break;\r\n case /^\\/programme\\/edit?/.test(route):\r\n return [{ url: \"/programmes\", text: \"PROGRAMMES\" }];\r\n break;\r\n case /^\\/programme\\/dashboard/.test(route):\r\n return [{ url: \"/programmes\", text: \"PROGRAMMES\" }];\r\n break;\r\n case /^\\/corporate\\/add/.test(route):\r\n return [{ url: \"/corporates\", text: \"CLIENTS\" }];\r\n break;\r\n case /^\\/corporate\\/edit?/.test(route):\r\n return [{ url: \"/corporates\", text: \"CLIENTS\" }];\r\n break;\r\n case /^\\/corporate\\/user\\/add?/.test(route):\r\n var corporateId = appRouter.getCurrentRoute().params.id;\r\n return [{ url: \"/corporates/users?id=\" + corporateId, text: \"CLIENTS\" }];\r\n break;\r\n case /^\\/corporate\\/user\\/edit?/.test(route):\r\n return [{ url: \"/corporates/users?id=\", text: \"CLIENTS\" }];\r\n break;\r\n case /^\\/corporate\\/users?/.test(route):\r\n return [{ url: \"/corporates\", text: \"CLIENTS\" }];\r\n break;\r\n case /^\\/corporate\\/dashboard/.test(route):\r\n return [{ url: \"/corporates\", text: \"CLIENTS\" }];\r\n break;\r\n case /^\\/mentor\\/dashboard/.test(route):\r\n return [{ url: \"/mentors\", text: \"MENTORS\" }];\r\n break;\r\n case /^\\/mentor\\/add/.test(route):\r\n return [{ url: \"/mentors\", text: \"MENTORS\" }];\r\n break;\r\n case /^\\/mentor\\/edit?/.test(route):\r\n return [{ url: \"/mentors\", text: \"MENTORS\" }];\r\n break;\r\n case /^\\/enterprise\\/monthly-report-view?/.test(route):\r\n return [{ url: \"/\", text: \"REPORTS\" }];\r\n break;\r\n case /^\\/enterprise\\/monthly-report-confirmation?/.test(route):\r\n return [{ url: \"/\", text: \"REPORTS\" }];\r\n break;\r\n case /^\\/enterprise\\/monthly-report?/.test(route):\r\n return [{ url: \"/\", text: \"REPORTS\" }];\r\n break;\r\n case /^\\/enterprise\\/monthly-performance?/.test(route):\r\n return [{ url: \"/\", text: \"REPORTS\" }];\r\n break;\r\n case /^\\/enterprise\\/reports-super-edit?/.test(route):\r\n return [{ url: \"/\", text: \"REPORTS\" }];\r\n break;\r\n case /^\\/mentor\\/monthly-report?/.test(route):\r\n return [{ url: \"/\", text: \"REPORTS\" }];\r\n break;\r\n \r\n default:\r\n return [];\r\n \r\n }\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n bulkUploadPost: bulkUploadPost\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// Function: getAllDataLists ------------------------------------------------------------------------\r\nfunction bulkUploadPost(data) {\r\n\r\n var def = $.Deferred();\r\n console.log(data);\r\n\r\n var request = {\r\n url: \"api/enterprise/bulkLoadEnterpriseReports\",\r\n data: {\r\n Reports: data\r\n }\r\n };\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\nvar app = require(\"app\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n \r\n displayCorporateBrandingToggle: displayCorporateBrandingToggle,\r\n getDisplayCorporateBrandingToggleValue: getDisplayCorporateBrandingToggleValue,\r\n colorPicker: colorPicker\r\n \r\n};\r\n\r\n//-------------------------------------------------------------------\r\nfunction displayCorporateBrandingToggle() {\r\n\r\n $('#displayCorporateBranding').checkboxpicker({\r\n html: true,\r\n offLabel: 'NO',\r\n onLabel: 'YES'\r\n });\r\n\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction getDisplayCorporateBrandingToggleValue(viewmodel ) {\r\n\r\n var displayCorporateBrandingToggle = $(\"#displayCorporateBranding\").is(':checked');\r\n\r\n //clear / reset color picker values for edit mode\r\n if (!displayCorporateBrandingToggle) {\r\n viewmodel.data.set(\"primaryColour\", \"\");\r\n viewmodel.data.set(\"secondaryColour\", \"\");\r\n } \r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction colorPicker(viewmodel) {\r\n\r\n $(\"#primaryColour, #secondaryColour\").kendoColorPicker({\r\n buttons: false,\r\n });\r\n\r\n var primaryColour = $(\"#primaryColour\").data(\"kendoColorPicker\");\r\n var secondaryColour = $(\"#secondaryColour\").data(\"kendoColorPicker\");\r\n\r\n primaryColour.bind(\"change\", function (e) {\r\n viewmodel.data.primaryColour = e.value;\r\n if (viewmodel.data.secondaryColour && viewmodel.data.primaryColour) {\r\n $('#preview').attr('disabled', false);\r\n }\r\n });\r\n\r\n secondaryColour.bind(\"change\", function (e) {\r\n viewmodel.data.secondaryColour = e.value;\r\n if (viewmodel.data.secondaryColour && viewmodel.data.primaryColour) {\r\n $('#preview').attr('disabled', false);\r\n }\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\nvar app = require(\"app\");\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar nav = require(\"app_utilities/default/app-nav\");\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n add: add,\r\n update: update,\r\n getById: getById,\r\n getActiveCorporates: getActiveCorporates,\r\n getInactiveCorporates: getInactiveCorporates,\r\n getActiveEnterprisesByCorporate: getActiveEnterprisesByCorporate,\r\n deleteCorporate: deleteCorporate,\r\n restoreCorporate: restoreCorporate,\r\n getActiveUsers: getActiveUsers,\r\n getInactiveUsers: getInactiveUsers,\r\n getCorporateByUser: getCorporateByUser,\r\n corporateAddEndDatePickerEditor: corporateAddEndDatePickerEditor,\r\n getIfCorporateAssignedFundOrProgramme: getIfCorporateAssignedFundOrProgramme,\r\n GetCorporateBranding: GetCorporateBranding,\r\n CorporateAddStartDatePickerEditor: corporateAddStartDatePickerEditor,\r\n CorporateAddEndDatePickerEditor: corporateAddEndDatePickerEditor,\r\n createCorporateSubscriptionDataSourceAndGrid: createCorporateSubscriptionDataSourceAndGrid,\r\n buildSubscriptionHistoriesObjectToPostFromDataSource: buildSubscriptionHistoriesObjectToPostFromDataSource,\r\n getNoneAssignedCorporateManagers: getNoneAssignedCorporateManagers,\r\n AddCorporateManager: AddCorporateManager,\r\n removeManager: removeManager,\r\n makeLeadCorporateManager: makeLeadCorporateManager\r\n\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: add ------------------------------------------------------------------------------------\r\nfunction add(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/create\",\r\n data: data\r\n }\r\n \r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: update ---------------------------------------------------------------------------------\r\nfunction update(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/update\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getById --------------------------------------------------------------------------\r\nfunction getById(corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/GetById?Id=\" + corporateId\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveCorporates -------------------------------------------------------------------\r\nfunction getActiveCorporates(page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/GetActiveCorporates?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getInactiveCorporates -------------------------------------------------------------------\r\nfunction getInactiveCorporates(page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/GetInactiveCorporates?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveEnterprisesByCorporate -----------------------------------------------------------\r\nfunction getActiveEnterprisesByCorporate(corporateId, page, pageSize, search, field, industryId, sizeId, provinceId, sortField, sortDir) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/getActiveEnterprisesByCorporate?corporateId=\" + corporateId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&field=\" + field + \"&industryId=\" + industryId + \"&sizeId=\" + sizeId + \"&provinceId=\" + provinceId + \"&sortField=\" + sortField + \"&sortDir=\" + sortDir,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getFunds -----------------------------------------------------------------------\r\nfunction getFunds(page, pageSize, search, startDate, endDate, status, phase) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/getFunds?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&startDate=\" + startDate + \"&endDate=\" + endDate + \"&status=\" + status + \"&phase=\" + phase\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getProgrammes -----------------------------------------------------------------------\r\nfunction getProgrammes(page, pageSize, search, startDate, endDate, status, phase) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/getProgrammes?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&startDate=\" + startDate + \"&endDate=\" + endDate + \"&status=\" + status + \"&phase=\" + phase\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteCorporate -----------------------------------------------------------------------\r\nfunction deleteCorporate(corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/delete?Id=\" + corporateId,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: restoreEnterprise -----------------------------------------------------------------------\r\nfunction restoreCorporate(corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/restore?Id=\" + corporateId,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveUsers ---------------------------------------------------------------\r\nfunction getActiveUsers(id, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/GetActiveUsers?id=\" + id + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getInactiveUsers -------------------------------------------------------------\r\nfunction getInactiveUsers(id, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/GetInactiveUsers?id=\" + id + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getCorporateByUser --------------------------------------------------------------------------\r\nfunction getCorporateByUser(userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/GetCorporateByUser?userId=\" + userId\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getIfCorporateAssignedFundOrProgramme --------------------------------------------------------------------------\r\nfunction getIfCorporateAssignedFundOrProgramme() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/getCorporateData\"\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getCorporateBranding --------------------------------------------------------------------------\r\nfunction GetCorporateBranding() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/GetBrandingByUserId\"\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: createCorporateSubscriptionDataSourceAndGrid ------------------------------------------------------------------------\r\nfunction createCorporateSubscriptionDataSourceAndGrid(gridId, data) {\r\n\r\n var subscriptionListFormatted = [];\r\n if (data.data && data.data.corporateSubscriptions && data.data.corporateSubscriptions.length > 0) {\r\n data.data.corporateSubscriptions.forEach(function(v, i) {\r\n subscriptionListFormatted.push({\r\n Id: v.Id,\r\n SubscriptionStartDate: v.SubscriptionStartDate ,\r\n SubscriptionEndDate: v.SubscriptionEndDate,\r\n Paid: v.Paid\r\n });\r\n });\r\n }\r\n\r\n var dataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (e) {\r\n e.success(subscriptionListFormatted);\r\n },\r\n update: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n destroy: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n create: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n parameterMap: function (options, operation) {\r\n\r\n if (operation !== \"read\" && options.models) {\r\n return { models: kendo.stringify(options.models) };\r\n }\r\n }\r\n },\r\n batch: true,\r\n schema: {\r\n model: {\r\n Id: \"Id\",\r\n fields: { \r\n Id: { type: \"number\" },\r\n SubscriptionStartDate: { type: \"date\", validation: { required: true }, nullable: false },\r\n SubscriptionEndDate: {\r\n type: \"date\",\r\n validation: { required: true },\r\n nullable: false,\r\n defaultValue: function (e) {\r\n var endDate = new Date();\r\n var endDateMonth = endDate.getMonth() + 12;\r\n endDate.setMonth(endDateMonth);\r\n return endDate;\r\n }\r\n },\r\n Paid: { type: \"boolean\" }\r\n }\r\n }\r\n }\r\n });\r\n\r\n if ($('#' + gridId).data('kendoGrid'))\r\n $('#' + gridId).data('kendoGrid').destroy();\r\n\r\n $(\"#\" + gridId).kendoGrid({\r\n dataSource: dataSource,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n batch: true,\r\n toolbar: [{\r\n id: \"test\",\r\n name: \"create\",\r\n text: \"Add New Subscription\",\r\n }],\r\n columns: [\r\n {\r\n field: \"Id\", title: \"Id\",\r\n template: \"#= Id #\",\r\n hidden: true,\r\n width: 100\r\n },\r\n \r\n {\r\n field: \"SubscriptionStartDate\",\r\n title: \"Start Date\",\r\n editor: corporateAddStartDatePickerEditor,\r\n template: \"#= kendo.toString(kendo.parseDate(SubscriptionStartDate), 'dd MMM yyyy', 'en-US') #\",\r\n width: 70\r\n },\r\n {\r\n field: \"SubscriptionEndDate\",\r\n title: \"End Date\",\r\n editor: corporateAddEndDatePickerEditor,\r\n template: \"#= kendo.toString(kendo.parseDate(SubscriptionEndDate), 'dd MMM yyyy', 'en-US') #\",\r\n width: 70\r\n },\r\n {\r\n field: \"Paid\",\r\n title: \"Paid\",\r\n width: 80 \r\n },\r\n {\r\n command:\r\n [{ name: \"edit\", text: \"Edit\" },\r\n { name: \"destroy\", text: \"Remove\" }],\r\n title: \" \", width: 100\r\n }\r\n ],\r\n\r\n editable: { mode: \"inline\", confirmation: true }\r\n });\r\n\r\n var grid = $('#' + gridId).data(\"kendoGrid\");\r\n grid.dataSource.sort({ field: \"SubscriptionStartDate\", dir: \"desc\" });\r\n}\r\n\r\n\r\nfunction corporateAddStartDatePickerEditor(container, options) {\r\n $('')\r\n .appendTo(container)\r\n .kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n });\r\n\r\n $('').appendTo(container);\r\n}\r\n\r\nfunction corporateAddEndDatePickerEditor(container, options) {\r\n $('')\r\n .appendTo(container)\r\n .kendoDatePicker({\r\n format: \"dd/MM/yyyy\",\r\n });\r\n $('').appendTo(container);\r\n}\r\n// Function: buildSubscriptionHistoriesObjectToPostFromDataSource -------------------------\r\nfunction buildSubscriptionHistoriesObjectToPostFromDataSource(gridId) {\r\n var data = $('#' + gridId).data(\"kendoGrid\").dataSource.data();\r\n var CorporateSubscriptions = [];\r\n \r\n data.forEach(function (v) {\r\n var corporateSubscription = {\r\n SubscriptionStartDate: v.SubscriptionStartDate,\r\n SubscriptionEndDate: v.SubscriptionEndDate,\r\n Paid: v.Paid\r\n }\r\n CorporateSubscriptions.push(corporateSubscription);\r\n });\r\n\r\n return CorporateSubscriptions;\r\n}\r\n\r\nfunction createDatePickerEditor(container, options) {\r\n\r\n $('')\r\n .appendTo(container)\r\n .kendoDatePicker({\r\n autoBind: false,\r\n value: new Date(),\r\n format: \"dd/MM/yyyy\",\r\n animation: {\r\n close: {\r\n effects: \"fadeOut zoom:out\",\r\n duration: 300\r\n },\r\n open: {\r\n effects: \"fadeIn zoom:in\",\r\n duration: 300\r\n }\r\n }\r\n });\r\n $('').appendTo(container);\r\n}\r\n\r\n\r\nfunction getNoneAssignedCorporateManagers(corporateId, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/GetNoneAssignedCorporateManagers?corporateId=\" + corporateId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addProjectManager ----------------------------------------------------------------------\r\nfunction AddCorporateManager(addRemoveCorporateManager) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/corporate/AddCorporateManagers\",\r\n data: addRemoveCorporateManager\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeProjectManager --------------------------------------------------------------------------\r\nfunction removeManager(corporateId, edgeUserId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n CorporateId: corporateId,\r\n EdgeUserIds: [edgeUserId]\r\n }\r\n\r\n var request = {\r\n url: \"api/corporate/RemoveCorporateManager\",\r\n data: data,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: makeLeadProjectManager --------------------------------------------------------------------------\r\nfunction makeLeadCorporateManager(corporateId, edgeUserId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n corporateId: parseInt(corporateId),\r\n edgeUserIds: [edgeUserId]\r\n }\r\n\r\n var request = {\r\n url: \"api/corporate/AddCorporateLeadManager\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-general\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-auth\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-enterprise\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-user\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-fund\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-programme\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-corporate\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-mentor\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-setting\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-corporate\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-user-dashboard\");\r\nrequire(\"app_utilities/custom/app-custom-routes/app-routes-wagr\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/corporate/dashboard\", \"DASHBOARD\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/corporate/dashboard\",\r\n viewmodel: \"./custom/corporate/dashboard\",\r\n code: \"./custom/corporate/dashboard\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/corporates\", \"CLIENTS\", function () { \r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/corporate/manage-corporates\",\r\n viewmodel: \"./custom/corporate/manage-corporates\",\r\n code: \"./custom/corporate/manage-corporates\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/corporate/add\", \"ADD NEW\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/corporate/add\",\r\n viewmodel: \"./custom/corporate/add\",\r\n code: \"./custom/corporate/add\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/corporate/edit\", \"EDIT\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/corporate/edit\",\r\n viewmodel: \"./custom/corporate/edit\",\r\n code: \"./custom/corporate/edit\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/corporate/user/add\", \"ADD USER\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/corporate/user/add\",\r\n viewmodel: \"./custom/corporate/user/add\",\r\n code: \"./custom/corporate/user/add\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/corporate/user/edit\", \"EDIT USER\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/corporate/user/edit\",\r\n viewmodel: \"./custom/corporate/user/edit\",\r\n code: \"./custom/corporate/user/edit\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/users-corporate\", \"CLIENT USERS\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/corporate/dashboard/active-users\",\r\n viewmodel: \"./custom/corporate/dashboard/active-users\",\r\n code: \"./custom/corporate/dashboard/active-users\"\r\n });\r\n});\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\nvar appUser = require(\"app_utilities/default/app-user\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/enterprise/dashboard\", \"ENTERPRISES\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/enterprise/dashboard\",\r\n viewmodel: \"./custom/enterprise/dashboard\",\r\n code: \"./custom/enterprise/dashboard\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprises\", \"ENTERPRISES\", function () {\r\n\r\n var role = appUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Mentor\") {\r\n\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/mentor/dashboard/enterprise\",\r\n viewmodel: \"./custom/mentor/dashboard/enterprise\",\r\n code: \"./custom/mentor/dashboard/enterprise\",\r\n });\r\n\r\n } else if (role === \"Corporate\") {\r\n\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/corporate/enterprise\",\r\n viewmodel: \"./custom/corporate/enterprise\",\r\n code: \"./custom/corporate/enterprise\"\r\n });\r\n\r\n } else { \r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/enterprise/manage-enterprises\",\r\n viewmodel: \"./custom/enterprise/manage-enterprises\",\r\n code: \"./custom/enterprise/manage-enterprises\"\r\n });\r\n}\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/add\", \"ADD NEW\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/add\",\r\n viewmodel: \"./custom/enterprise/add\",\r\n code: \"./custom/enterprise/add\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/edit\", \"EDIT\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/edit\",\r\n viewmodel: \"./custom/enterprise/edit\",\r\n code: \"./custom/enterprise/edit\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/user/add\", \"ADD USER\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/user/add\",\r\n viewmodel: \"./custom/enterprise/user/add\",\r\n code: \"./custom/enterprise/user/add\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/user/edit\", \"EDIT USER\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/user/edit\",\r\n viewmodel: \"./custom/enterprise/user/edit\",\r\n code: \"./custom/enterprise/user/edit\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/monthly-report\", \"MONTHLY REPORT\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/enterprise/enterprise-report\",\r\n viewmodel: \"./custom/enterprise/enterprise-report\",\r\n code: \"./custom/enterprise/enterprise-report\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/monthly-report-confirmation\", \"CONFIRMATION\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/report/confirmation\",\r\n viewmodel: \"./custom/enterprise/report/confirmation\",\r\n code: \"./custom/enterprise/report/confirmation\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/monthly-performance\", \"PERFORMANCE\", function () {\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/enterprise/enterprise-performance\", \r\n code: \"./custom/enterprise/enterprise-performance\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/reports\", \"MONTHLY REPORT\", function () {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/enterprise/enterprise-report-list\",\r\n code: \"./custom/enterprise/enterprise-report-list\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/reports-super-edit\", \"MONTHLY REPORT QUICK EDIT\", function () { \r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/enterprise/enterprise-report-super-edit\", \r\n code: \"./custom/enterprise/enterprise-report-super-edit\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/document-uploads\", \"DOCUMENT UPLOADS\", function () {\r\n $(\"#application\").removeClass(\"has-tab-nav\");\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/enterprise/document-upload\",\r\n code: \"./custom/enterprise/enterprise-report-list\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/users-enterprise\", \"ENTERPRISE USERS\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/dashboard/active-users\",\r\n viewmodel: \"./custom/enterprise/dashboard/active-users\",\r\n code: \"./custom/enterprise/dashboard/active-users\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/users-enterprise-inactive\", \"ENTERPRISE USERS\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/dashboard/inactive-users\",\r\n viewmodel: \"./custom/enterprise/dashboard/inactive-users\",\r\n code: \"./custom/enterprise/dashboard/inactive-users\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/overview-enterprise\", \"OVERVIEW\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/enterprise/overview/enterprise-overview\",\r\n code: \"./custom/enterprise/overview/enterprise-overview\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/monthly-report-view\", \"MONTHLY REPORT\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/report/view\",\r\n viewmodel: \"./custom/enterprise/report/view\",\r\n code: \"./custom/enterprise/report/view\",\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/enterprise/upload\", \"BULK UPLOAD\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/bulk-upload\",\r\n viewmodel: \"./custom/enterprise/bulk-upload\",\r\n code: \"./custom/enterprise/bulk-upload\"\r\n });\r\n});\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\nvar appUser = require(\"app_utilities/default/app-user\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/fund/add\", \"ADD NEW\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/fund/add\",\r\n viewmodel: \"./custom/fund/add\",\r\n code: \"./custom/fund/add\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/fund/edit\", \"EDIT\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/fund/edit\",\r\n viewmodel: \"./custom/fund/edit\",\r\n code: \"./custom/fund/edit\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/funds\", \"FUNDS\", function () {\r\n\r\n var role = appUser.userCurrent.getCurrentUser().userRole;\r\n\r\n if (role === \"Corporate\") {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/corporate/dashboard/fund\",\r\n viewmodel: \"./custom/corporate/dashboard/fund\",\r\n code: \"./custom/corporate/dashboard/fund\"\r\n });\r\n\r\n } else {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/fund/manage-funds\",\r\n viewmodel: \"./custom/fund/manage-funds\",\r\n code: \"./custom/fund/manage-funds\"\r\n });\r\n } \r\n});\r\n\r\nappRouter.createRoute(true, \"/fund/dashboard\", \"FUNDS\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/fund/dashboard\",\r\n viewmodel: \"./custom/fund/dashboard\",\r\n code: \"./custom/fund/dashboard\"\r\n });\r\n});\r\n\r\n//appRouter.createRoute(true, \"/fund/enterprises\", \"ENTERPRISES\", function () {\r\n// appRender.showView(\"#primary-content\", {\r\n// html: \"./custom/fund/enterprise/active\",\r\n// viewmodel: \"./custom/fund/enterprise/active\",\r\n// code: \"./custom/fund/enterprise/active\"\r\n// });\r\n//});\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\nvar appUser = require(\"app_utilities/default/app-user\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/contact\", \"CONTACT\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/system/contact\",\r\n code: \"./custom/system/contact\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/terms-of-use\", \"TERMS OF USE\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n //display the terms of compliance page here as well\r\n html: \"./custom/system/terms-of-compliance\",\r\n viewmodel: \"./custom/system/terms-of-compliance\",\r\n code: \"./custom/system/terms-of-compliance\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/notifications\", \"NOTIFICATIONS\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/system/notifications\",\r\n viewmodel: \"./custom/system/notifications\",\r\n code: \"./custom/system/notifications\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/terms-of-compliance\", \"TERMS OF COMPLIANCE\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/system/terms-of-compliance\",\r\n viewmodel: \"./custom/system/terms-of-compliance\",\r\n code: \"./custom/system/terms-of-compliance\"\r\n });\r\n});\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/timesheets\", \"TIMESHEETS\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/mentor/dashboard/timesheet\",\r\n viewmodel: \"./custom/mentor/dashboard/timesheet\",\r\n code: \"./custom/mentor/dashboard/timesheet\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/profile\", \"PROFILE\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/mentor/dashboard/profile\",\r\n viewmodel: \"./custom/mentor/dashboard/profile\",\r\n code: \"./custom/mentor/dashboard/profile\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/mentor/dashboard\", \"MENTORS\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/mentor/dashboard\",\r\n viewmodel: \"./custom/mentor/dashboard\",\r\n code: \"./custom/mentor/dashboard\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/mentors\", \"MENTORS\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/mentor/manage-mentors\",\r\n code: \"./custom/mentor/manage-mentors\",\r\n viewmodel: \"./custom/mentor/manage-mentors\"\r\n }); \r\n});\r\n\r\nappRouter.createRoute(true, \"/mentor/add\", \"ADD NEW\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/mentor/add\",\r\n viewmodel: \"./custom/mentor/add\",\r\n code: \"./custom/mentor/add\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/mentor/edit\", \"EDIT\", function () {\r\n\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/mentor/edit\",\r\n code: \"./custom/mentor/edit\",\r\n viewmodel: \"./custom/mentor/edit\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/mentor/monthly-report\", \"MONTHLY REPORT\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/mentor/mentor-report\",\r\n viewmodel: \"./custom/mentor/mentor-report\",\r\n code: \"./custom/mentor/mentor-report\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/mentor/monthly-report-confirmation\", \"CONFIRMATION\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/mentor/report/confirmation\",\r\n viewmodel: \"./custom/mentor/report/confirmation\",\r\n code: \"./custom/mentor/report/confirmation\"\r\n });\r\n});\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\nvar appUser = require(\"app_utilities/default/app-user\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/programme/add\", \"ADD NEW\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/programme/add\",\r\n viewmodel: \"./custom/programme/add\",\r\n code: \"./custom/programme/add\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/programme/edit\", \"EDIT\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/programme/edit\",\r\n viewmodel: \"./custom/programme/edit\",\r\n code: \"./custom/programme/edit\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/programmes\", \"PROGRAMMES\", function () {\r\n\r\n var role = appUser.userCurrent.getCurrentUser().userRole;\r\n if (role === \"Corporate\") {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/corporate/dashboard/programme\",\r\n viewmodel: \"./custom/corporate/dashboard/programme\",\r\n code: \"./custom/corporate/dashboard/programme\"\r\n });\r\n\r\n } else {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/programme/manage-programmes\",\r\n viewmodel: \"./custom/programme/manage-programmes\",\r\n code: \"./custom/programme/manage-programmes\"\r\n });\r\n } \r\n});\r\n\r\n\r\nappRouter.createRoute(true, \"/programme/dashboard\", \"PROGRAMMES\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/programme/dashboard\",\r\n viewmodel: \"./custom/programme/dashboard\",\r\n code: \"./custom/programme/dashboard\"\r\n });\r\n});\r\n\r\n//appRouter.createRoute(true, \"/fund/enterprises\", \"ENTERPRISES\", function () {\r\n// appRender.showView(\"#primary-content\", {\r\n// html: \"./custom/fund/enterprise/active\",\r\n// viewmodel: \"./custom/fund/enterprise/active\",\r\n// code: \"./custom/fund/enterprise/active\"\r\n// });\r\n//});\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/data-lists\", \"DATA-LISTS\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/setting/data-list\",\r\n viewmodel: \"./custom/setting/data-list\",\r\n code: \"./custom/setting/data-list\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/bulk-report-upload\", \"Bulk report uploads\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/setting/bulk-report-upload\",\r\n code: \"./custom/setting/bulk-report-upload\",\r\n viewmodel: \"./custom/setting/bulk-report-upload\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/system-users\", \"SYSTEM USERS\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/setting/system-users\",\r\n viewmodel: \"./custom/setting/system-users\",\r\n code: \"./custom/setting/system-users\"\r\n });\r\n});\r\n\r\n\r\n//appRouter.createRoute(true, \"#\", \"USERS\", function () {\r\n \r\n//});\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\nvar appUser = require(\"app_utilities/default/app-user\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/dashboard\", \"DASHBOARD\", function () {\r\n\r\n var loggedInUser = appUser.userCurrent.getCurrentUser();\r\n\r\n if (loggedInUser) {\r\n if (loggedInUser.userRole === \"Enterprise\") { \r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/dashboard/performance\",\r\n viewmodel: \"./custom/enterprise/dashboard/performance\",\r\n code: \"./custom/enterprise/dashboard/performance\"\r\n });\r\n }\r\n else if (loggedInUser.userRole === \"Corporate\") {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/corporate/dashboard\",\r\n viewmodel: \"./custom/corporate/dashboard\",\r\n code: \"./custom/corporate/dashboard\"\r\n });\r\n }\r\n else if (loggedInUser.userRole === \"Mentor\") {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/mentor/dashboard\",\r\n viewmodel: \"./custom/mentor/dashboard\",\r\n code: \"./custom/mentor/dashboard\"\r\n });\r\n }\r\n else if (loggedInUser.userRole === \"Super Admin\" ||\r\n loggedInUser.userRole === \"Administrator\" ||\r\n loggedInUser.userRole === \"Manager\") {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/edge/dashboard\",\r\n viewmodel: \"./custom/edge/dashboard\",\r\n code: \"./custom/edge/dashboard\"\r\n });\r\n }\r\n else {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/system/dashboard\",\r\n viewmodel: \"./custom/system/dashboard\",\r\n code: \"./custom/system/dashboard\"\r\n });\r\n }\r\n }\r\n \r\n});\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/users\", \"EDGE USERS\", function () {\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./custom/user/manage-users\",\r\n code: \"./custom/user/manage-users\",\r\n viewmodel: \"./custom/user/manage-users\"\r\n }); \r\n});\r\n\r\nappRouter.createRoute(true, \"/user/add\", \"ADD NEW\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/user/add\",\r\n viewmodel: \"./custom/user/add\",\r\n code: \"./custom/user/add\"\r\n });\r\n});\r\n\r\nappRouter.createRoute(true, \"/user/edit\", \"EDIT\", function () {\r\n\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/user/edit\",\r\n code: \"./custom/user/edit\",\r\n viewmodel: \"./custom/user/edit\"\r\n });\r\n});\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(true, \"/wagr\", \"REPORTS\", function () {\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./custom/enterprise/wagr/wagr-report\",\r\n code: \"./custom/enterprise/wagr/wagr-report\",\r\n viewmodel: \"./custom/enterprise/wagr/wagr-report\"\r\n }); \r\n});\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n get: get\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction get() {\r\n\r\n var colors = {\r\n\r\n //remember to change colours in metric file as well (metric.scss)\r\n RevenueGrowth: \"#339683\",\r\n HeadcountGrowth: \"#294294\",\r\n ProfitGrowth: \"#DE6E4B\",\r\n ProcurementSpend: \"#F1D900\",\r\n Maturity: \"#2eb8f6\",\r\n CapitalDeployed: \"#622567\",\r\n }\r\n\r\n return colors;\r\n};","\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\nfunction shortenLabels(value){\r\n\r\n const isNegative = value < 0;\r\n const absoluteValue = Math.abs(value);\r\n let result = value;\r\n \r\n if (absoluteValue >= 1000000000) {\r\n const billions = Math.floor(absoluteValue / 1000000000);\r\n const millions = Math.floor((absoluteValue % 1000000000) / 1000000);\r\n result= billions + \"B\" + (millions > 0 ? \" \" + millions + \"M\" : \"\");\r\n } else if (absoluteValue >= 1000000) {\r\n result= Math.floor(absoluteValue / 1000000) + \"M\";\r\n } else if (absoluteValue >= 1000) {\r\n result= Math.floor(absoluteValue / 1000) + \"k\";\r\n }\r\n return isNegative ? \"-\"+ result : result;\r\n };\r\nwindow.shortenLabels = shortenLabels;\r\nmodule.exports = {\r\n shortenLabels: shortenLabels\r\n};\r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\nvar appNotify = require(\"app_utilities/default/app-notify\");\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n\r\n getBOTBreakdownfile: getBOTBreakdownfile,\r\n getFundProgrammeDashboardDatePickerValidMonths: getFundProgrammeDashboardDatePickerValidMonths,\r\n\r\n getFundProgrammePerformanceMetrics: getFundProgrammePerformanceMetrics,\r\n\r\n getFundProgrammePerformanceBreakdown: getFundProgrammePerformanceBreakdown,\r\n\r\n getFundProgrammePerformanceChart: getFundProgrammePerformanceChart,\r\n getCorporateDashboardDefaultDateRange: getCorporateDashboardDefaultDateRange,\r\n getCorporateDashboardPerformanceBreakdown: getCorporateDashboardPerformanceBreakdown,\r\n getCorporateDashboardPerformanceMetrics: getCorporateDashboardPerformanceMetrics,\r\n getCorporateDashboardPerformanceChart: getCorporateDashboardPerformanceChart,\r\n getCorporateDatePickerValidMonths: getCorporateDatePickerValidMonths,\r\n getEdgeDashboardDatePickerValidMonths: getEdgeDashboardDatePickerValidMonths,\r\n getEdgeDashboardPerformanceBreakdown: getEdgeDashboardPerformanceBreakdown,\r\n getEdgeDashboardPerformanceChart: getEdgeDashboardPerformanceChart,\r\n\r\n\r\n //Global Functions\r\n getDatepickerValidEndDateMonths: getDatepickerValidEndDateMonths,\r\n disableDatePickerMonths: disableDatePickerMonths,\r\n getSetValidDatePickerValueList: getSetValidDatePickerValueList,\r\n populateDatePickers: populateDatePickers,\r\n onChangeCalendar: onChangeCalendar,\r\n //styleMetrics: styleMetrics,\r\n calculatePercentageIncrease: calculatePercentageIncrease,\r\n getPerformanceGrid: getPerformanceGrid,\r\n getBudgetCapitalMaxValue: getBudgetCapitalMaxValue,\r\n resetMetrics: resetMetrics,\r\n formatMoney: formatMoney,\r\n formatMoneyRounding: formatMoneyRounding,\r\n formatNumberSign: formatNumberSign,\r\n gridFixedHeaders: gridFixedHeaders,\r\n getDatepickerStartEndDate: getDatepickerStartEndDate,\r\n datePickerValuesSetShared: datePickerValuesSetShared,\r\n setIncompleteDataClasses: setIncompleteDataClasses,\r\n rebuildDashboardCache: rebuildDashboardCache\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: calculateStartAndEndDateOfDatepicker ---------------------------------\r\nfunction getDatepickerStartEndDate(resultValidMonths, dateFromQuerystring, dateToQuerystring, defaultDateFrom, defaultDateTo) {\r\n\r\n if (dateFromQuerystring && resultValidMonths.months && resultValidMonths.months.includes(dateFromQuerystring) && resultValidMonths.months.includes(dateToQuerystring)) {\r\n return {\r\n startDate: dateFromQuerystring,\r\n endDate: dateToQuerystring\r\n };\r\n }\r\n\r\n return {\r\n startDate: defaultDateFrom,\r\n endDate: defaultDateTo\r\n };\r\n}\r\n\r\n// Function: datePickerValuesSetShared ---------------------------------\r\nfunction datePickerValuesSetShared(viewmodel, resultValidMonths, dateFromQuerystring, dateToQuerystring) {\r\n if (!resultValidMonths || !resultValidMonths.months || resultValidMonths.months.length < 3) {\r\n viewmodel.set(\"isDashboardVisible\", false);\r\n //Note: We need to find a better way to hide the loader in the calling function class.\r\n app.AppLoading.hide();\r\n setIncompleteDataClasses(viewmodel, resultValidMonths);\r\n return;\r\n }\r\n\r\n var monthList = resultValidMonths.months;\r\n var defaultStartDate = monthList[0];\r\n var defaultEndDate = monthList[monthList.length - 1];\r\n\r\n var filterStartEndDate =\r\n getDatepickerStartEndDate(resultValidMonths, dateFromQuerystring, dateToQuerystring, defaultStartDate, defaultEndDate);\r\n\r\n setDatePickerValues(viewmodel, monthList, filterStartEndDate.startDate, filterStartEndDate.endDate);\r\n viewmodel.set(\"isDashboardVisible\", true);\r\n return {\r\n startDate: filterStartEndDate.startDate,\r\n endDate: filterStartEndDate.endDate\r\n };\r\n}\r\n\r\n// Function: setDatePickerValue ----------------------------------------------------------------------\r\nfunction setDatePickerValues(viewmodel, resultValidMonths, startDate, endDate) {\r\n\r\n getSetValidDatePickerValueList(viewmodel, resultValidMonths);\r\n populateDatePickers(viewmodel, startDate, endDate);\r\n}\r\n\r\n// Function: getFundProgrammeDashboardDatePickerValidMonths ---------------------------------\r\nfunction getFundProgrammeDashboardDatePickerValidMonths(type, id) {\r\n\r\n var def = $.Deferred();\r\n\r\n var url;\r\n if (type === \"fund\") {\r\n url = \"api/dashboard/GetFundDashboardDatePickerValidMonths?fundId=\" + id;\r\n\r\n } else if (type === \"programme\") {\r\n url = \"api/dashboard/GetProgrammeDashboardDatePickerValidMonths?programmeId=\" + id;\r\n }\r\n\r\n var request = {\r\n url: url\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n//Function: rebuild Cache ------------------\r\nfunction rebuildDashboardCache(){\r\n let def = $.Deferred();\r\n\r\n const url = \"/api/dashboard/rebuildCache\";\r\n\r\n const request = {\r\n url: url\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getFundProgrammePerformanceMetrics -----------------------------------------------------\r\nfunction getFundProgrammePerformanceMetrics(type, Id, dateFrom, dateTo, isCorporate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var url;\r\n if (type === \"fund\") {\r\n url = \"api/dashboard/GetFundPerformanceMetrics?fundId=\" + Id + \"&from=\" + dateFrom + \"&to=\" + dateTo + \"&isCorporate=\" + isCorporate;\r\n\r\n } else if (type === \"programme\") {\r\n url = \"api/dashboard/GetProgrammePerformanceMetrics?programmeId=\" + Id + \"&from=\" + dateFrom + \"&to=\" + dateTo + \"&isCorporate=\" + isCorporate;\r\n }\r\n var request = {\r\n url: url\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getFundProgrammePerformanceChart -------------------------------------------------------\r\nfunction getFundProgrammePerformanceChart(type, Id, dateFrom, dateTo, isCorporate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var url;\r\n if (type === \"fund\") {\r\n url = \"api/dashboard/GetFundPerformanceChart?fundId=\" + Id + \"&from=\" + dateFrom + \"&to=\" + dateTo + \"&isCorporate=\" + isCorporate;\r\n\r\n } else if (type === \"programme\") {\r\n url = \"api/dashboard/GetProgrammePerformanceChart?programmeId=\" + Id + \"&from=\" + dateFrom + \"&to=\" + dateTo + \"&isCorporate=\" + isCorporate;\r\n }\r\n var request = {\r\n url: url\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getFundProgrammePerformanceBreakdown ---------------------------------------------------\r\nfunction getFundProgrammePerformanceBreakdown(type, Id, dateFrom, dateTo, isCorporate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var url;\r\n if (type === \"fund\") {\r\n url = \"api/dashboard/getFundPerformanceBreakdown?fundId=\" + Id + \"&from=\" + dateFrom + \"&to=\" + dateTo + \"&isCorporate=\" + isCorporate;\r\n\r\n } else if (type === \"programme\") {\r\n url = \"api/dashboard/getProgrammePerformanceBreakdown?programmeId=\" + Id + \"&from=\" + dateFrom + \"&to=\" + dateTo + \"&isCorporate=\" + isCorporate;\r\n }\r\n var request = {\r\n url: url\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getCorporateDatePickerValidMonths -------------------------------------------------\r\nfunction getCorporateDatePickerValidMonths() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/dashboard/GetCorporateDatePickerValidMonths\"\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n// Function: getCorporateDashboardDefaultDateRange -------------------------------------------------\r\nfunction getCorporateDashboardDefaultDateRange(dateFrom, dateTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/dashboard/GetCorporateDashboardDefaultDateRange?dateFrom=\" + dateFrom + \"&dateTo=\" + dateTo\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n// Function: getCorporateDashboardPerformanceChart --------------------------------------------------\r\nfunction getCorporateDashboardPerformanceChart(dateFrom, dateTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/dashboard/GetCorporateDashboardPerformanceChart?from=\" + dateFrom + \"&to=\" + dateTo\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getCorporateDashboardPerformanceBreakdown ----------------------------------------------\r\nfunction getCorporateDashboardPerformanceBreakdown(dateFrom, dateTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/dashboard/GetCorporateDashboardPerformanceBreakdown?from=\" + dateFrom + \"&to=\" + dateTo\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getCorporateDashboardPerformanceMetrics ------------------------------------------------\r\nfunction getCorporateDashboardPerformanceMetrics(dateFrom, dateTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/dashboard/GetCorporateDashboardPerformanceMetrics?from=\" + dateFrom + \"&to=\" + dateTo\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getEdgeDashboardDatePickerValidMonths -------------------------------------------------------\r\nfunction getEdgeDashboardDatePickerValidMonths() {\r\n\r\n var def = $.Deferred();\r\n\r\n var url = \"api/dashboard/GetAdminDashboardDatePickerValidMonths\";\r\n\r\n var request = {\r\n url: url\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getEdgeDashboardPerformanceChart -------------------------------------------------------\r\nfunction getEdgeDashboardPerformanceChart(userRole, dateFrom, dateTo, programmeIdList, fundIdList, programmeFundEnterpriseStatus, filterAllObjects,\r\n beeBwoPercentageFrom,\r\n beeBwoPercentageTo,\r\n beeBoPercentageFrom,\r\n beeBoPercentageTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var url = \"api/dashboard/GetAdminDashboardPerformanceChart?from=\" + dateFrom + \"&to=\" + dateTo + \"&programmeIds=\" + programmeIdList + \"&fundIds=\" +\r\n fundIdList + \"&programmeFundEnterpriseStatus=\" + programmeFundEnterpriseStatus + \"&filterAllObjects=\" + filterAllObjects;\r\n\r\n url += beeFilterQueryBuilder(beeBwoPercentageFrom, beeBwoPercentageTo, beeBoPercentageFrom, beeBoPercentageTo);\r\n\r\n var request = {\r\n url: url\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getEdgeDashboardPerformanceBreakdown ---------------------------------------------------\r\nfunction getEdgeDashboardPerformanceBreakdown(userRole, dateFrom, dateTo, programmeIdList, fundIdList, programmeFundEnterpriseStatus, filterAllObjects,\r\n beeBwoPercentageFrom,\r\n beeBwoPercentageTo,\r\n beeBoPercentageFrom,\r\n beeBoPercentageTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var url = \"api/dashboard/GetAdminDashboardPerformanceBreakdown?from=\" + dateFrom + \"&to=\" + dateTo + \"&programmeIds=\" + programmeIdList + \"&fundIds=\" + fundIdList + \"&programmeFundEnterpriseStatus=\" + programmeFundEnterpriseStatus + \"&filterAllObjects=\" + filterAllObjects;\r\n\r\n url += beeFilterQueryBuilder(beeBwoPercentageFrom, beeBwoPercentageTo, beeBoPercentageFrom, beeBoPercentageTo);\r\n\r\n var request = {\r\n url: url\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n// Function: beeFilterQueryBuilder---------------------------------------------------------------------\r\nfunction beeFilterQueryBuilder(beeBwoPercentageFrom, beeBwoPercentageTo, beeBoPercentageFrom, beeBoPercentageTo) {\r\n var queryString = \"\";\r\n queryString += \"&beeBwoPercentageFrom=\" + beeBwoPercentageFrom;\r\n queryString += \"&beeBwoPercentageTo=\" + beeBwoPercentageTo;\r\n queryString += \"&beeBoPercentageFrom=\" + beeBoPercentageFrom;\r\n queryString += \"&beeBoPercentageTo=\" + beeBoPercentageTo;\r\n\r\n return queryString;\r\n}\r\n\r\n// Function: populateDatePickers ---------------------------------------------------------------------------\r\nfunction populateDatePickers(viewmodel, startDate, endDate) {\r\n\r\n var startDateFormatted = kendo.parseDate(startDate, \"MM/yyyy\");\r\n var endDateFormatted = kendo.parseDate(endDate, \"MM/yyyy\");\r\n\r\n //default dates selected\r\n viewmodel.set(\"calendarStartDate\", startDateFormatted);\r\n viewmodel.set(\"calendarEndDate\", endDateFormatted);\r\n\r\n //Clear existing calendars\r\n var calendarStart = $(\"#calendar-start\");\r\n var calendarEnd = $(\"#calendar-end\");\r\n\r\n // clean up later\r\n if (calendarStart.data(\"kendoCalendar\") && calendarEnd.data(\"kendoCalendar\")) {\r\n calendarStart.data(\"kendoCalendar\").destroy();\r\n calendarEnd.data(\"kendoCalendar\").destroy();\r\n calendarStart.empty();\r\n calendarEnd.empty();\r\n }\r\n\r\n //Create calendars\r\n var datePickersAllMonths = viewmodel.get(\"datePickersAllMonths\");\r\n var datePickerStartDateValidMonths = viewmodel.get(\"datePickerStartDateValidMonths\");\r\n $(\"#calendar-start\").kendoCalendar({\r\n depth: \"year\",\r\n start: \"year\",\r\n change: function () {\r\n var startDateSelected = kendo.parseDate($(\"#calendar-start\").data(\"kendoCalendar\").current(), \"MM/yyyy\");\r\n viewmodel.set(\"calendarStartDate\", startDateSelected);\r\n var datepickerValidEndDateMonths = getDatepickerValidEndDateMonths(viewmodel, datePickersAllMonths, \"selection\");\r\n disableDatePickerMonths(datepickerValidEndDateMonths, \"calendar-end\");\r\n onChangeCalendar(\"selection\");\r\n },\r\n footer: false,\r\n navigate: function () {\r\n disableDatePickerMonths(datePickerStartDateValidMonths, \"calendar-start\");\r\n },\r\n value: new Date(startDateFormatted)\r\n });\r\n\r\n $(\"#calendar-end\").kendoCalendar({\r\n depth: \"year\",\r\n start: \"year\",\r\n change: function () {\r\n // Possible: Enable backwards date disable when selecting end-date\r\n var endDateSelected = kendo.parseDate($(\"#calendar-end\").data(\"kendoCalendar\").current(), \"MM/yyyy\");\r\n viewmodel.set(\"calendarEndDate\", endDateSelected);\r\n disableDatePickerMonths(datePickerStartDateValidMonths, \"calendar-start\");\r\n onChangeCalendar(\"selection\");\r\n },\r\n footer: false,\r\n navigate: function () {\r\n var datepickerValidEndDateMonths = getDatepickerValidEndDateMonths(viewmodel, datePickersAllMonths, \"selection\");\r\n disableDatePickerMonths(datepickerValidEndDateMonths, \"calendar-end\");\r\n },\r\n value: new Date(endDateFormatted)\r\n });\r\n\r\n\r\n}\r\n\r\n\r\n//-------------------------------------------------------------------------------------------------\r\n// Function: getSetValidDatePickerValueList ---------------------------------------------------------------------------\r\nfunction getSetValidDatePickerValueList(viewmodel, validMonths) {\r\n\r\n //format valid months in date format\r\n var i;\r\n var datePickersAllMonths = [];\r\n for (i = 0; i < validMonths.length; ++i) {\r\n var month = kendo.parseDate(validMonths[i], \"MM/yyyy\");\r\n datePickersAllMonths.push(month);\r\n }\r\n\r\n viewmodel.set(\"datePickersAllMonths\", datePickersAllMonths);\r\n\r\n datePickerStartDateValidMonths = datePickersAllMonths.splice(0, datePickersAllMonths.length - 1); //- remove the last two values from the list of dates returned\r\n viewmodel.set(\"datePickerStartDateValidMonths\", datePickerStartDateValidMonths);\r\n\r\n}\r\n\r\n// Function: getDatepickerValidEndDateMonths ---------------------------------------------------------------------------\r\nfunction getDatepickerValidEndDateMonths(viewmodel, datePickersAllMonths) {\r\n\r\n var datePickersAllMonthsStringFormatted = [];\r\n for (i = 0; i < datePickersAllMonths.length; ++i) {\r\n var month = kendo.toString(datePickersAllMonths[i], \"MM/yyyy\");\r\n datePickersAllMonthsStringFormatted.push(month);\r\n }\r\n\r\n var calendarStart;\r\n calendarStart = viewmodel.get(\"calendarStartDate\");\r\n\r\n var startDate = kendo.toString(new Date(calendarStart), \"MM/yyyy\");\r\n var indexOfStartDateSelected = datePickersAllMonthsStringFormatted.indexOf(startDate);\r\n datepickerValidEndDates = datePickersAllMonths.slice(indexOfStartDateSelected + 1, datePickersAllMonths.length);\r\n return datepickerValidEndDates;\r\n}\r\n\r\n\r\n\r\n// Function: disableDatePickerMonths ---------------------------------------------------------------------------\r\nfunction disableDatePickerMonths(validMonths, datepickerId) {\r\n //disable all date months \r\n $(\"#\" + datepickerId).find(\"[data-value]\").closest('td').addClass(\"calendar-month-disable\");\r\n\r\n //enable all relevant months\r\n for (i = 0; i < validMonths.length; ++i) {\r\n var monthDateFromated = new Date(validMonths[i]);\r\n\r\n var yearMonthFirst = kendo.toString(monthDateFromated, \"yyyy/M\") + \"/1\";\r\n var str_array = yearMonthFirst.split('/');\r\n str_array[1] = str_array[1] - 1;\r\n var yearMonthFirstAdded = str_array[0] + '/' + str_array[1] + '/' + str_array[2];\r\n\r\n $(\"#\" + datepickerId).find(\"[data-value='\" + yearMonthFirstAdded + \"']\").closest('td').removeClass(\"calendar-month-disable\");\r\n }\r\n}\r\n\r\n//Function: onChangeCalendar --------------------------------------------------------------------------------\r\nfunction onChangeCalendar() {\r\n\r\n var viewmodel = $(\"#date-picker\").get(0).kendoBindingTarget.source;\r\n\r\n //Quick fix to grab right ID: \r\n if (viewmodel.get(\"enterpriseId\")) {\r\n var id = viewmodel.get(\"enterpriseId\");\r\n } else {\r\n id = viewmodel.get(\"Id\");\r\n }\r\n\r\n selectionEvent(viewmodel, id);\r\n\r\n}\r\n\r\n// Function: selectionEvent --------------------------------------------------------------------------\r\nfunction selectionEvent(viewmodel, id) {\r\n\r\n var calendarStart = viewmodel.get(\"calendarStartDate\");\r\n var calendarEnd = viewmodel.get(\"calendarEndDate\");\r\n var startDate = kendo.toString(calendarStart, \"MM/yyyy\");\r\n var endDate = kendo.toString(calendarEnd, \"MM/yyyy\");\r\n var data = {\r\n viewmodel: viewmodel,\r\n id: id,\r\n startDate: startDate,\r\n endDate: endDate\r\n };\r\n\r\n if (calendarEnd > calendarStart.getMonth(calendarStart.getMonth() + 1)) {\r\n updateStartAndEndDateInUrl(startDate, endDate);\r\n $(\"body\").trigger('onChangeCalendarEvent', data);\r\n resetMetrics();\r\n } else {\r\n appNotify.showWarning({\r\n title: \"Sorry!\",\r\n message: \"Please make sure the end date is two months after the start date\"\r\n });\r\n }\r\n}\r\n\r\n// Function: updateStartAndEndDateInUrl --------------------------------------------------------------------------\r\nfunction updateStartAndEndDateInUrl(calendarStart, calendarEnd) {\r\n\r\n var startDate = encodeURIComponent(calendarStart);\r\n var endDate = encodeURIComponent(calendarEnd);\r\n\r\n var currentUrl = location.href;\r\n if (!currentUrl.includes('?')) {\r\n currentUrl += \"?\";\r\n }\r\n\r\n var queryStringsOtherThanStartEndDateToAdd = \"\";\r\n if (currentUrl.includes('startDate=')) {\r\n var urlSplitOnStartDateArray = currentUrl.split('startDate=');\r\n currentUrl = urlSplitOnStartDateArray[0];\r\n queryStringsOtherThanStartEndDateToAdd = getQueryStringParamsOccuringAfterDates(urlSplitOnStartDateArray[1]);\r\n }\r\n\r\n var fullUrl = currentUrl + \"&startDate=\" + startDate + \"&endDate=\" + endDate + queryStringsOtherThanStartEndDateToAdd\r\n\r\n fullUrl = fullUrl.replace(\"&&\", \"&\");\r\n\r\n window.history.pushState(\"\", \"\", fullUrl);\r\n\r\n}\r\n\r\n// Function: getQueryStringParamsOccuringAfterDates --------------------------------------------------------------------------\r\nfunction getQueryStringParamsOccuringAfterDates(queryStringsParamsAfterIncludingStartDate) {\r\n\r\n var firstAmpersandFoundAtPosition = queryStringsParamsAfterIncludingStartDate.indexOf(\"&\");\r\n var secondAmpersandFoundAtPosition = queryStringsParamsAfterIncludingStartDate.indexOf(\"&\", firstAmpersandFoundAtPosition + 1);\r\n var queryStringsOtherThanStartEndDateToAdd = \"\";\r\n if (secondAmpersandFoundAtPosition !== -1) {\r\n queryStringsOtherThanStartEndDateToAdd = queryStringsParamsAfterIncludingStartDate.substring(secondAmpersandFoundAtPosition);\r\n }\r\n return queryStringsOtherThanStartEndDateToAdd;\r\n}\r\n\r\nfunction getBOTBreakdownfile(id, type) {\r\n var url = '';\r\n if (type == 'fund') {\r\n url = `/api/fund/CreateExcelFile?fundId=${id}`;\r\n } else if (type == 'programme') {\r\n url = `/api/programme/CreateExcelFile?programmeId=${id}`;\r\n }\r\n\r\n if (!url) return;\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: url\r\n };\r\n apiHandler.download(request)\r\n .then(resp => resp.blob())\r\n .then(blob => {\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n a.style.display = 'none';\r\n a.href = url;\r\n // the filename you want\r\n document.body.appendChild(a);\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n })\r\n .catch((ex) => alert('oh no!' + ex))\r\n\r\n //function (error) {\r\n // def.reject(error.message);\r\n //});\r\n\r\n}\r\n\r\n\r\n// Function: getEnterprisePerformanceGrid --------------------------------------------------------------------------\r\nfunction getPerformanceGrid(id, viewmodel, type, defaultStart, defaultEnd, programmeIdList, fundIdList, programmeFundEnterpriseStatus,\r\n filterAllObjects,\r\n beeBwoPercentageFrom,\r\n beeBwoPercentageTo,\r\n beeBoPercentageFrom,\r\n beeBoPercentageTo) {\r\n\r\n var def = $.Deferred();\r\n var startDateSelected = defaultStart;\r\n var endDateSelected = defaultEnd;\r\n\r\n if ($(\"#calendar-start\").data(\"kendoCalendar\")) {\r\n startDateSelected = kendo.toString(kendo.parseDate($(\"#calendar-start\").data(\"kendoCalendar\").current()), \"MM/yyyy\");\r\n }\r\n if ($(\"#calendar-end\").data(\"kendoCalendar\")) {\r\n endDateSelected = kendo.toString(kendo.parseDate($(\"#calendar-end\").data(\"kendoCalendar\").current()), \"MM/yyyy\");\r\n }\r\n\r\n var originalPerformanceChartDeferred;\r\n var isCorporate = false;\r\n if (viewmodel.get(\"isCorporate\") === true) {\r\n isCorporate = true;\r\n }\r\n\r\n //Userole = id\r\n if (type === \"enterprise\") {//this has been moved to the enterprise service \r\n //originalPerformanceChartDeferred = getEnterprisePerformanceChart(id, startDateSelected, endDateSelected, isCorporate); \r\n } else if (type === \"dashboard\") {\r\n originalPerformanceChartDeferred = getEdgeDashboardPerformanceBreakdown(id, startDateSelected, endDateSelected, programmeIdList, fundIdList, programmeFundEnterpriseStatus,\r\n filterAllObjects,\r\n beeBwoPercentageFrom,\r\n beeBwoPercentageTo,\r\n beeBoPercentageFrom,\r\n beeBoPercentageTo);\r\n\r\n } else if (type === \"corporate\") {\r\n originalPerformanceChartDeferred = getCorporateDashboardPerformanceBreakdown(startDateSelected, endDateSelected);\r\n } else if (type === \"mentor\") { //this has been moved to the mentor service\r\n //originalPerformanceChartDeferred = getMentorDashboardPerformanceBreakdown(startDateSelected, endDateSelected); \r\n } else {\r\n originalPerformanceChartDeferred = getFundProgrammePerformanceBreakdown(type, id, startDateSelected, endDateSelected, isCorporate);\r\n }\r\n\r\n $.when(originalPerformanceChartDeferred).done(\r\n function (originalData) {\r\n \r\n def.resolve(originalData);\r\n }).fail(function (error) {\r\n def.reject({ title: \"Sorry!\", message: error });\r\n viewmodel.loadingDef.reject();\r\n });\r\n\r\n\r\n return def.promise();\r\n}\r\n\r\n//Function: arrayDistinctEnterprise --------------------------------------------------------------------------------\r\nfunction arrayDistinctPerformance(arr) {\r\n return arr.reduce(function (p, c) {\r\n var key = [c.Id].join('|');\r\n if (p.temp.indexOf(key) === -1) {\r\n p.out.push(c);\r\n p.temp.push(key);\r\n }\r\n return p;\r\n },\r\n { temp: [], out: [] }).out;\r\n}\r\n\r\n// Function: resetMetrics --------------------------------------------------------------------------\r\nfunction resetMetrics() {\r\n //Quick fix: Can loop through seriesObj = chart.options.series.filter(function (seriesObj)\r\n // and toggle active classes after dashboard loaded\r\n $('.procurement-spend').removeClass(\"active\");\r\n $('.profit-growth').removeClass(\"active\");\r\n $('.revenue-growth').addClass(\"active\");\r\n $('.headcount-growth').addClass(\"active\");\r\n $('.capital-deployed').addClass(\"active\");\r\n\r\n $('.procurement-spend-weighted').removeClass(\"active\");\r\n $('.profit-growth-weighted').removeClass(\"active\");\r\n $('.revenue-growth-weighted').addClass(\"active\");\r\n $('.headcount-growth-weighted').addClass(\"active\");\r\n}\r\n\r\n// Function: calculatePercentageIncrease --------------------------------------------------------------------------\r\nfunction calculatePercentageIncrease(current, compare) {\r\n if (current === 0) {\r\n return 0;\r\n } else {\r\n var difference = current - compare;\r\n difference = difference / current * 100; //dont devide by 0 ey?\r\n return Math.round(difference);\r\n }\r\n\r\n}\r\n\r\n// Function: formatMoneyRounding --------------------------------------------------------------------------\r\nfunction formatMoneyRounding(amount) {\r\n var symbol = \"\";\r\n\r\n if (Math.abs(Number(amount)) >= 1.0e+6) {\r\n amount = Number(amount) / 1.0e+6;\r\n symbol = \" M\";\r\n return formatMillion(amount) + symbol;\r\n } else {\r\n return formatMoney(amount);\r\n }\r\n}\r\n\r\nfunction formatNumberSign(amount) {\r\n var n = amount,\r\n c = isNaN(c = Math.abs(c)) ? 0 : c,\r\n d = d == undefined ? \".\" : d,\r\n t = t == undefined ? \",\" : t,\r\n s = n == 0 ? \"\" : n < 0 ? \"-\" : \"+\",\r\n i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),\r\n j = (j = i.length) > 3 ? j % 3 : 0;\r\n\r\n return s + (j ? i.substr(0, j) + t : \"\") + i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : \"\");\r\n}\r\n\r\n\r\n//Just send the amount\r\n// Function: formatMoney --------------------------------------------------------------------------\r\nfunction formatMoney(amount, c, d, t) {\r\n var n = amount,\r\n c = isNaN(c = Math.abs(c)) ? 0 : c,\r\n d = d == undefined ? \".\" : d,\r\n t = t == undefined ? \",\" : t,\r\n s = n < 0 ? \"-\" : \"\",\r\n i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),\r\n j = (j = i.length) > 3 ? j % 3 : 0;\r\n\r\n return s + (j ? i.substr(0, j) + t : \"\") + i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : \"\");\r\n}\r\n\r\n// Function: formatMillion --------------------------------------------------------------------------\r\nfunction formatMillion(amount, c, d, t) {\r\n var n = amount,\r\n c = isNaN(c = Math.abs(c)) ? 0 : c,\r\n d = d == undefined ? \".\" : d,\r\n t = t == undefined ? \",\" : t,\r\n s = n < 0 ? \"-\" : \"\",\r\n i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),\r\n j = (j = i.length) > 3 ? j % 3 : 0;\r\n\r\n return s + (j ? i.substr(0, j) + t : \"\") + i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : \"\");\r\n}\r\n\r\n// Function: getBudgetCapitalMaxValue --------------------------------------------------------------------------\r\nfunction getBudgetCapitalMaxValue(data) {\r\n\r\n var maxValue;\r\n\r\n data.forEach(function (v, i) {\r\n\r\n if (maxValue) {\r\n\r\n if (moment(maxValue.TimeStamp).isBefore(moment(v.TimeStamp))) {\r\n maxValue = v;\r\n }\r\n\r\n } else {\r\n maxValue = v;\r\n }\r\n\r\n });\r\n\r\n return maxValue;\r\n}\r\n\r\n// Function: gridFixedHeaders --------------------------------------------------------------------------\r\nfunction gridFixedHeaders(e) {\r\n //refactor code here yolo\r\n var wrapper = e.wrapper,\r\n header = wrapper.find(\".k-grid-header\");\r\n\r\n function resizeFixed() {\r\n var paddingRight = parseInt(header.css(\"padding-right\"));\r\n header.css(\"width\", wrapper.width() - paddingRight);\r\n }\r\n\r\n function scrollFixed() {\r\n var offset = $(this).scrollTop(),\r\n tableOffsetTop = wrapper.offset().top,\r\n tableOffsetBottom = tableOffsetTop + wrapper.height() - header.height();\r\n if (offset < tableOffsetTop || offset > tableOffsetBottom) {\r\n header.removeClass(\"fixed-header\");\r\n } else if (offset >= tableOffsetTop) {\r\n header.addClass(\"fixed-header\");\r\n }\r\n }\r\n\r\n //function fackScroll(e) {\r\n // var gridElement = $(\"#grid-active-users\");\r\n // var dataElement = gridElement.find(\".k-grid-content\");\r\n // var fakeScroll = document.getElementById(\"grid-active-users\");\r\n // fakeScroll = dataElement.children(0).width() + \"px\";\r\n\r\n // dataElement.scroll(function () {\r\n // $(\".select-enterpise-helper-step\").scrollLeft(dataElement.scrollLeft());\r\n // });\r\n // $(\".select-enterpise-helper-step\").scroll(function () {\r\n // dataElement.scrollLeft($(\".select-enterpise-helper-step\").scrollLeft());\r\n // });\r\n //}\r\n\r\n resizeFixed();\r\n //fackScroll();\r\n $(window).resize(resizeFixed);\r\n $(window).scroll(scrollFixed);\r\n}\r\n\r\n\r\n// Function: setIncompleteDataClasses --------------------------------------------------------------------------\r\nfunction setIncompleteDataClasses(viewmodel, data) {\r\n\r\n if (!data.Performance) {\r\n $('#metricCard-profitGrowth').removeClass(\"metric-chart-profit\");\r\n $('#metricCard-profit').removeClass(\"metric-chart-profit\");\r\n $('#metricCard-revenueGrowth').removeClass(\"metric-chart-revenue\");\r\n $('#metricCard-revenue').removeClass(\"metric-chart-revenue\");\r\n $('#metricCard-headcountGrowth').removeClass(\"metric-chart-headcount\");\r\n $('#metricCard-headcount').removeClass(\"metric-chart-headcount\");\r\n $('#metricCard-procurementSpendGrowthRate').removeClass(\"metric-chart-procurement\");\r\n $('#metricCard-procurementspend').removeClass(\"metric-chart-procurement\");\r\n } else {\r\n if (!data.Performance.ProfitGrowth) {\r\n $('#metricCard-profitGrowth').removeClass(\"metric-chart-profit\");\r\n }\r\n if (!data.Performance.Profit) {\r\n $('#metricCard-profit').removeClass(\"metric-chart-profit\");\r\n }\r\n\r\n if (!data.Performance.RevenueGrowth) {\r\n $('#metricCard-revenueGrowth').removeClass(\"metric-chart-revenue\");\r\n }\r\n if (!data.Performance.Revenue) {\r\n $('#metricCard-revenue').removeClass(\"metric-chart-revenue\");\r\n }\r\n\r\n if (!data.Performance.HeadcountGrowth) {\r\n $('#metricCard-headcountGrowth').removeClass(\"metric-chart-headcount\");\r\n }\r\n if (!data.Performance.Headcount) {\r\n $('#metricCard-headcount').removeClass(\"metric-chart-headcount\");\r\n }\r\n\r\n if (data.Performance.ProcurementSpendGrowthRate === null) {\r\n $('#metricCard-procurementSpendGrowthRate').removeClass(\"metric-chart-procurement\");\r\n }\r\n if (data.Performance.ProcurementSpend === null) {\r\n $('#metricCard-procurementspend').removeClass(\"metric-chart-procurement\");\r\n }\r\n }\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n//Todo: remove, first check if these are being used\r\nvar enterpriseSizes = \"EnterpriseSizes\";\r\nvar fundphases = \"FundPhases\";\r\nvar programmephases = \"ProgrammePhases\";\r\nvar industries = \"Industries\";\r\nvar offices = \"Offices\";\r\nvar provinces = \"Provinces\";\r\nvar specialties = \"Specialties\";\r\nvar enterpriseCapitalMissingMiddleFundingReasons = \"MissingMiddleFundingReasons\";\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n getMetricCardDescriptions: getMetricCardDescriptions,\r\n getAllDataLists: getAllDataLists,\r\n setDataListsLocal: setDataListsLocal,\r\n\r\n getEnterpriseSizesLocal: getEnterpriseSizesLocal,\r\n getFundPhasesLocal: getFundPhasesLocal,\r\n getProgrammePhasesLocal: getProgrammePhasesLocal,\r\n getIndustriesLocal: getIndustriesLocal,\r\n getOfficesLocal: getOfficesLocal,\r\n getProvincesLocal: getProvincesLocal,\r\n getSpecialtiesLocal: getSpecialtiesLocal,\r\n getEdgeUserRolesLocal: getEdgeUserRolesLocal,\r\n getBeeTypesLocal: getBeeTypesLocal,\r\n getBeeLevelsLocal: getBeeLevelsLocal,\r\n getMissingMiddleFundingReasonsLocal: getMissingMiddleFundingReasonsLocal,\r\n\r\n refreshDataList: refreshDataList,\r\n\r\n addListItem: addListItem,\r\n //addEnterpriseSizesItem: addEnterpriseSizesItem,\r\n //addFundPhasesItem: addFundPhasesItem,\r\n //addProgrammePhasesItem: addProgrammePhasesItem,\r\n //addIndustriesItem: addIndustriesItem,\r\n //addOfficesItem: addOfficesItem,\r\n //addProvincesItem: addProvincesItem,\r\n //addSpecialtiesItem: addSpecialtiesItem,\r\n\r\n updateListItem: updateListItem,\r\n //updateEnterpriseSizesItem: updateEnterpriseSizesItem,\r\n //updateFundPhasesItem: updateFundPhasesItem,\r\n //updateProgrammePhasesItem: updateProgrammePhasesItem,\r\n //updateIndustriesItem: updateIndustriesItem,\r\n //updateOfficesItem: updateOfficesItem,\r\n //updateProvincesItem: updateProvincesItem,\r\n //updateSpecialtiesItem: updateSpecialtiesItem,\r\n\r\n deleteListItem: deleteListItem,\r\n //deleteEnterpriseSizesItem: deleteEnterpriseSizesItem,\r\n //deleteFundPhasesItem: deleteFundPhasesItem,\r\n //deleteProgrammePhasesItem: deleteProgrammePhasesItem,\r\n //deleteIndustriesItem: deleteIndustriesItem,\r\n //deleteOfficesItem: deleteOfficesItem,\r\n //deleteProvincesItem: deleteProvincesItem,\r\n //deleteSpecialtiesItem: deleteSpecialtiesItem\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// Function: getAllDataLists ------------------------------------------------------------------------\r\nfunction getAllDataLists() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/list/GetAll\"\r\n }\r\n\r\n try {\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n }\r\n catch (err) {\r\n def.reject(error.message);\r\n }\r\n \r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: refreshDataList ----------------------------------------------------------------------\r\nfunction refreshDataList() {\r\n var def = $.Deferred();\r\n\r\n getAllDataLists().then(\r\n function (data) { \r\n setDataListsLocal(data);\r\n //console.log(\"retrieved all lists from api\");\r\n\r\n def.resolve();\r\n },\r\n function () { \r\n console.log(\"retrieving all lists failed\");\r\n def.reject();\r\n appRouter.router.navigate(\"/login\");\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setDataListsLocal ----------------------------------------------------------------------\r\nfunction setDataListsLocal(dataLists) {\r\n window.dataLists = dataLists;\r\n};\r\n\r\n//GETS\r\n// Function: getDataListsLocal ----------------------------------------------------------------------\r\nfunction getLocalDataLists() {\r\n return window.dataLists;\r\n};\r\n// Function: getEnterpriseSizesLocal ------------------------------------------------------------------------\r\nfunction getEnterpriseSizesLocal() {\r\n return window.dataLists.EnterpriseSizes;\r\n};\r\n// Function: getFundPhasesLocal ------------------------------------------------------------------------\r\nfunction getFundPhasesLocal() {\r\n return window.dataLists.FundPhases;\r\n};\r\n// Function: getProgrammePhasesLocal ------------------------------------------------------------------------\r\nfunction getProgrammePhasesLocal() {\r\n return window.dataLists.ProgrammePhases;\r\n};\r\n// Function: getIndustriesLocal ------------------------------------------------------------------------\r\nfunction getIndustriesLocal() {\r\n return window.dataLists.Industries;\r\n};\r\n// Function: getOfficesLocal ------------------------------------------------------------------------\r\nfunction getOfficesLocal() {\r\n return window.dataLists.Offices;\r\n};\r\n// Function: getProvincesLocal ------------------------------------------------------------------------\r\nfunction getProvincesLocal() {\r\n return window.dataLists.Provinces;\r\n};\r\n// Function: getSpecialtiesLocal ------------------------------------------------------------------------\r\nfunction getSpecialtiesLocal() {\r\n return window.dataLists.Specialties;\r\n};\r\n// Function: getEdgeUserRolesLocal ------------------------------------------------------------------------\r\nfunction getEdgeUserRolesLocal() {\r\n return window.dataLists.EdgeUserRoles;\r\n};\r\n// Function: getBeeTypesLocal ------------------------------------------------------------------------\r\nfunction getBeeTypesLocal() {\r\n return window.dataLists.BeeTypes;\r\n}\r\n// Function: getBeeLevelsLocal ------------------------------------------------------------------------\r\nfunction getBeeLevelsLocal() {\r\n return window.dataLists.BeeLevels;\r\n}\r\n\r\n// Function: getBeeLevelsLocal ------------------------------------------------------------------------\r\nfunction getMissingMiddleFundingReasonsLocal() {\r\n return window.dataLists.MissingMiddleFundingReasons;\r\n}\r\n\r\n\r\n\r\n\r\n//ADD\r\n// Function: addEnterpriseSizesItem ------------------------------------------------------------------------------------\r\n//function addEnterpriseSizesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = enterpriseSizes;\r\n// addListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: addFundPhasesItem ------------------------------------------------------------------------------------\r\n//function addFundPhasesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = fundphases;\r\n// addListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: addProgrammePhasesItem ------------------------------------------------------------------------------------\r\n//function addProgrammePhasesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = programmephases;\r\n// addListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: addIndustriesItem ------------------------------------------------------------------------------------\r\n//function addIndustriesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = industries;\r\n// addListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: addOfficesItem ------------------------------------------------------------------------------------\r\n//function addOfficesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = offices;\r\n// addListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: addProvincesItem ------------------------------------------------------------------------------------\r\n//function addProvincesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = provinces;\r\n// addListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: addSpecialtiesItem ------------------------------------------------------------------------------------\r\n//function addSpecialtiesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = specialties;\r\n// addListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n\r\n\r\n//UPDATE\r\n// Function: updateEnterpriseSizesItem ------------------------------------------------------------------------------------\r\n//function updateEnterpriseSizesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = enterpriseSizes;\r\n// updateListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: updateFundPhasesItem ------------------------------------------------------------------------------------\r\n//function updateFundPhasesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = fundphases;\r\n// updateListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: updateProgrammePhasesItem ------------------------------------------------------------------------------------\r\n//function updateProgrammePhasesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = programmephases;\r\n// updateListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: updateIndustriesItem ------------------------------------------------------------------------------------\r\n//function updateIndustriesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = industries;\r\n// updateListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: updateOfficesItem ------------------------------------------------------------------------------------\r\n//function updateOfficesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = offices;\r\n// updateListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: updateProvincesItem ------------------------------------------------------------------------------------\r\n//function updateProvincesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = provinces;\r\n// updateListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: updateSpecialtiesItem ------------------------------------------------------------------------------------\r\n//function updateSpecialtiesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = specialties;\r\n// updateListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n\r\n\r\n\r\n//DELETE\r\n// Function: deleteEnterpriseSizesItem ------------------------------------------------------------------------------------\r\n//function deleteEnterpriseSizesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = enterpriseSizes;\r\n// deleteListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: deleteFundPhasesItem ------------------------------------------------------------------------------------\r\n//function deleteFundPhasesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = fundphases;\r\n// deleteListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: deleteProgrammePhasesItem ------------------------------------------------------------------------------------\r\n//function deleteProgrammePhasesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = programmephases;\r\n// deleteListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: deleteIndustriesItem ------------------------------------------------------------------------------------\r\n//function deleteIndustriesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = industries;\r\n// deleteListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: deleteOfficesItem ------------------------------------------------------------------------------------\r\n//function deleteOfficesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = offices;\r\n// deleteListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: deleteProvincesItem ------------------------------------------------------------------------------------\r\n//function deleteProvincesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = provinces;\r\n// deleteListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n//// Function: deleteSpecialtiesItem ------------------------------------------------------------------------------------\r\n//function deleteSpecialtiesItem(data) {\r\n// var def = $.Deferred();\r\n// data.ListName = specialties;\r\n// deleteListItem(data).then(function (result) { def.resolve(result); }, function (error) { def.reject(error.message); });\r\n// return def.promise();\r\n//};\r\n\r\n\r\n//MAIN\r\n\r\n// Function: addListItem ------------------------------------------------------------------------------------\r\nfunction addListItem(data) {\r\n\r\n var def = $.Deferred();\r\n data.Id = 0;\r\n var request = {\r\n url: \"api/list/addListItem\",\r\n data: data\r\n };\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n refreshDataList();\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: updateListItem ---------------------------------------------------------------------------------\r\nfunction updateListItem(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/list/updateListItem\",\r\n data: data\r\n };\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n refreshDataList();\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: deleteListItem ---------------------------------------------------------------------------------\r\nfunction deleteListItem(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/list/deleteListItem\",\r\n data: data\r\n };\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n refreshDataList();\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getMetricCardDescriptions ---------------------------------------------------------------------------------\r\nfunction getMetricCardDescriptions() {\r\n var cardDesciptions =\r\n {\r\n \"headcount\": \"Headcount = total permanent jobs + total temporary jobs.\",\r\n \"netJobs\": \"Net Jobs = Final Headcount - Initial Headcount\",\r\n \"profit\": 'Net profit, also known as \"bottom line earnings\" or \"net income\" is the amount of profit remaining after the deduction of all expenses (ie. Net Profit = Total Revenue - Total Expenses).',\r\n \"bbee\": \"Official South African Broad-Based Black Economic Empowerment rating.\",\r\n \"profitGrowth\": \"The profit growth displayed is the Weighted Average Growth Rate (WAGR) of the enterprises in this portfolio. WAGR is the sum of individually weighted growth rates. The weights are determined by the total profit growth in the enterprise’s respective last period. The growth rate calculation may differ per enterprise depending on the monthly data available in the date range selected. Please select the information icon to view the calculations applied.\",\r\n \"jobsCreated\": \"Maximum Headcount during that period - Initial Headcount during that period.\",\r\n \"revenueGrowth\": \"The Revenue displayed is the Weighted Average Growth Rate (WAGR) of the enterprises in this portfolio. WAGR is the sum of individually weighted growth rates. The weights are determined by the total revenue in the enterprise’s respective last period. The growth rate calculation may differ per enterprise depending on the monthly data available in the date range selected. Please select the information icon to view the calculations applied.\",\r\n \"smeEngagement\": \"A rating provided by the mentor on how committed the Enterprise is to the support provided. \",\r\n \"supportProvided\": \"Total number of hours of support provided to the Enterprise by the Fund, Programme or Mentor intervention during the specified period.\",\r\n \"procurementSpend\": \" Programmes: Revenue received from the sponsor and / or resulting from the growth support provided during the specified period; e.g. If you are part of a programme sponsored by Corporate A, what Rand value of your revenue comes from Corporate A?\",\r\n \"procurementSpendGrowthRate\": \"The procurement spend displayed is the Weighted Average Growth Rate (WAGR) of the enterprises in this portfolio. WAGR is the sum of individually weighted growth rates. The weights are determined by the total procurement spend in the enterprise’s respective last period. The growth rate calculation may differ per enterprise depending on the monthly data available in the date range selected. Please select the information icon to view the calculations applied.\",\r\n \"smeInvestment\": \"Total amount of capital invested in the business as a result of the Fund or Programme intervention during the specified period.\",\r\n \"revenue\": \"Total income (sales / revenue) recognised during the specified period.\",\r\n \"accountsReceivable\": \"Total amount currently owed TO the company from Debtors (including customers who have already been invoiced, SARS repayments due etc.) expected to be received over the next 12 months.\",\r\n \"accountsPayable\": \"Total amount currently owed BY the company to creditors (including suppliers who have already invoiced the company, SARS payments due, money due to lenders etc.) expected to be paid over the next 12 months.\",\r\n \"totalAssets\": \"Total Rand value of Assets on the balance sheet of the business. Anything tangible that the business owns, including cash, fixed assets (e.g. property), movable assets (e.g. vehicles and furniture) and Accounts Receivable at a specified point in time.\",\r\n \"totalLiabilities\": \"Total Rand value of Liabilities on the balance sheet of the business. Total debt and financial obligations the business owes to any other parties at a specified point in time.\",\r\n \"totalEquity\": \"Total Assets less Total Liabilities.\",\r\n \"permanentEmployee\": \"Current total number of staff members contracted for more than 6 months and working more than 20hrs per week.\",\r\n \"temporaryEmployee\": \"Current total number of staff members contracted for less than 6 months and/or employees working less than 20hrs per week.\",\r\n \"budget\": \"Total budget allocated to the programme by the corporate.\",\r\n \"budgetDeployed\": \"Amount of programme budget spent.\",\r\n \"capitalDeployed\": \"Amount of capital invested in portfolio enterprises.\",\r\n \"capitalUnderManagement\": \"Total amount of capital received from investors for investment in portfolio enterprises.\",\r\n \"maturity\": \"A measurement of a business’s strengths and growth areas calculated over a number of key areas.\",\r\n \"enterpriseCapitalCommitted\": \"Total amount of Capital Committed to the Enterprise from Edge Growth managed Funds.\",\r\n \"enterpriseCapitalDeployed\": \"Total amount of Capital Deployed to the Enterprise from Edge Growth managed Funds.\",\r\n \"capitalCommitted\": \"Capital committed = Total capital committed to all enterprises.\",\r\n \"wagrRevenueGrowth\": \"The Revenue Growth calculation applied to an enterprise’s data is dependent on the amount of reports available in the selected period.\",\r\n \"wagrProcuremetnSpendGrowth\": \"The procurement spend Growth calculation applied to an enterprise’s data is dependent on the amount of reports available in the selected period.\",\r\n \"wagrAllEnterprises12Months\": \"Represents Annualised values.\",\r\n \"wagrAllEnterprisesColumn\": \"Represents not Annualised values\",\r\n \"cumulativeNetJobDays\": \"Net Jobs Days: Is the number of additional work created within a day in an organisation\",\r\n \"cumulativeNetJobDaysBreakdown\": \"(Net jobs created x number of days in the month) + cumulative net job days in a period\"\r\n };\r\n return cardDesciptions;\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\nvar app = require(\"app\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n addDiagnosticReportToMaturityIndex: addDiagnosticReportDocument,\r\n createMaturityDataSource: createMaturityDataSource,\r\n buildMaturityHistory: buildMaturityHistory,\r\n getMaturityElement: getMaturityElement,\r\n createDocumentListView: createDocumentListView,\r\n hideEnterpriseFinancialsForCorporatesToggle: hideEnterpriseFinancialsForCorporatesToggle,\r\n getHideEnterpriseFinancialsForCorporatesToggleValue: getHideEnterpriseFinancialsForCorporatesToggleValue,\r\n isEdgeUser: isEdgeUser\r\n};\r\n\r\n//Maturity Index ---------------------------------------------------------------------\r\nfunction createMaturityDataSource(viewmodel, maturityHistory) {\r\n var maturityDataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (e) {\r\n e.success(maturityHistory);\r\n },\r\n update: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n destroy: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n create: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n parameterMap: function (options, operation) {\r\n if (operation !== \"read\" && options.models) {\r\n return { models: kendo.stringify(options.models) };\r\n }\r\n }\r\n },\r\n batch: true,\r\n pageSize: 20,\r\n schema: {\r\n model: {\r\n id: \"Id\",\r\n fields: {\r\n DownloadId: { type: \"number\", validation: { required: false }, nullable: true },\r\n DateTimeStamp: { type: \"date\", validation: { required: true }, nullable: false },\r\n Maturity: { type: \"number\", validation: { required: true }, nullable: false },\r\n File: { type: \"string\", validation: { required: false }, nullable: false },\r\n }\r\n }\r\n }\r\n });\r\n\r\n createKendoGridMaturity(viewmodel, maturityDataSource);\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction getMaturityElement(e) {\r\n var grid = $('#manage-maturity-grid').data(\"kendoGrid\");\r\n var gridRows = grid.tbody.find(\"tr\");\r\n var dataItem = grid.dataItem(gridRows[0]);\r\n return dataItem;\r\n}\r\n//-------------------------------------------------------------------\r\nfunction createKendoGridMaturity(viewmodel, dataSource) {\r\n function grid_dataBound(e) {\r\n var maturityElement = getMaturityElement();\r\n if (maturityElement) {\r\n viewmodel.data.set(\"maturity\", maturityElement.Maturity);\r\n }\r\n else {\r\n viewmodel.data.set(\"maturity\", 0);\r\n viewmodel.set(\"hasMaturityValueChanged\", true);\r\n }\r\n };\r\n if ($('#manage-maturity-grid').data('kendoGrid'))\r\n $('#manage-maturity-grid').data('kendoGrid').destroy();\r\n\r\n $(\"#manage-maturity-grid\").kendoGrid({\r\n dataSource: dataSource,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n toolbar: [\"create\"],\r\n columns: [\r\n {\r\n field: \"DateTimeStamp\",\r\n title: \"Date\",\r\n editor: app.AppEnterprise.createDatePickerEditor,\r\n template: \"#= kendo.toString(kendo.parseDate(DateTimeStamp), 'dd MMM yyyy', 'en-US') #\",\r\n width: 100\r\n }, {\r\n field: \"Maturity\",\r\n title: \"Percentage\",\r\n template: \"#= Maturity #\" + '%',\r\n width: 100\r\n }, {\r\n field: \"FileName\",\r\n title: \"File Name\",\r\n width: 100,\r\n editor: app.AppEnterprise.uploadEditor,\r\n template:\r\n '# if (MaturityIndexDocument != null && MaturityIndexDocument != undefined && MaturityIndexDocument.Name ){ ##: MaturityIndexDocument.Name ## } else { # - #} #'\r\n }, {\r\n command:\r\n [{ name: \"edit\", text: \"Edit\" },\r\n { name: \"destroy\", text: \"Remove\" }],\r\n title: \" \", width: 80\r\n }\r\n ],\r\n editable: { mode: \"inline\", confirmation: true }\r\n });\r\n\r\n var grid = $('#manage-maturity-grid').data(\"kendoGrid\");\r\n grid.bind(\"dataBound\", grid_dataBound);\r\n grid.dataSource.sort({ field: \"DateTimeStamp\", dir: \"desc\" }, { field: \"Id\", dir: \"asc\" });\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction buildMaturityHistory(viewmodel) {\r\n var maturityHistoryArray = [];\r\n\r\n if (viewmodel.get(\"isEditMode\") && viewmodel.get(\"isEditMode\") === true) {\r\n \r\n\r\n //add maturity input (without a document upload) to datasourcelist\r\n if (viewmodel.get(\"hasMaturityValueChanged\") === true && !viewmodel.get(\"lastuploadedMaturityIndexDiagnosticReport\") ) {\r\n var maturity = $(\"#maturity\").val();\r\n viewmodel.set(\"maturity\", maturity);\r\n app.AppEnterpriseAddEditShared.createDocumentListView(viewmodel);\r\n }\r\n\r\n var maturityData = $('#manage-maturity-grid').data(\"kendoGrid\").dataSource.data();\r\n\r\n maturityData.forEach(function (e) {\r\n\r\n var enterpriseMaturityHistory = {\r\n Maturity: e.Maturity,\r\n DateTimeStamp: e.DateTimeStamp.toISOString()\r\n }\r\n\r\n\r\n if (e.MaturityIndexDocument) {\r\n enterpriseMaturityHistory.MaturityIndexDocument = {\r\n File: e.MaturityIndexDocument.File,\r\n DownloadId: e.MaturityIndexDocument.DownloadId\r\n }\r\n }\r\n\r\n maturityHistoryArray.push(enterpriseMaturityHistory);\r\n });\r\n } else {\r\n var enterpriseMaturityHistory = {\r\n Maturity: $(\"#maturity\").val(),\r\n DateTimeStamp: new Date(Date.now()).toISOString(),\r\n MaturityIndexDocument: {\r\n File: viewmodel.get(\"lastuploadedMaturityIndexDiagnosticReport\"),\r\n }\r\n }\r\n\r\n maturityHistoryArray.push(enterpriseMaturityHistory);\r\n }\r\n\r\n return maturityHistoryArray;\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction addDiagnosticReportDocument(viewmodel, downloadRecord) {\r\n $(\"#download-name\").val(\"\");\r\n viewmodel.get(\"uploadedFiles\", []);\r\n downloadRecord.set(\"name\", \"\");\r\n downloadRecord.set(\"type\", \"download\");\r\n\r\n viewmodel.set(\"isdownloadEdit\", false);\r\n\r\n showMaturityIndexDiagnosticReportModal(viewmodel);\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction showMaturityIndexDiagnosticReportModal(viewmodel) {\r\n\r\n var modalOriginalState = $(\"#download-modal\").clone();//before we change the modal, save the original state(html)\r\n viewmodel.set(\"downloadModalOriginalState\", modalOriginalState);\r\n\r\n var documentUpload = $(\"#download-document\").data(\"kendoUpload\");\r\n\r\n if (!documentUpload) {\r\n viewmodel.set(\"uploadedFiles\", []);\r\n $(\"#download-document\").kendoUpload({\r\n select: function (e) {\r\n onSelectFile(e, viewmodel);\r\n },\r\n error: function (e) {\r\n onError(e, viewmodel);\r\n },\r\n success: function (e) {\r\n onSuccess(e, viewmodel);\r\n },\r\n cancel: function (e) {\r\n onCancel(e, viewmodel);\r\n },\r\n localization: {\r\n select: \"SELECT FILE...\"\r\n },\r\n files: viewmodel.get(\"uploadedFiles\"),\r\n multiple: false\r\n });\r\n }\r\n\r\n $('#download-modal').modal('show');\r\n $('#download-modal').on('hidden.bs.modal', function () {\r\n resetDocumentForm(viewmodel);\r\n });\r\n\r\n DiagnosticReportModalSaveClick(viewmodel);\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction onSelectFile(e, viewmodel) {\r\n\r\n var fileSize = e.files[0].size;\r\n var fileType = e.files[0].extension.toLowerCase();\r\n\r\n var raw = e.files[0].rawFile;\r\n\r\n getBase64ForUploadedDocument(raw, viewmodel);\r\n\r\n if (!checkValidUploadFileType(fileType)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n if (!checkValidUploadFileSize(fileSize)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n viewmodel.set(\"downloadSelected\", true);\r\n $(\"#download-document\").closest(\".k-upload\").find(\"span\").text(\"CHANGE FILE...\");\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction getBase64ForUploadedDocument(metaData, viewmodel) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(metaData);\r\n reader.onloadend = function () {\r\n viewmodel.set(\"lastuploadedMaturityIndexDiagnosticReport\", reader.result);\r\n }\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction checkValidUploadFileType(fileType) {\r\n\r\n var validFileTypes = [\".xlsm\", \".xlsx\", \".xlt\"];\r\n\r\n var found = validFileTypes.indexOf(fileType);\r\n if (found > -1) {\r\n return true;\r\n\r\n } else {\r\n var types = \"\";\r\n validFileTypes.forEach(function (value, index) {\r\n types += value + \"
    \";\r\n });\r\n\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File type is not surported. Below is a list of valid types:
    \" + types\r\n };\r\n app.AppNotify.showWarning(invalid);\r\n return false;\r\n }\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction checkValidUploadFileSize(fileSize) {\r\n\r\n var mbLimit = 32;\r\n if (fileSize > mbLimit * 1000000) {\r\n var invalid = {\r\n title: \"Oops!\",\r\n message: \"File size should be less than \" + mbLimit + \"MB\"\r\n };\r\n app.AppNotify.showError(invalid);\r\n return false;\r\n\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction onError(e) {\r\n\r\n var error = e.XMLHttpRequest.responseText;\r\n\r\n if (e.operation === \"upload\") {\r\n $('#download-modal').modal('hide');\r\n var invalid = {\r\n title: \"Sorry!\",\r\n message: error\r\n };\r\n app.AppNotify.showError(invalid);\r\n }\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction onCancel() {\r\n $('#download-modal').modal('hide');\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction resetDocumentForm(viewmodel) {\r\n\r\n viewmodel.set(\"downloadSelected\", false);\r\n viewmodel.set(\"isdownloadEdit\", false);\r\n viewmodel.set(\"uploadedFiles\", []);\r\n\r\n $(\".k-upload-status\").remove();\r\n $(\".k-upload.k-header\").addClass(\"k-upload-empty\");\r\n $(\".k-upload-button\").removeClass(\"k-state-focused\");\r\n $(\"#download-document\").data(\"kendoUpload\").destroy();\r\n\r\n var modalOriginalState = viewmodel.get(\"downloadModalOriginalState\");\r\n $(\"#download-modal\").replaceWith(modalOriginalState);\r\n viewmodel.set(\"downloadModalOriginalState\", \"\");\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction DiagnosticReportModalSaveClick(viewmodel) {\r\n $(\".uploaddownload\").on(\"click\", function (e) {\r\n createDocumentListView(viewmodel);\r\n viewmodel.set(\"hasdocumentUploadSaveClicked\", true);\r\n });\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction createDocumentListView(viewmodel) {\r\n var dataSource = $('#manage-maturity-grid').data(\"kendoGrid\").dataSource;\r\n dataSource.fetch();\r\n\r\n var date = new Date(Date.now());\r\n\r\n var maturityDocument = {};\r\n if (viewmodel.get(\"lastuploadedMaturityIndexDiagnosticReport\")) {\r\n maturityDocument = { File: viewmodel.get(\"lastuploadedMaturityIndexDiagnosticReport\") };\r\n }\r\n\r\n dataSource.pushUpdate({ DateTimeStamp: date, Maturity: viewmodel.get(\"maturity\"), MaturityIndexDocument: maturityDocument });\r\n var success = {\r\n title: \"Success\",\r\n message: \"Report added!\"\r\n };\r\n app.AppNotify.showSuccess(success);\r\n $('#download-modal').modal('hide');\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction hideEnterpriseFinancialsForCorporatesToggle() {\r\n\r\n $('#hideEnterpriseFinancialsForCorporates').checkboxpicker({\r\n html: true,\r\n offLabel: 'NO',\r\n onLabel: 'YES'\r\n });\r\n\r\n $('#solvingRealWorldProblems').checkboxpicker({\r\n html: true,\r\n offLabel: 'NO',\r\n onLabel: 'YES'\r\n });\r\n\r\n $('#operateInFastGrowingMarket').checkboxpicker({\r\n html: true,\r\n offLabel: 'NO',\r\n onLabel: 'YES'\r\n });\r\n\r\n $('#smeManagementTeamScaleUp').checkboxpicker({\r\n html: true,\r\n offLabel: 'NO',\r\n onLabel: 'YES'\r\n });\r\n\r\n if ($('#bbeeReminderCheck')) {\r\n $('#bbeeReminderCheck').checkboxpicker({\r\n html: true,\r\n offLabel: 'NO',\r\n onLabel: 'YES'\r\n });\r\n }\r\n \r\n //$('#hideEnterpriseFinancialsForCorporates').on('change', function () {\r\n // var hideEnterpriseFinancialsForCorporates = $(\"#hideEnterpriseFinancialsForCorporates\").is(':checked');\r\n // viewmodel.HideEnterpriseFinancialsForCorporates = hideEnterpriseFinancialsForCorporates;\r\n\r\n //});\r\n\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction getHideEnterpriseFinancialsForCorporatesToggleValue(viewmodel) {\r\n\r\n var hideEnterpriseFinancialsForCorporates = $(\"#hideEnterpriseFinancialsForCorporates\").is(':checked');\r\n viewmodel.HideEnterpriseFinancialsForCorporates = hideEnterpriseFinancialsForCorporates;\r\n}\r\n\r\n//-------------------------------------------------------------------\r\nfunction isEdgeUser(viewmodel) {\r\n\r\n var loggedInUserRole = app.AppUser.userCurrent.getCurrentUser().userRole;\r\n if (loggedInUserRole === \"Administrator\" || loggedInUserRole === \"Manager\" || loggedInUserRole === \"Super Admin\") {\r\n viewmodel.set(\"isEdgeUser\", true);\r\n }\r\n}\r\n\r\n\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n uploadEnterpriseFile: uploadEnterpriseFile\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// Function: getAllDataLists ------------------------------------------------------------------------\r\nfunction uploadEnterpriseFile(file) {\r\n\r\n var def = $.Deferred();\r\n console.log(\"filedump\",file);\r\n\r\n var request = {\r\n url: \"api/enterprise/upload\",\r\n data: file\r\n };\r\n\r\n const headers= {\r\n 'Content-Type': 'multipart/form-data',\r\n }\r\n\r\n apiHandler.postForm(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar nav = require(\"app_utilities/default/app-nav\");\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\nvar app = require(\"app\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n add: add,\r\n update: update,\r\n deleteEnterprise: deleteEnterprise,\r\n removeEnterprise: removeEnterprise,\r\n restoreEnterprise: restoreEnterprise,\r\n getEnterpriseById: getEnterpriseById,\r\n addMentor: addMentor,\r\n addEdgeMentor: addEdgeMentor,\r\n removeMentor: removeMentor,\r\n removeEdgeMentor: removeEdgeMentor,\r\n makeLeadMentor: makeLeadMentor,\r\n setPrimaryUser: setPrimaryUser,\r\n removePrimaryUser: removePrimaryUser,\r\n addDownload: addDownload,\r\n updateDownload: updateDownload,\r\n deleteDownload: deleteDownload,\r\n getDownloadBase64: getDownloadBase64,\r\n getEnterpriseByUser: getEnterpriseByUser,\r\n getEnterpriseActiveUsers: getEnterpriseActiveUsers,\r\n getEnterpriseInActiveUsers: getEnterpriseInActiveUsers,\r\n getActiveEnterprises: getActiveEnterprises,\r\n getInActiveEnterprises: getInActiveEnterprises,\r\n getNoneAssignedMentorsByEnterprise: getNoneAssignedMentorsByEnterprise,\r\n getNoneAssignedEdgeMentorsByEnterprise: getNoneAssignedEdgeMentorsByEnterprise,\r\n createMonthlyPerformance: createMonthlyPerformance,\r\n updateMonthlyPerformance: updateMonthlyPerformance,\r\n updatePerformanceReportSuperAdmin: updatePerformanceReportSuperAdmin,\r\n getPerformanceDataById: getPerformanceDataById,\r\n getMonthlyMentorRating: getMonthlyMentorRating,\r\n updateMonthlyMentorRating: updateMonthlyMentorRating,\r\n updateMonthlyContracts: updateMonthlyContracts,\r\n getReports: getReports,\r\n getReportsSuperEdit: getReportsSuperEdit,\r\n deletePerformanceById: deletePerformanceById,\r\n getReportFullDetails: getReportFullDetails,\r\n approvePerformanceReport: approvePerformanceReport,\r\n buildCapitalCommittedDeployedHistoriesObjectToPostFromDataSource: buildCapitalCommittedDeployedHistoriesObjectToPostFromDataSource,\r\n createEnterpriseCapitalCommittedDeployedDataSourceAndGrid: createEnterpriseCapitalCommittedDeployedDataSourceAndGrid,\r\n setStylingAddRecordToGridButton: setStylingAddRecordToGridButton,\r\n createFundListDropDown: createFundListDropDown,\r\n createDatePickerEditor: createDatePickerEditor,\r\n uploadEditor: uploadEditor,\r\n getDatePickerValidMonths: getDatePickerValidMonths,\r\n getPerformanceMetrics: getPerformanceMetrics,\r\n getPerformanceChart: getPerformanceChart,\r\n getNotifications: getNotifications,\r\n\r\n getAllIndustryProducts: getAllIndustryProducts,\r\n getAllPredefinedProducts: getAllPredefinedProducts,\r\n addProduct: addProduct,\r\n updateProduct: updateProduct,\r\n getAllIndustryProducts: getAllIndustryProducts,\r\n getEnterpriseSelectedProducts: getEnterpriseSelectedProducts,\r\n getWeightedGrowthAverageReport: getWeightedGrowthAverageReport,\r\n closeEnterprise: closeEnterprise\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\nfunction getWeightedGrowthAverageReport(fromDate, toDate, growthRatePecentageFilter, fundIds, programmeIds) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (!fromDate || !toDate || growthRatePecentageFilter === null) {\r\n def.reject(\"Bad request\");\r\n }\r\n\r\n var url = \"api/report/getWeightedGrowthAverageReport?fromDate=\" + fromDate + \"&toDate=\" + toDate + \"&growthRatePecentageFilter=\" + growthRatePecentageFilter + \"&fundIds=\" + fundIds + \"&programmeIds=\" + programmeIds;\r\n\r\n var request = {\r\n url: url\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n// Function: add ------------------------------------------------------------------------------------\r\nfunction add(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/create\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: update ---------------------------------------------------------------------------------\r\nfunction update(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/update\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addMentor ------------------------------------------------------------------------------\r\nfunction addMentor(enterpriseId, mentorId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n EnterpriseId: enterpriseId,\r\n MentorId: mentorId\r\n }\r\n\r\n var request = {\r\n url: \"api/enterprise/addMentor\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addEdgeMentor ------------------------------------------------------------------------------\r\nfunction addEdgeMentor(enterpriseId, mentorId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n EnterpriseId: enterpriseId,\r\n EdgeUserId: mentorId\r\n }\r\n\r\n var request = {\r\n url: \"api/enterprise/addEdgeMentor\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeMentor ---------------------------------------------------------------------------\r\nfunction removeMentor(enterpriseId, mentorId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n EnterpriseId: enterpriseId,\r\n MentorId: mentorId\r\n }\r\n\r\n var request = {\r\n url: \"api/enterprise/removeMentor\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeEdgeMentor ---------------------------------------------------------------------------\r\nfunction removeEdgeMentor(enterpriseId, mentorId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n EnterpriseId: enterpriseId,\r\n EdgeUserId: mentorId\r\n }\r\n\r\n var request = {\r\n url: \"api/enterprise/removeEdgeMentor\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: makeLeadMentor -------------------------------------------------------------------------\r\nfunction makeLeadMentor(enterpriseId, userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n EnterpriseId: enterpriseId,\r\n UserId: userId\r\n }\r\n\r\n var request = {\r\n url: \"api/enterprise/makeLeadMentor\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setPrimaryUser -------------------------------------------------------------------------\r\nfunction setPrimaryUser(enterpriseId, userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n EnterpriseId: enterpriseId,\r\n UserId: userId\r\n }\r\n\r\n var request = {\r\n url: \"api/enterprise/setPrimaryUser\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removePrimaryUser ----------------------------------------------------------------------\r\nfunction removePrimaryUser(enterpriseId, userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n EnterpriseId: enterpriseId,\r\n UserId: userId\r\n }\r\n\r\n var request = {\r\n url: \"api/enterprise/removePrimaryUser\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addDownload ----------------------------------------------------------------------------\r\nfunction addDownload(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n data.DownloadId = 0;\r\n \r\n var request = {\r\n url: \"api/enterprise/AddDownload\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: updateDownload -------------------------------------------------------------------------\r\nfunction updateDownload(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/UpdateDownload\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteDownload -------------------------------------------------------------------------\r\nfunction deleteDownload(downloadId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/deleteDownload?downloadId=\" + downloadId,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getDownloadBase64 ----------------------------------------------------------------------\r\nfunction getDownloadBase64(downloadId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetDownloadBase64?downloadId=\" + downloadId,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data.data);\r\n },\r\n function (error) {\r\n def.reject(error.message.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeEnterprise -----------------------------------------------------------------------\r\nfunction removeEnterprise(enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/RemoveEnterprise?enterpriseId=\" + enterpriseId,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteEnterprise -----------------------------------------------------------------------\r\nfunction deleteEnterprise(enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/delete?enterpriseId=\" + enterpriseId,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: restoreEnterprise ----------------------------------------------------------------------\r\nfunction restoreEnterprise(enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/restore?enterpriseId=\" + enterpriseId,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getEnterpriseById ----------------------------------------------------------------------\r\nfunction getEnterpriseById(enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetEnterpriseById?enterpriseId=\" + enterpriseId\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getEnterpriseByUser --------------------------------------------------------------------\r\nfunction getEnterpriseByUser(userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetEnterpriseByUser?enterpriseUser=\" + userId\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getEnterpriseActiveUsers ---------------------------------------------------------------\r\nfunction getEnterpriseActiveUsers(id, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetEnterpriseActiveUsers?id=\" + id + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getEnterpriseInActiveUsers -------------------------------------------------------------\r\nfunction getEnterpriseInActiveUsers(id, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetEnterpriseInActiveUsers?id=\" + id + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveEnterprises -------------------------------------------------------------------\r\nfunction getActiveEnterprises(page, pageSize, search, field,sortField, sortDir, industryId, sizeId, provinceId) {\r\n\r\n var def = $.Deferred();\r\n const baseUrl = \"api/enterprise/GetActiveEnterprises\";\r\n \r\n const query = `page=${page}&pageSize=${pageSize}&search=${search}&field=${field}&sortField=${sortField}&sortDir=${sortDir}&industryId=${industryId}&sizeId=${sizeId}&provinceId=${provinceId}`;\r\n var request = {\r\n url: `${baseUrl}?${query}`\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getInActiveEnterprises -----------------------------------------------------------------\r\nfunction getInActiveEnterprises(page, pageSize, search, industryId, sizeId, provinceId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetInActiveEnterprises?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&industryId=\" + industryId + \"&sizeId=\" + sizeId + \"&provinceId=\" + provinceId\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getNoneAssignedMentorsByEnterprise -----------------------------------------------------\r\nfunction getNoneAssignedMentorsByEnterprise(enterpriseId, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetNoneAssignedMentors?enterpriseId=\" + enterpriseId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getNoneAssignedEdgeMentorsByEnterprise -------------------------------------------------\r\nfunction getNoneAssignedEdgeMentorsByEnterprise(enterpriseId, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetNoneAssignedEdgeMentors?enterpriseId=\" + enterpriseId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: createMonthlyPerformance ---------------------------------------------------------------\r\nfunction createMonthlyPerformance(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/createperformancereport\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: updateMonthlyPerformance ---------------------------------------------------------------\r\nfunction updateMonthlyPerformance(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/updateperformancereport\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: UpdatePerformanceReportSuperAdmin ---------------------------------------------------------------\r\nfunction updatePerformanceReportSuperAdmin(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/UpdatePerformanceReportSuperAdmin\",\r\n data: { reports:data }\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getMonthlyMentorRating --------------------------------------------------------------------\r\nfunction getMonthlyMentorRating(performanceId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetMentorPerformanceRating?id=\" + performanceId\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: updateMonthlyMentorRating ---------------------------------------------------------------\r\nfunction updateMonthlyMentorRating(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/UpdateMentorPerformanceRating\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n// Function: updateMonthlyContracts ---------------------------------------------------------------\r\nfunction updateMonthlyContracts(data) {\r\n \r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/enterprise/UpdatePerformanceMonthContracts\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getPerformanceDataById -----------------------------------------------------------------\r\nfunction getPerformanceDataById(id) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/getperformancedatabyid?id=\" + id,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: deletePerformanceById ------------------------------------------------------------------\r\nfunction deletePerformanceById(id) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/DeleteEnterpriseReport?id=\" + id\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getReports -----------------------------------------------------------------------------\r\nfunction getReports(enterpriseId) {\r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/enterprise/GetReports?enterpriseId=\" + enterpriseId\r\n }\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getReportsSuperEdit -----------------------------------------------------------------------------\r\nfunction getReportsSuperEdit(enterpriseId) {\r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/enterprise/GetReportsSuperEdit?enterpriseId=\" + enterpriseId\r\n }\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getReportFullDetails -------------------------------------------------------------------\r\nfunction getReportFullDetails(enterpriseId, month) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetReportFullDetails?enterpriseId=\" + enterpriseId + \"&month=\" + month\r\n }\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: setStylingAddRecordToGridButton ------------------------------------------------------------------------\r\nfunction setStylingAddRecordToGridButton() {\r\n $(\".k-icon.k-add\").removeClass(\"k-icon\");\r\n $(\".k-button.k-button-icontext.k-grid-add\").addClass(\"btn btn-primary\");\r\n}\r\n\r\n\r\n// Function: showMissingMiddleFundingReasonSelectModal -------------------------------------------------------------------\r\nfunction showMissingMiddleFundingReasonSelectModal(viewmodel, selectedvalues) {\r\n var def = new $.Deferred();\r\n var showIn = \"assign-missing-middle-funding-reason-modal-container\";\r\n app.AppDialog.showAssignMissingMiddleFundingReasons(showIn, []).then(\r\n\r\n function (result) {\r\n def.resolve(result);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: createEnterpriseCapitalCommittedDeployedDataSourceAndGrid ------------------------------------------------------------------------\r\nfunction createEnterpriseCapitalCommittedDeployedDataSourceAndGrid(viewmodel, gridId, gridTitle, data) {\r\n\r\n var fundListFormatted = [];\r\n data.forEach(function (v, i) {\r\n var reasons = [];\r\n var hasMissingMiddleFunding = false;\r\n if (v.EnterpriseCapitalMissingMiddleFundingReasons) {\r\n reasons = v.EnterpriseCapitalMissingMiddleFundingReasons;\r\n };\r\n if (v.HasMissingMiddleFunding) {\r\n hasMissingMiddleFunding = v.HasMissingMiddleFunding;\r\n };\r\n\r\n\r\n fundListFormatted.push({\r\n Id: v.Id,\r\n FundId: v.FundId,\r\n Amount: v.Amount,\r\n Name: v.Name,\r\n HasMissingMiddleFunding: hasMissingMiddleFunding,\r\n EnterpriseCapitalMissingMiddleFundingReasons: reasons,\r\n TimeStamp: v.TimeStamp\r\n });\r\n });\r\n\r\n \r\n $(\"body\").off(\"click\", \"#\" + gridId + \" tbody tr .k-valid\");\r\n\r\n $('body').on(\"click\", \"#\" + gridId + \" tbody tr .k-valid\", function (e) {\r\n var checkboxElement = $(this);\r\n if (checkboxElement.is(\":checked\")) {\r\n var element = e.target || e.srcElement;\r\n var selectedRowData = $('#' + gridId).data(\"kendoGrid\").dataItem($(element).closest(\"tr\"));\r\n var missingReasons = selectedRowData.EnterpriseCapitalMissingMiddleFundingReasons;\r\n var selectedValues = [];\r\n if (missingReasons) {\r\n selectedValues = $.grep(missingReasons, function (a) {\r\n return a.MissingMiddleFundingReasonId;\r\n });\r\n }\r\n\r\n showMissingMiddleFundingReasonSelectModal(viewmodel, selectedValues).then(\r\n function (result) {\r\n var listReasons = [];\r\n result.forEach(function (entry) {\r\n var reason = {};\r\n reason['MissingMiddleFundingReasonId'] = entry;\r\n listReasons.push(reason);\r\n });\r\n\r\n selectedRowData.EnterpriseCapitalMissingMiddleFundingReasons = listReasons;\r\n });;\r\n }\r\n });\r\n\r\n var dataSource = new kendo.data.DataSource({\r\n transport: {\r\n read: function (e) {\r\n e.success(fundListFormatted);\r\n },\r\n update: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n destroy: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n create: function (e) {\r\n e.success(e.data.models[0])\r\n },\r\n parameterMap: function (options, operation) {\r\n\r\n if (operation !== \"read\" && options.models) {\r\n return { models: kendo.stringify(options.models) };\r\n }\r\n }\r\n },\r\n batch: true,\r\n schema: {\r\n model: {\r\n id: \"Id\",\r\n fields: {\r\n Id: { type: \"number\" },\r\n Name: { type: \"string\" },\r\n TimeStamp: { type: \"date\", validation: { required: true }, nullable: false },\r\n Amount: { type: \"number\", validation: { required: true }, nullable: false },\r\n FundId: { type: \"number\" },\r\n HasMissingMiddleFunding: { type: \"boolean\" },\r\n EnterpriseCapitalMissingMiddleFundingReasons: [\r\n { Id: { editable: true } }\r\n ]\r\n }\r\n }\r\n }\r\n });\r\n\r\n if ($('#' + gridId).data('kendoGrid'))\r\n $('#' + gridId).data('kendoGrid').destroy();\r\n\r\n $(\"#\" + gridId).kendoGrid({\r\n dataSource: dataSource,\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n batch: true,\r\n toolbar: [{\r\n name: \"create\",\r\n text: \"Add \" + gridTitle\r\n }],\r\n columns: [\r\n {\r\n field: \"Id\", title: \"Id\",\r\n template: \"#= Id #\",\r\n hidden: true,\r\n width: 100\r\n },\r\n {\r\n field: \"FundId\", title: \"Fund\",\r\n template: \" #= Name # \",\r\n editor: createFundListDropDown,\r\n width: 100\r\n },\r\n { field: \"Name\", title: \"FundName\", hidden: true },\r\n {\r\n field: \"Amount\",\r\n title: \"Amount\",\r\n template: 'R' + \"#= Amount#\",\r\n width: 70\r\n }, {\r\n field: \"TimeStamp\",\r\n title: \"Date\",\r\n editor: createDatePickerEditor,\r\n template: \"#= kendo.toString(kendo.parseDate(TimeStamp), 'dd MMM yyyy', 'en-US') #\",\r\n width: 70\r\n }, {\r\n field: \"HasMissingMiddleFunding\",\r\n title: \"Missing Middle Funding\",\r\n width: 80,\r\n hidden: gridId == \"capitaldeployed-grid\",\r\n template: \"#= HasMissingMiddleFunding ? 'Yes' : 'No' #\"\r\n }, {\r\n field: \"EnterpriseCapitalMissingMiddleFundingReasons\",\r\n width: 80,\r\n hidden: true,\r\n },\r\n {\r\n command:\r\n [{ name: \"edit\", text: \"Edit\" },\r\n { name: \"destroy\", text: \"Remove\" }],\r\n title: \" \", width: 100\r\n }\r\n ],\r\n editable: { mode: \"inline\", confirmation: true }\r\n });\r\n\r\n var grid = $('#' + gridId).data(\"kendoGrid\");\r\n grid.dataSource.sort({ field: \"TimeStamp\", dir: \"desc\" });\r\n\r\n\r\n}\r\n\r\n\r\n// Function: getFundListTodDisplayDropDownlist -----------------------------------------------------------------------------\r\nfunction getFundListTodDisplayDropDownlist(container, options) {\r\n var funds = [];\r\n var nameOfGrid = $(container).closest('.k-grid').attr('id');\r\n if (nameOfGrid == \"capitaldeployed-grid\") {\r\n //add rule that capitalDeployed can only have funds where there was funds added for capital commited\r\n var capitalCommitedData = $(\"#capitalcommitted-grid\").data(\"kendoGrid\").dataSource.data();\r\n var capitalCommitedFunds = [];\r\n capitalCommitedData.forEach(function (v, i) {\r\n var fund = {\r\n \"FundId\": v.FundId,\r\n \"Name\": v.Name\r\n };\r\n capitalCommitedFunds.push(fund);\r\n });\r\n funds = capitalCommitedFunds;\r\n } else {\r\n funds = app.AppFund.getFundsLocal();\r\n }\r\n return funds;\r\n};\r\n\r\n// Function: createFundListDropDown -----------------------------------------------------------------------------\r\nfunction createFundListDropDown(container, options) {\r\n\r\n var dataSource = new kendo.data.DataSource({\r\n data: getFundListTodDisplayDropDownlist(container, options)\r\n });\r\n\r\n $('')\r\n .appendTo(container)\r\n .kendoDropDownList({\r\n dataTextField: \"Name\",\r\n dataValueField: \"FundId\",\r\n dataSource: dataSource,\r\n change: function (e) {\r\n var dataItem = e.sender.dataItem();\r\n options.model.set(\"Name\", dataItem.Name);\r\n options.model.set(\"FundId\", dataItem.FundId);\r\n }\r\n });\r\n}\r\n\r\n// Function: buildCapitalCommittedDeployedHistoriesObjectToPostFromDataSource -------------------------\r\nfunction buildCapitalCommittedDeployedHistoriesObjectToPostFromDataSource(gridId) {\r\n var data = $('#' + gridId).data(\"kendoGrid\").dataSource.data();\r\n var objReturn = [];\r\n \r\n data.forEach(function (v, i) {\r\n var reasons = [];\r\n if (gridId !== \"capitaldeployed-grid\" && v.EnterpriseCapitalMissingMiddleFundingReasons) {\r\n var listReasons = [];\r\n v.EnterpriseCapitalMissingMiddleFundingReasons.forEach(function (entry) {\r\n var reason = {};\r\n reason['MissingMiddleFundingReasonId'] = entry.MissingMiddleFundingReasonId;\r\n reason['EnterpriseFundCapitalCommittedHistoryId'] = v.Id;\r\n listReasons.push(reason);\r\n });\r\n\r\n reasons = listReasons; \r\n }\r\n objReturn.push({\r\n Id: v.Id,\r\n FundId: v.FundId,\r\n Amount: v.Amount,\r\n TimeStamp: v.TimeStamp,\r\n HasMissingMiddleFunding: v.HasMissingMiddleFunding,\r\n EnterpriseCapitalMissingMiddleFundingReasons: reasons\r\n });\r\n });\r\n return objReturn;\r\n};\r\n\r\n// Function: createDatePickerEditor -----------------------------------------------------------------\r\nfunction createDatePickerEditor(container, options) {\r\n\r\n $('')\r\n .appendTo(container)\r\n .kendoDatePicker({\r\n autoBind: false,\r\n value: new Date(),\r\n format: \"dd/MM/yyyy\",\r\n animation: {\r\n close: {\r\n effects: \"fadeOut zoom:out\",\r\n duration: 300\r\n },\r\n open: {\r\n effects: \"fadeIn zoom:in\",\r\n duration: 300\r\n }\r\n }\r\n });\r\n $('').appendTo(container);\r\n}\r\n//function-idk\r\nfunction addDiagnosticReportToMaturityIndex(viewmodel, e) {\r\n \r\n e.preventDefault();\r\n\r\n var maturity = $(\"#maturity\").val();\r\n viewmodel.set(\"maturity\", maturity);\r\n\r\n app.AppEnterpriseAddEditShared.addDiagnosticReportToMaturityIndex(viewmodel, viewmodel.downloadRecord);\r\n}\r\n// Function: uploadEditor -----------------------------------------------------------------\r\nfunction uploadEditor(container) {\r\n var viewmodel = $(\"#enterpriseName\").get(0).kendoBindingTarget.source; //find viewmodel somehow\r\n $('').appendTo(container);\r\n $(\".btn-upload-diagnostic\").off(\"click\");\r\n $(\".btn-upload-diagnostic\").on(\"click\", function (e){\r\n addDiagnosticReportToMaturityIndex(viewmodel, e);\r\n e.preventDefault();\r\n });\r\n}\r\n\r\n// Function: approvePerformanceReport -------------------------------------------------------------------\r\nfunction approvePerformanceReport(performanceId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/ApprovePerformanceReport?performanceId=\" + performanceId,\r\n }\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getEnterpriseDatePickerValidMonths ---------------------------------------------------\r\nfunction getDatePickerValidMonths(enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetDatePickerValidMonths?enterpriseId=\" + enterpriseId\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getEnterprisePerformanceMetrics --------------------------------------------------------\r\nfunction getPerformanceMetrics(enterpriseId, dateFrom, dateTo, isCorporate) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetPerformanceMetrics?enterpriseId=\" + enterpriseId + \"&from=\" + dateFrom + \"&to=\" + dateTo + \"&isCorporate=\" + isCorporate\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getEnterprisePerformanceChart ----------------------------------------------------------\r\nfunction getPerformanceChart(enterpriseId, dateFrom, dateTo, isCorporate) {\r\n \r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetPerformanceChart?enterpriseId=\" + enterpriseId + \"&from=\" + dateFrom + \"&to=\" + dateTo + \"&isCorporate=\" + isCorporate\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getEnterpriseNotifications -------------------------------------------------------------\r\nfunction getNotifications() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/GetNotifications\"\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: update ---------------------------------------------------------------------------------\r\nfunction getAllIndustryProducts(industryId, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Product/GetAllProductsByIndustryId?industryId=\" + industryId + \"&enterpriseId=\" + enterpriseId,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n //console.log(result.data);\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getAllProducts ---------------------------------------------------------------------------------\r\nfunction getAllPredefinedProducts() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Product/getAllPredefinedProducts\",\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n //console.log(result.data);\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: updateProduct ---------------------------------------------------------------------------------\r\nfunction updateProduct(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Product/updateProduct\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addProduct ---------------------------------------------------------------------------------\r\nfunction addProduct(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Product/createProduct\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction getEnterpriseSelectedProducts(enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Product/GetAllProductsByEnterpriseId?enterpriseId=\" + enterpriseId,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction closeEnterprise(enterpriseId) {\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/enterprise/CloseEnterprise?enterpriseId=\" + enterpriseId,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n return def.promise();\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n EntitySearch: EntitySearch\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: getActiveEnterprises ---------------------------------\r\nfunction EntitySearch() {\r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/Search/GetOverviewHyperLinks\"\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar nav = require(\"app_utilities/default/app-nav\");\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n getPhases: getPhases,\r\n add: add,\r\n update: update,\r\n getFundById: getFundById,\r\n getFunds: getFunds,\r\n setFundsLocal: setFundsLocal,\r\n getFundsLocal: getFundsLocal,\r\n deleteFund: deleteFund,\r\n restoreFund: restoreFund,\r\n addProjectManager: addProjectManager,\r\n removeProjectManager: removeProjectManager,\r\n makeLeadProjectManager: makeLeadProjectManager,\r\n addEnterprise: addEnterprise,\r\n removeEnterprise: removeEnterprise,\r\n getActiveEnterprisesByFund: getActiveEnterprisesByFund,\r\n getNoneAssignedEnterprisesByFund: getNoneAssignedEnterprisesByFund,\r\n getNoneAssignedProjectManagersByFund: getNoneAssignedProjectManagersByFund,\r\n addCorporate: addCorporate,\r\n removeCorporate: removeCorporate,\r\n getNoneAssignedCorporaresByFund: getNoneAssignedCorporaresByFund\r\n\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: setFundsLocal ----------------------------------------------------------------------------\r\nfunction setFundsLocal(data) {\r\n window.fundListLocal = data;\r\n}\r\n\r\n// Function: getFundsLocal ----------------------------------------------------------------------------\r\nfunction getFundsLocal() {\r\n return window.fundListLocal;\r\n}\r\n\r\n// Function: getPhases ----------------------------------------------------------------------------\r\nfunction getPhases() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/GetPhases\"\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: add ------------------------------------------------------------------------------------\r\nfunction add(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/create\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: update ---------------------------------------------------------------------------------\r\nfunction update(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/update\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteFund -----------------------------------------------------------------------------\r\nfunction deleteFund(fundId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/delete?fundId=\" + fundId\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: restoreFund ----------------------------------------------------------------------------\r\nfunction restoreFund(fundId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/restore?fundId=\" + fundId\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addProjectManager ----------------------------------------------------------------------\r\nfunction addProjectManager(fundId, projectMangerId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n FundId: fundId,\r\n ProjectMangerId: projectMangerId\r\n }\r\n\r\n var request = {\r\n url: \"api/fund/addProjectManager\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addEnterprise --------------------------------------------------------------------------\r\nfunction addEnterprise(fundId, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n FundId: fundId,\r\n EnterpriseId: enterpriseId\r\n }\r\n\r\n var request = {\r\n url: \"api/fund/addEnterprise\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeEnterprise -----------------------------------------------------------------------\r\nfunction removeEnterprise(fundId, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n FundId: fundId,\r\n EnterpriseId: enterpriseId\r\n }\r\n\r\n var request = {\r\n url: \"api/fund/removeEnterprise\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeProjectManager -------------------------------------------------------------------\r\nfunction removeProjectManager(fundId, managerId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n FundId: fundId,\r\n ProjectMangerId: managerId\r\n }\r\n\r\n var request = {\r\n url: \"api/fund/removeProjectManager\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: makeLeadProjectManager -----------------------------------------------------------------\r\nfunction makeLeadProjectManager(fundId, managerId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n FundId: fundId,\r\n ProjectMangerId: managerId\r\n }\r\n\r\n var request = {\r\n url: \"api/fund/MakeLeadProjectManager\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getFunds -----------------------------------------------------------------------\r\nfunction getFunds(page, pageSize, search, startDate, endDate, status, phase, userRole) {\r\n\r\n var def = $.Deferred();\r\n\r\n var url;\r\n\r\n if (userRole === \"Corporate\") {\r\n url = \"api/corporate/getFunds?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&startDate=\" + startDate + \"&endDate=\" + endDate + \"&status=\" + status + \"&phase=\" + phase\r\n\r\n } else {\r\n url = \"api/fund/getFunds?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&startDate=\" + startDate + \"&endDate=\" + endDate + \"&status=\" + status + \"&phase=\" + phase\r\n }\r\n\r\n var request = {\r\n url: url\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getFundById ----------------------------------------------------------------------------\r\nfunction getFundById(fundId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/getFundById?fundId=\" + fundId\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveEnterprisesByFund -------------------------------------------------------------\r\nfunction getActiveEnterprisesByFund(fundId, page, pageSize, search, industryId, sizeId, provinceId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/getActiveEnterprisesByFund?fundId=\" + fundId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&industryId=\" + industryId + \"&sizeId=\" + sizeId + \"&provinceId=\" + provinceId,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveEnterprisesByFund -------------------------------------------------------------\r\nfunction getNoneAssignedEnterprisesByFund(fundId, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/GetNoneAssignedEnterprises?fundId=\" + fundId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getNoneAssignedProjectManagersByFund ---------------------------------------------------\r\nfunction getNoneAssignedProjectManagersByFund(fundId, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/GetNoneAssignedProjectManagers?fundId=\" + fundId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addCorporate ----------------------------------------------------------------------\r\nfunction addCorporate(fundId, corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n FundId: fundId,\r\n CorporateId: corporateId\r\n }\r\n\r\n var request = {\r\n url: \"api/fund/addCorporate\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeCorporate ----------------------------------------------------------------------\r\nfunction removeCorporate(fundId, corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n FundId: fundId,\r\n CorporateId: corporateId\r\n }\r\n\r\n var request = {\r\n url: \"api/fund/removeCorporate\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getNoneAssignedCorporaresByFund -------------------------------------------------------------\r\nfunction getNoneAssignedCorporaresByFund(fundId, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/GetNoneAssignedCorporates?fundId=\" + fundId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\nvar AppGridVariables = {\r\n printGraphWidth: 950,\r\n activeMetrics: []\r\n};\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n adjustDropdowns: adjustDropdowns,\r\n addCustomKendoDownloadCsvButton: addCustomKendoDownloadCsvButton,\r\n addCustomKendoDownloadPdfButton: addCustomKendoDownloadPdfButton,\r\n getGridColumnWidthSize: getGridColumnWidthSize,\r\n buildExportGridFundProgramme: buildExportGridFundProgramme,\r\n buildComparisonExportGridFundProgramme: buildComparisonExportGridFundProgramme,\r\n buildExportGridEnterprise: buildExportGridEnterprise,\r\n buildExportGridEdgeDashboard: buildExportGridEdgeDashboard,\r\n buildExportGridMentorDashboard: buildExportGridMentorDashboard,\r\n buildExportGridCorporateDashboard: buildExportGridCorporateDashboard,\r\n calculateMaxDate: calculateMaxDate,\r\n setupGridFilterDropdownListInputClickToShowAllItems: setupGridFilterDropdownListInputClickToShowAllItems\r\n\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n//GETS\r\n\r\n//MAIN\r\n\r\n//Function: addCustomKendoDownloadCsvButton(); ----------------------------------------------------------------------\r\nfunction addCustomKendoDownloadCsvButton() {\r\n\r\n //hack download csv button to click kendo excel button which is hidden\r\n $(\".download-csv\").off(\"click\");\r\n $(\".download-csv\").click(function () {\r\n var panelHeading = $('#dashboard-grid-heading');\r\n var excelDownloadButton = panelHeading.next().find(\".k-grid-excel\");\r\n excelDownloadButton.trigger(\"click\");\r\n });\r\n}\r\n\r\n//Function: addCustomKendoDownloadPdfButton\r\nfunction addCustomKendoDownloadPdfButton() {\r\n\r\n //hack download csv button to click kendo excel button which is hidden\r\n $(\".download-pdf\").off(\"click\");\r\n $(\".download-pdf\").click(function () {\r\n // Attach event listeners for print events\r\n window.onbeforeprint = resizeChartForPrint;\r\n window.onafterprint = resetChartAfterPrint;\r\n\r\n window.print(); // Trigger the browser's print dialog\r\n });\r\n}\r\n\r\n\r\nfunction resizeChartForPrint() {\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n activeMetrics = [];\r\n var ids = $('.metric-clean-chart-alt.active').map(function () {\r\n return this.id;\r\n }).get();\r\n\r\n activeMetrics = ids;\r\n AppGridVariables.activeMetrics = activeMetrics;\r\n \r\n clickActiveMetrics();\r\n // Set new dimensions for print (adjust width/height as needed)\r\n chart.setOptions({\r\n chartArea: {\r\n width: AppGridVariables.printGraphWidth // Example width for print\r\n }\r\n });\r\n\r\n clickActiveMetrics();\r\n // Resize the chart to fit the new dimensions\r\n chart.resize();\r\n}\r\n\r\nfunction clickActiveMetrics() {\r\n\r\n var activeMetrics = AppGridVariables.activeMetrics;\r\n if (activeMetrics.length && activeMetrics.length > 0) {\r\n for (var index in activeMetrics) {\r\n $(`#${activeMetrics[index]}`).trigger(\"click\");\r\n }\r\n }\r\n} \r\n\r\nfunction resetChartAfterPrint() {\r\n var chart = $(\"#chart\").data(\"kendoChart\");\r\n var width = $(window).width() - 334;\r\n clickActiveMetrics();\r\n // Reset to original dimensions (if needed)\r\n chart.setOptions({\r\n chartArea: {\r\n width: width\r\n }\r\n });\r\n clickActiveMetrics();\r\n // Resize the chart back to its original size\r\n chart.resize();\r\n}\r\n\r\n// Function: setupGridFilterDropdownListInputClickToShowAllItems -------------------------------------------------------------------\r\nfunction setupGridFilterDropdownListInputClickToShowAllItems() {\r\n\r\n $(\".k-input\").attr(\"autocomplete\", \"chrome-off\");\r\n $(\".k-input\").on(\"click\", function (e) {\r\n\r\n var inputClick = $(this);\r\n if (inputClick.val() == \"\") {\r\n inputClick.val(\"Searching...\").trigger('keydown');\r\n setTimeout(\r\n function () {\r\n inputClick.val(\"\").trigger('keydown');\r\n },\r\n 200);\r\n }\r\n });\r\n}\r\n\r\n//Function: getGridColumnWidthSize(); ----------------------------------------------------------------------\r\nfunction getGridColumnWidthSize(setSize) {\r\n\r\n //set width: small medium large\r\n switch (setSize) {\r\n case \"extraSmall\": {\r\n return 100;\r\n break;\r\n }\r\n case \"small\": {\r\n return 150;\r\n break;\r\n }\r\n case \"medium\": {\r\n return 200;\r\n break;\r\n }\r\n case \"large\": {\r\n return 250;\r\n break;\r\n }\r\n case \"extraLarge\": {\r\n return 300;\r\n break;\r\n }\r\n }\r\n\r\n}\r\n\r\n//Function: adjustDropdowns(); ----------------------------------------------------------------------\r\nfunction adjustDropdowns() {\r\n\r\n $('.dropdown-menu').parent().on('show.bs.dropdown', function () {\r\n $(this).closest('.table-scrollable').css('overflow', 'visible');\r\n\r\n var table = $(this).parents('.k-grid');\r\n var parentTarget = $(table).first().hasClass('k-grid') ? $(table) : $(window);\r\n var parentTop = $(table).first().hasClass('k-grid') ? $(table).offset().top : 0;\r\n var parentLeft = $(table).first().hasClass('k-grid') ? $(table).offset().left : 0;\r\n var dropdownMenu = $(this).children('.dropdown-menu').first();\r\n\r\n if (!$(this).hasClass('dropdown') && !$(this).hasClass('dropup')) {\r\n $(this).addClass('dropdown');\r\n }\r\n\r\n $(this).attr('olddrop', $(this).hasClass('dropup') ? 'dropup' : 'dropdown');\r\n $(this).children('.dropdown-menu').each(function () {\r\n $(this).attr('olddrop-pull', $(this).hasClass('dropdown-menu-right') ? 'dropdown-menu-right' : '');\r\n });\r\n\r\n if ($(this).hasClass('dropdown')) {\r\n if ($(this).offset().top + $(this).height() + $(dropdownMenu).height() - 10 >= parentTop + $(parentTarget).height()) {\r\n $(this).removeClass('dropdown');\r\n $(this).addClass('dropup');\r\n if ($(this).offset().top - $(dropdownMenu).height() - 40 <= parentTop) {\r\n $(this).removeClass('dropup');\r\n $(this).addClass('dropdown');\r\n }\r\n }\r\n }\r\n else if ($(this).hasClass('dropup')) {\r\n if ($(this).offset().top - $(dropdownMenu).height() - 10 <= parentTop) {\r\n $(this).removeClass('dropup');\r\n $(this).addClass('dropdown');\r\n }\r\n }\r\n\r\n if ($(this).offset().left + $(dropdownMenu).width() >= parentLeft + $(parentTarget).width()) {\r\n $(this).children('.dropdown-menu').addClass('dropdown-menu-right');\r\n }\r\n\r\n $('.dropdown-menu').parent().on('hide.bs.dropdown', function () {\r\n $(this).closest('.table-scrollable').css('overflow', '');\r\n if ($(this).attr('olddrop') != '') {\r\n $(this).removeClass('dropup dropdown');\r\n $(this).addClass($(this).attr('olddrop'));\r\n $(this).attr('olddrop', '');\r\n }\r\n\r\n $(this).children('.dropdown-menu').each(function () {\r\n $(this).removeClass('dropdown-menu-right');\r\n $(this).addClass($(this).attr('olddrop-pull'));\r\n });\r\n });\r\n });\r\n\r\n};\r\n\r\n//Function: buildExportGridFundProgramme ---------------------------------------------------------------------------\r\nfunction buildExportGridFundProgramme(viewmodel, data) {\r\n\r\n\r\n var prefixFileName = \"Performance Data\";\r\n var dateFrom = viewmodel.get(\"metricsModel.startDate\");\r\n var dateTo = viewmodel.get(\"metricsModel.endDate\");\r\n var fundName = viewmodel.get(\"fundName\");\r\n var programmeName = viewmodel.get(\"programmeName\");\r\n var type = viewmodel.get(\"type\");\r\n\r\n if (type == \"fund\") {\r\n var fileName = \"Fund\" + \"_\" + fundName + \"_\" + prefixFileName + \"_\" + dateFrom + \"-\" + dateTo;\r\n } else {\r\n var fileName = \"Programme\" + \"_\" + programmeName + \"_\" + prefixFileName + \"_\" + dateFrom + \"-\" + dateTo;\r\n }\r\n\r\n if ($('#fund-programme-export-grid').data('kendoGrid'))\r\n $('#fund-programme-export-grid').data('kendoGrid').destroy();\r\n\r\n if ($('#fund-programme-export-grid-corporate').data('kendoGrid'))\r\n $('#fund-programme-export-grid-corporate').data('kendoGrid').destroy();\r\n\r\n var hideBOT = false;\r\n\r\n if (data.length > 0) {\r\n hideBOT = data[0].HideBOT;\r\n }\r\n\r\n\r\n\r\n var combinedarray = [];\r\n data.forEach(function (enterprisedata) {\r\n enterprisedata.EnterprisePerformanceMonthsData.forEach(function (monthdata) {\r\n combinedarray.push(monthdata);\r\n });\r\n enterprisedata.Performance.EnterpriseName = enterprisedata.EnterpriseName;\r\n enterprisedata.Performance.ReportMonth = \"\";\r\n combinedarray.push(enterprisedata.Performance)\r\n });\r\n\r\n var metricData = viewmodel.metricsModel.get(\"metricData\");\r\n metricData.EnterpriseName = \"Summary\";\r\n metricData.ReportMonth = \"\";\r\n combinedarray.push(metricData);\r\n\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n\r\n $(\"#fund-programme-export-grid\").kendoGrid({\r\n rowTemplate: kendo.template($(\"#export-grid\").html()),\r\n toolbar: [\"excel\"],\r\n excel: {\r\n fileName: fileName + \".xlsx\",\r\n filterable: true,\r\n allPages: true\r\n },\r\n excelExport: function (e) { getCellColorsFundProgramme(e); },\r\n dataSource: { data: combinedarray },\r\n scrollable: true,\r\n selectable: true,\r\n columns: getGridColumnsFundProgramme(hideBOT),\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n });\r\n\r\n } else {\r\n\r\n $(\"#fund-programme-export-grid-corporate\").kendoGrid({\r\n rowTemplate: kendo.template($(\"#export-grid\").html()),\r\n toolbar: [\"excel\"],\r\n excel: {\r\n fileName: fileName + \".xlsx\",\r\n filterable: true,\r\n allPages: true\r\n },\r\n excelExport: function (e) { getCellColorsFundProgrammeCorporate(e); },\r\n dataSource: { data: combinedarray },\r\n scrollable: true,\r\n selectable: true,\r\n columns: getGridColumnsFundProgrammeCorporate(),\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n });\r\n\r\n }\r\n\r\n\r\n};\r\n\r\n//Function: buildComparisonExportGridFundProgramme ---------------------------------------------------------------------------\r\nfunction buildComparisonExportGridFundProgramme(viewmodel, data) {\r\n\r\n if ($('#fund-programme-comparison-export-grid').data('kendoGrid'))\r\n $('#fund-programme-comparison-export-grid').data('kendoGrid').destroy();\r\n\r\n if (viewmodel.get(\"isCompareActive\")) {\r\n\r\n var prefixFileName = \"Performance Data\";\r\n var dateFrom = viewmodel.get(\"metricsModel.startDateCompare\");\r\n var dateTo = viewmodel.get(\"metricsModel.endDateCompare\");\r\n var fundName = viewmodel.get(\"fundName\");\r\n var programmeName = viewmodel.get(\"programmeName\");\r\n var type = viewmodel.get(\"type\");\r\n\r\n if (type == \"fund\") {\r\n var fileName = \"Fund\" + \"_\" + fundName + \"_\" + prefixFileName + \"_\" + dateFrom + \"-\" + dateTo;\r\n } else {\r\n var fileName = \"Programme\" + \"_\" + programmeName + \"_\" + prefixFileName + \"_\" + dateFrom + \"-\" + dateTo;\r\n }\r\n\r\n $(\"#fund-programme-comparison-export-grid\").kendoGrid({\r\n rowTemplate: kendo.template($(\"#export-grid\").html()),\r\n toolbar: [\"excel\"],\r\n excel: {\r\n fileName: fileName + \".xlsx\",\r\n filterable: true,\r\n allPages: true\r\n },\r\n excelExport: function (e) { getCellColors(e); },\r\n dataSource: { data: getCombinedArray(data) },\r\n scrollable: true,\r\n selectable: true,\r\n columns: getGridColumns(),\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n });\r\n }\r\n\r\n}\r\n\r\n//Function: getGridColumnsFundProgramme ---------------------------------------------------------------------------\r\nfunction getGridColumnsFundProgramme(excludeBOT) {\r\n if (excludeBOT === true) {\r\n var columns = [{\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise Name\", \r\n width: 200\r\n },\r\n {\r\n field: \"IndustryName\",\r\n title: \"Industry\",\r\n width: 200\r\n },\r\n {\r\n field: \"Status\",\r\n title: \"Status\",\r\n width: 200\r\n },\r\n {\r\n field: \"ReportMonth\",\r\n title: \"Month\",\r\n width: 200\r\n },\r\n {\r\n field: \"Revenue\",\r\n title: \"Revenue\",\r\n width: 200\r\n },\r\n {\r\n field: \"Profit\",\r\n title: \"Profit\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpend\",\r\n title: \"Procurement Spend\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalCommitted\",\r\n title: \"Capital Committed (in R)\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalDeployed\",\r\n title: \"Capital Deployed (in R)\",\r\n width: 200\r\n },\r\n {\r\n field: \"PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"Headcount\",\r\n title: \"Headcount\",\r\n width: 200\r\n },\r\n {\r\n field: \"NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 200\r\n },\r\n {\r\n field: \"JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 200\r\n },\r\n {\r\n field: \"RevenueGrowth\",\r\n title: \"Revenue Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProfitGrowth\",\r\n title: \"Profit Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"Maturity\",\r\n title: \"Maturity Index (in %)\",\r\n width: 200\r\n }];\r\n\r\n} else {\r\n var columns = [{\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise Name\",\r\n width: 200\r\n },\r\n {\r\n field: \"IndustryName\",\r\n title: \"Industry\",\r\n width: 200\r\n },\r\n {\r\n field: \"Status\",\r\n title: \"Status\",\r\n width: 200\r\n },\r\n {\r\n field: \"ReportMonth\",\r\n title: \"Month\",\r\n width: 200\r\n },\r\n {\r\n field: \"Revenue\",\r\n title: \"Revenue\",\r\n width: 200\r\n },\r\n {\r\n field: \"Profit\",\r\n title: \"Profit\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpend\",\r\n title: \"Procurement Spend\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalCommitted\",\r\n title: \"Capital Committed (in R)\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalDeployed\",\r\n title: \"Capital Deployed (in R)\",\r\n width: 200\r\n },\r\n {\r\n field: \"PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"Headcount\",\r\n title: \"Headcount\",\r\n width: 200\r\n },\r\n {\r\n field: \"NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 200\r\n },\r\n {\r\n field: \"JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 200\r\n },\r\n {\r\n field: \"RevenueGrowth\",\r\n title: \"Revenue Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProfitGrowth\",\r\n title: \"Profit Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"Maturity\",\r\n title: \"Maturity Index (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"BusinessOfTomorrowString\",\r\n title: \"BOT\",\r\n width: 200\r\n }];\r\n}\r\n return columns;\r\n}\r\n\r\n//Function: getGridColumnsFundProgrammeCorporate ---------------------------------------------------------------------------\r\nfunction getGridColumnsFundProgrammeCorporate() {\r\n var columns = [{\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise Name\",\r\n width: 200\r\n },\r\n {\r\n field: \"ReportMonth\",\r\n title: \"Month\",\r\n width: 200\r\n },\r\n {\r\n field: \"Revenue\",\r\n title: \"Revenue\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpend\",\r\n title: \"Procurement Spend\",\r\n width: 200\r\n },\r\n {\r\n field: \"PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"Headcount\",\r\n title: \"Headcount\",\r\n width: 200\r\n },\r\n {\r\n field: \"NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 200\r\n },\r\n {\r\n field: \"JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 200\r\n },\r\n {\r\n field: \"RevenueGrowth\",\r\n title: \"Revenue Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalCommitted\",\r\n title: \"Capital Committed (in R)\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalDeployed\",\r\n title: \"Capital Deployed (in R)\",\r\n width: 200\r\n }];\r\n\r\n return columns;\r\n}\r\n\r\n//Function: getCombinedArray ---------------------------------------------------------------------------\r\nfunction getCombinedArray(data) {\r\n var combinedarray = [];\r\n data.forEach(function (enterprisedata) {\r\n enterprisedata.EnterprisePerformanceMonthsData.forEach(function (monthdata) {\r\n combinedarray.push(monthdata);\r\n });\r\n enterprisedata.Performance.EnterpriseName = enterprisedata.EnterpriseName;\r\n enterprisedata.Performance.ReportMonth = \"\";\r\n combinedarray.push(enterprisedata.Performance)\r\n });\r\n\r\n return combinedarray;\r\n}\r\n\r\n//Function: getCellColorsFundProgramme ---------------------------------------------------------------------------\r\nfunction getCellColorsFundProgramme(e) {\r\n var sheet = e.workbook.sheets[0];\r\n\r\n //Color calculated columns in csv \r\n for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) {\r\n var row = sheet.rows[rowIndex];\r\n var formatMask = null;\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n\r\n if (cellIndex == 4) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 5) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 6) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 6) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 7) { // Capital Comitted\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 8) { // Capital Deployed\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 11) {\r\n row.cells[cellIndex].background = \"#7bd6ff\";\r\n } else if (cellIndex == 12) {\r\n row.cells[cellIndex].background = \"#a5cc6a\";\r\n } else if (cellIndex == 13) {\r\n row.cells[cellIndex].background = \"#ffaa70\";\r\n } else if (cellIndex == 14) {\r\n row.cells[cellIndex].background = \"#53c2f4\";\r\n } else if (cellIndex == 15) { // Maturity Index\r\n row.cells[cellIndex].background = \"#ffc16d\";\r\n } else if (cellIndex == 16) { \r\n row.cells[cellIndex].background = \"#ffaa70\";\r\n } else if (cellIndex == 17) {\r\n row.cells[cellIndex].background = \"#90d4a8\";\r\n }\r\n }\r\n }\r\n\r\n //Color rows where fund/programme ends\r\n for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) {\r\n var rowIndexB = rowIndex - 1;\r\n if (rowIndexB != 0) {\r\n enterpriseNameA = sheet.rows[rowIndex].cells[0];\r\n enterpriseNameB = sheet.rows[rowIndexB].cells[0];\r\n\r\n if (enterpriseNameA.value != enterpriseNameB.value) {\r\n var row = sheet.rows[rowIndexB];\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n row.cells[cellIndex].background = \"#afafaf\";\r\n }\r\n }\r\n }\r\n }\r\n //color final row in sheet\r\n var sheetIndex = sheet.rows.length - 1;\r\n var finalRow = sheet.rows[sheetIndex];\r\n for (var cellIndex = 0; cellIndex < finalRow.cells.length; cellIndex++) {\r\n finalRow.cells[cellIndex].background = \"#60bd68\";\r\n //finalRow.cells[cellIndex].Font.Bold = true;\r\n }\r\n\r\n //color headings \r\n var headingRow = sheet.rows[0];\r\n for (var cellIndex = 0; cellIndex < headingRow.cells.length; cellIndex++) {\r\n headingRow.cells[cellIndex].background = \"#60bd68\";\r\n }\r\n\r\n}\r\n\r\n//Function: getCellColorsFundProgrammeCorporate ---------------------------------------------------------------------------\r\nfunction getCellColorsFundProgrammeCorporate(e) {\r\n var sheet = e.workbook.sheets[0];\r\n\r\n //Color calculated columns in csv \r\n for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) {\r\n var row = sheet.rows[rowIndex];\r\n var formatMask = null;\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n\r\n if (cellIndex == 2) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 3) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 6) {\r\n row.cells[cellIndex].background = \"#ffc16d\";\r\n } else if (cellIndex == 7) {\r\n row.cells[cellIndex].background = \"#ffb989\";\r\n } else if (cellIndex == 8) {\r\n row.cells[cellIndex].background = \"#7bd6ff\";\r\n } else if (cellIndex == 9) {\r\n row.cells[cellIndex].background = \"#a5cc6a\";\r\n } else if (cellIndex == 10) {\r\n row.cells[cellIndex].background = \"#53c2f4\";\r\n }\r\n }\r\n }\r\n\r\n //Color rows where fund/programme ends\r\n for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) {\r\n var rowIndexB = rowIndex - 1;\r\n if (rowIndexB != 0) {\r\n enterpriseNameA = sheet.rows[rowIndex].cells[0];\r\n enterpriseNameB = sheet.rows[rowIndexB].cells[0];\r\n\r\n if (enterpriseNameA.value != enterpriseNameB.value) {\r\n var row = sheet.rows[rowIndexB];\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n row.cells[cellIndex].background = \"#afafaf\";\r\n }\r\n }\r\n }\r\n }\r\n //color final row in sheet\r\n var sheetIndex = sheet.rows.length - 1;\r\n var finalRow = sheet.rows[sheetIndex];\r\n for (var cellIndex = 0; cellIndex < finalRow.cells.length; cellIndex++) {\r\n finalRow.cells[cellIndex].background = \"#60bd68\";\r\n //finalRow.cells[cellIndex].Font.Bold = true;\r\n }\r\n\r\n //color headings \r\n var headingRow = sheet.rows[0];\r\n for (var cellIndex = 0; cellIndex < headingRow.cells.length; cellIndex++) {\r\n headingRow.cells[cellIndex].background = \"#60bd68\";\r\n }\r\n\r\n}\r\n\r\n//Function: buildExportGridEnterprise ---------------------------------------------------------------------------\r\nfunction buildExportGridEnterprise(viewmodel, data) {\r\n\r\n var prefixFileName = \"Performance Data\";\r\n var dateFrom = viewmodel.get(\"metricsModel.startDate\");\r\n var dateTo = viewmodel.get(\"metricsModel.endDate\");\r\n var enterpriseName = viewmodel.get(\"enterpriseName\");\r\n var fileName = \"Enterprise\" + \"_\" + enterpriseName + \"_\" + prefixFileName + \"_\" + dateFrom + \"-\" + dateTo;\r\n\r\n //DISPLAY DIFFERENT TABLE FOR CORPORATE USERS\r\n if (!viewmodel.get(\"isCorporate\")) {\r\n\r\n if ($('#enterprise-dashboard-export-grid').data('kendoGrid'))\r\n $('#enterprise-dashboard-export-grid').data('kendoGrid').destroy();\r\n\r\n $(\"#enterprise-dashboard-export-grid\").kendoGrid({\r\n rowTemplate: kendo.template($(\"#export-grid\").html()),\r\n toolbar: [\"excel\"],\r\n excel: {\r\n fileName: fileName + \".xlsx\",\r\n filterable: true,\r\n allPages: true\r\n },\r\n excelExport: function (e) { formatCellsEnterprise(e); },\r\n dataSource: data,\r\n scrollable: true,\r\n selectable: true,\r\n columns: getGridColumnsEnterprise(),\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n });\r\n\r\n } else {\r\n\r\n if ($('#enterprise-dashboard-export-grid-corporate').data('kendoGrid'))\r\n $('#enterprise-dashboard-export-grid-corporate').data('kendoGrid').destroy();\r\n\r\n $(\"#enterprise-dashboard-export-grid-corporate\").kendoGrid({\r\n rowTemplate: kendo.template($(\"#export-grid-corporate\").html()),\r\n toolbar: [\"excel\"],\r\n excel: {\r\n fileName: fileName + \".xlsx\",\r\n filterable: true,\r\n allPages: true\r\n },\r\n excelExport: function (e) { formatCellsEnterpriseCorporate(e); },\r\n dataSource: data,\r\n scrollable: true,\r\n selectable: true,\r\n columns: getGridColumnsEnterpriseCorporate(),\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n });\r\n\r\n }\r\n\r\n\r\n};\r\n\r\n//Function: formatCellsEnterprise ---------------------------------------------------------------------------\r\nfunction formatCellsEnterprise(e) {\r\n var sheet = e.workbook.sheets[0];\r\n //formatCells \r\n for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) {\r\n var row = sheet.rows[rowIndex];\r\n var formatMask = null;\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n\r\n if (cellIndex === 2 || cellIndex === 3 || cellIndex === 4 || cellIndex === 5) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex === 15) {\r\n row.cells[cellIndex].background = \"#53c2f4\";\r\n } else if (cellIndex === 16) {\r\n row.cells[cellIndex].background = \"#68a2cc\";\r\n } else if (cellIndex === 17) {\r\n row.cells[cellIndex].background = \"#68cc8b\";\r\n } else if (cellIndex === 18) {\r\n row.cells[cellIndex].background = \"#90d4a8\";\r\n } else if (cellIndex === 19) {\r\n row.cells[cellIndex].background = \"#ffaa70\";\r\n } else if (cellIndex === 20) {\r\n row.cells[cellIndex].background = \"#53c2f4\";\r\n } else if (cellIndex === 21) {\r\n row.cells[cellIndex].background = \"#ffaa70\";\r\n }\r\n }\r\n }\r\n\r\n //color headings \r\n var headingRow = sheet.rows[0];\r\n for (var cellIndex = 0; cellIndex < headingRow.cells.length; cellIndex++) {\r\n headingRow.cells[cellIndex].background = \"#60bd68\";\r\n }\r\n\r\n}\r\n\r\n//Function: formatCellsEnterpriseCorporate ---------------------------------------------------------------------------\r\nfunction formatCellsEnterpriseCorporate(e) {\r\n var sheet = e.workbook.sheets[0];\r\n\r\n //formatCells \r\n for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) {\r\n var row = sheet.rows[rowIndex];\r\n var formatMask = null;\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n\r\n if (cellIndex == 1) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 2) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 6) {\r\n row.cells[cellIndex].background = \"#ffc16d\";\r\n } else if (cellIndex == 7) {\r\n row.cells[cellIndex].background = \"#ffb989\";\r\n } else if (cellIndex == 8) {\r\n row.cells[cellIndex].background = \"#7bd6ff\";\r\n } else if (cellIndex == 9) {\r\n row.cells[cellIndex].background = \"#a5cc6a\";\r\n } else if (cellIndex == 10) {\r\n row.cells[cellIndex].background = \"#53c2f4\";\r\n }\r\n }\r\n }\r\n\r\n //color headings \r\n var headingRow = sheet.rows[0];\r\n for (var cellIndex = 0; cellIndex < headingRow.cells.length; cellIndex++) {\r\n headingRow.cells[cellIndex].background = \"#60bd68\";\r\n }\r\n\r\n}\r\n\r\n//Function: getGridColumnsEnterprise ---------------------------------------------------------------------------\r\nfunction getGridColumnsEnterprise() {\r\n console.log('Reached...');\r\n var columns = [{\r\n field: \"IndustryName\",\r\n title: \"Industry\",\r\n width: 200\r\n },{\r\n field: \"ReportMonth\",\r\n title: \"Month\",\r\n width: 200\r\n },\r\n {\r\n field: \"Revenue\",\r\n title: \"Revenue\",\r\n width: 200\r\n },\r\n {\r\n field: \"Expenses\",\r\n title: \"Operating Expenses\",\r\n width: 200\r\n },\r\n {\r\n field: \"CostOfSales\",\r\n title: \"Cost Of Sales\",\r\n width: 200\r\n },\r\n {\r\n field: \"Profit\",\r\n title: \"Profit\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpendTotal\",\r\n title: \"Procurement\",\r\n width: 200\r\n },\r\n //{\r\n // field: \"AccountsReceivable\",\r\n // title: \"Accounts Receivable\",\r\n // width: 200\r\n //},\r\n //{\r\n // field: \"AccountsPayable\",\r\n // title: \"Accounts Payable\",\r\n // width: 200\r\n //},\r\n //{\r\n // field: \"TotalAssets\",\r\n // title: \"Total Assets\",\r\n // width: 200\r\n //},\r\n //{\r\n // field: \"TotalLiabilities\",\r\n // title: \"Total Liabilities\",\r\n // width: 200\r\n //},\r\n //{\r\n // field: \"TotalEquity\",\r\n // title: \"Total Equity\",\r\n // width: 200\r\n //},\r\n {\r\n field: \"SupportProvided\",\r\n title: \"Support Provided\",\r\n width: 200\r\n },\r\n {\r\n field: \"SMEEngagementScore\",\r\n title: \"Engagement\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalDeployed\",\r\n title: \"Total Capital Deployed\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalDeployedListPerFundString\",\r\n title: \"Capital Deployed Breakdown\"\r\n //width: 600\r\n },\r\n {\r\n field: \"CapitalCommitted\",\r\n title: \"Total Capital Committed\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalCommittedListPerFundString\",\r\n title: \"Capital Committed Breakdown\"\r\n //width: 600\r\n },\r\n {\r\n field: \"PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"Headcount\",\r\n title: \"Headcount\",\r\n width: 200\r\n },\r\n {\r\n field: \"NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 200\r\n },\r\n {\r\n field: \"JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 200\r\n },\r\n {\r\n field: \"RevenueGrowth\",\r\n title: \"Revenue Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProfitGrowth\",\r\n title: \"Profit Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"TotalNumberOfContracts\",\r\n title: \"Number of contracts\",\r\n width: 200\r\n }];\r\n\r\n return columns;\r\n}\r\n\r\n//Function: getGridColumnsEnterpriseCorporate ---------------------------------------------------------------------------\r\nfunction getGridColumnsEnterpriseCorporate() {\r\n var columns = [{\r\n field: \"ReportMonth\",\r\n title: \"Month\",\r\n width: 200\r\n },\r\n {\r\n field: \"Revenue\",\r\n title: \"Revenue\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpendTotal\",\r\n title: \"Procurement\",\r\n width: 200\r\n },\r\n {\r\n field: \"SupportProvided\",\r\n title: \"Support Provided\",\r\n width: 200\r\n },\r\n {\r\n field: \"PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"Headcount\",\r\n title: \"Headcount\",\r\n width: 200\r\n },\r\n {\r\n field: \"NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 200\r\n },\r\n {\r\n field: \"JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 200\r\n },\r\n {\r\n field: \"RevenueGrowth\",\r\n title: \"Revenue Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalDeployed\",\r\n title: \"Total Capital Deployed\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalDeployedListPerFundString\",\r\n title: \"Capital Deployed Breakdown\",\r\n //width: 200\r\n },\r\n {\r\n field: \"CapitalCommitted\",\r\n title: \"Total Capital Committed\",\r\n width: 200\r\n },\r\n {\r\n field: \"CapitalCommittedListPerFundString\",\r\n title: \"Capital Committed Breakdown\"\r\n //width: 600\r\n }];\r\n\r\n return columns;\r\n}\r\n\r\n//Function: buildExportGridEdgeDashboard ---------------------------------------------------------------------------\r\nfunction buildExportGridEdgeDashboard(viewmodel, data) {\r\n\r\n if ($('#edge-dashboard-performance-export-grid').data('kendoGrid'))\r\n $('#edge-dashboard-performance-export-grid').data('kendoGrid').destroy();\r\n\r\n var prefixFileName = \"Performance Data\";\r\n var dateFrom = viewmodel.get(\"metricsModel.startDate\");\r\n var dateTo = viewmodel.get(\"metricsModel.endDate\");\r\n var enterpriseName = viewmodel.get(\"enterpriseName\");\r\n var fileName = prefixFileName + \"_\" + dateFrom + \"-\" + dateTo;\r\n\r\n $(\"#edge-dashboard-performance-export-grid\").kendoGrid({\r\n rowTemplate: kendo.template($(\"#export-grid\").html()),\r\n toolbar: [\"excel\"],\r\n excel: {\r\n fileName: fileName + \".xlsx\",\r\n filterable: true,\r\n allPages: true\r\n },\r\n excelExport: function (e) { formatCellsEdgeDashboard(e); },\r\n dataSource: data,\r\n scrollable: true,\r\n selectable: true,\r\n columns: getGridColumnsEdgeDashboard(),\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n });\r\n};\r\n\r\n//Function: formatCellsEdgeDashboard ---------------------------------------------------------------------------\r\nfunction formatCellsEdgeDashboard(e) {\r\n var sheet = e.workbook.sheets[0];\r\n\r\n //formatCells \r\n for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) {\r\n var row = sheet.rows[rowIndex];\r\n var formatMask = null;\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n\r\n if (cellIndex == 3) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 4) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 5) {//Capital Committed\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 6) {//Capital Deployed\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 7) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 9) {\r\n row.cells[cellIndex].background = \"#7bd6ff\";\r\n } else if (cellIndex == 10) {\r\n row.cells[cellIndex].background = \"#a5cc6a\";\r\n } else if (cellIndex == 11) {\r\n row.cells[cellIndex].background = \"#ffaa70\";\r\n } else if (cellIndex == 12) {\r\n row.cells[cellIndex].background = \"#53c2f4\";\r\n } else if (cellIndex == 13) {\r\n row.cells[cellIndex].background = \"#a5cc6a\";\r\n } else if (cellIndex == 14) {\r\n row.cells[cellIndex].background = \"#ffb989\";\r\n }\r\n }\r\n }\r\n\r\n //color headings \r\n var headingRow = sheet.rows[0];\r\n for (var cellIndex = 0; cellIndex < headingRow.cells.length; cellIndex++) {\r\n headingRow.cells[cellIndex].background = \"#60bd68\";\r\n }\r\n\r\n}\r\n\r\n//Function: getGridColumnsEdgeDashboard ---------------------------------------------------------------------------\r\nfunction getGridColumnsEdgeDashboard() {\r\n var columns = [{\r\n field: \"Name\",\r\n title: \"Business Unit\",\r\n width: 200\r\n },\r\n {\r\n field: \"Type\",\r\n title: \"Type\",\r\n width: 200\r\n },\r\n {\r\n field: \"EnterpriseCount\",\r\n title: \"No. Enterprises\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.Revenue\",\r\n title: \"Revenue\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.Profit\",\r\n title: \"Profit\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.CapitalCommitted\",\r\n title: \"Capital Committed (in R)\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.CapitalDeployed\",\r\n title: \"Capital Deployed (in R)\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.ProfitGrowth\",\r\n title: \"Profit Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth (in %)\",\r\n width: 200\r\n }];\r\n\r\n return columns;\r\n}\r\n\r\n//Function: buildExportGridMentorDashboard ---------------------------------------------------------------------------\r\nfunction buildExportGridMentorDashboard(viewmodel, data) {\r\n\r\n if ($('#edge-dashboard-performance-export-grid').data('kendoGrid'))\r\n $('#edge-dashboard-performance-export-grid').data('kendoGrid').destroy();\r\n\r\n var prefixFileName = \"Performance Data\";\r\n var dateFrom = viewmodel.get(\"metricsModel.startDate\");\r\n var dateTo = viewmodel.get(\"metricsModel.endDate\");\r\n var fileName = \"Mentor\" + \"_\" + prefixFileName + \"_\" + dateFrom + \"-\" + dateTo;\r\n\r\n\r\n $(\"#edge-dashboard-performance-export-grid\").kendoGrid({\r\n rowTemplate: kendo.template($(\"#export-grid\").html()),\r\n dataSource: data,\r\n toolbar: [\"excel\"],\r\n excel: {\r\n fileName: fileName + \".xlsx\",\r\n filterable: true,\r\n allPages: true\r\n },\r\n excelExport: function (e) { formatCellsMentorDashboard(e); },\r\n columns: getGridColumnsMentorDashboard(),\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n }\r\n });\r\n}\r\n\r\n//Function: formatCellsMentorDashboard ---------------------------------------------------------------------------\r\nfunction formatCellsMentorDashboard(e) {\r\n var sheet = e.workbook.sheets[0];\r\n\r\n //formatCells \r\n for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) {\r\n var row = sheet.rows[rowIndex];\r\n var formatMask = null;\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n\r\n if (cellIndex === 1) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex === 2) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex === 3) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex === 6) {\r\n row.cells[cellIndex].background = \"#ffc16d\";\r\n } else if (cellIndex === 7) {\r\n row.cells[cellIndex].background = \"#ffb989\";\r\n } else if (cellIndex === 8) {\r\n row.cells[cellIndex].background = \"#7bd6ff\";\r\n } else if (cellIndex === 9) {\r\n row.cells[cellIndex].background = \"#a5cc6a\";\r\n } else if (cellIndex === 10) {\r\n row.cells[cellIndex].background = \"#ffaa70\";\r\n } else if (cellIndex === 11) {\r\n row.cells[cellIndex].background = \"#53c2f4\";\r\n }\r\n }\r\n }\r\n\r\n //color headings \r\n var headingRow = sheet.rows[0];\r\n for (var cellIndex = 0; cellIndex < headingRow.cells.length; cellIndex++) {\r\n headingRow.cells[cellIndex].background = \"#60bd68\";\r\n }\r\n\r\n}\r\n\r\n//Function: getGridColumnsMentorDashboard ---------------------------------------------------------------------------\r\nfunction getGridColumnsMentorDashboard() {\r\n var columns = [\r\n {\r\n field: \"EnterpriseName\",\r\n title: \"Enterprise\",\r\n width: 200\r\n }, {\r\n field: \"Performance.Revenue\",\r\n title: \"Revenue\",\r\n width: 200\r\n }, {\r\n field: \"Performance.Profit\",\r\n title: \"Net Profit\",\r\n width: 200\r\n }, {\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement\",\r\n width: 200\r\n },\r\n //, {\r\n // field: \"Performance.AccountsReceivable\",\r\n // title: \"Accounts Receivable\",\r\n // width: 200\r\n //}, {\r\n // field: \"Performance.AccountsPayable\",\r\n // title: \"Accounts Payable\",\r\n // width: 200\r\n //}, {\r\n // field: \"Performance.TotalAssets\",\r\n // title: \"Total Assets\",\r\n // width: 200\r\n //}, {\r\n // field: \"Performance.TotalLiabilities\",\r\n // title: \"Total Liabilities\",\r\n // width: 200\r\n //}, {\r\n // field: \"Performance.TotalEquity\",\r\n // title: \"Total Equity\",\r\n // width: 200\r\n //},\r\n {\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n }, {\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n }, {\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 200\r\n }, {\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 200\r\n }, {\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 200\r\n }, {\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth (in %)\",\r\n width: 200\r\n }, {\r\n field: \"Performance.ProfitGrowth\",\r\n title: \"Profit Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth (in %)\",\r\n width: 200\r\n }];\r\n\r\n return columns;\r\n}\r\n\r\n//Function: buildExportGridCorporateDashboard ---------------------------------------------------------------------------\r\nfunction buildExportGridCorporateDashboard(viewmodel, data) {\r\n console.log('load_corporate...');\r\n\r\n if ($('#edge-dashboard-performance-export-grid').data('kendoGrid'))\r\n $('#edge-dashboard-performance-export-grid').data('kendoGrid').destroy();\r\n\r\n var prefixFileName = \"Performance Data\";\r\n var dateFrom = viewmodel.get(\"metricsModel.startDate\");\r\n var dateTo = viewmodel.get(\"metricsModel.endDate\");\r\n var enterpriseName = viewmodel.get(\"enterpriseName\");\r\n var fileName = prefixFileName + \"_\" + dateFrom + \"-\" + dateTo;\r\n\r\n $(\"#edge-dashboard-performance-export-grid\").kendoGrid({\r\n rowTemplate: kendo.template($(\"#export-grid\").html()),\r\n toolbar: [\"excel\"],\r\n excel: {\r\n fileName: fileName + \".xlsx\",\r\n filterable: true,\r\n allPages: true\r\n },\r\n excelExport: function (e) { formatCellsCorporateDashboard(e); },\r\n dataSource: data,\r\n scrollable: true,\r\n selectable: true,\r\n columns: getGridColumnsCorporateDashboard(),\r\n noRecords: {\r\n template: \"
    No records are available.

    \"\r\n },\r\n });\r\n};\r\n\r\n//Function: formatCellsCorporateDashboard ---------------------------------------------------------------------------\r\nfunction formatCellsCorporateDashboard(e) {\r\n var sheet = e.workbook.sheets[0];\r\n\r\n //formatCells \r\n for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) {\r\n var row = sheet.rows[rowIndex];\r\n var formatMask = null;\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n\r\n if (cellIndex == 3) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 4) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 5) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 6) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 7) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 8) {\r\n row.cells[cellIndex].format = \"R#,##0\";\r\n } else if (cellIndex == 11) {\r\n row.cells[cellIndex].background = \"#ffc16d\";\r\n } else if (cellIndex == 12) {\r\n row.cells[cellIndex].background = \"#ffb989\";\r\n } else if (cellIndex == 13) {\r\n row.cells[cellIndex].background = \"#7bd6ff\";\r\n } else if (cellIndex == 14) {\r\n row.cells[cellIndex].background = \"#a5cc6a\";\r\n } else if (cellIndex == 15) {\r\n row.cells[cellIndex].background = \"#53c2f4\";\r\n }\r\n }\r\n }\r\n\r\n //color headings \r\n var headingRow = sheet.rows[0];\r\n for (var cellIndex = 0; cellIndex < headingRow.cells.length; cellIndex++) {\r\n headingRow.cells[cellIndex].background = \"#60bd68\";\r\n }\r\n\r\n}\r\n\r\n//Function: getGridColumnsCorporateDashboard ---------------------------------------------------------------------------\r\nfunction getGridColumnsCorporateDashboard() {\r\n var columns = [{\r\n field: \"Name\",\r\n title: \"Business Unit\",\r\n width: 200\r\n },\r\n {\r\n field: \"Type\",\r\n title: \"Type\",\r\n width: 200\r\n },\r\n {\r\n field: \"EnterpriseCount\",\r\n title: \"No. Enterprises\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.Revenue\",\r\n title: \"Revenue\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.ProcurementSpend\",\r\n title: \"Procurement\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.Budget\",\r\n title: \"Budget\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.BudgetDeployed\",\r\n title: \"Budget Deployed\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.Capital\",\r\n title: \"Capital\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.CapitalDeployed\",\r\n title: \"Capital Deployed\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.PermanentEmployment\",\r\n title: \"Permanent Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.TemporaryEmployment\",\r\n title: \"Temporary Employment\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.Headcount\",\r\n title: \"Headcount\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.NetJobs\",\r\n title: \"Net Jobs\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.JobsCreated\",\r\n title: \"Jobs Created\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.RevenueGrowth\",\r\n title: \"Revenue Growth (in %)\",\r\n width: 200\r\n },\r\n {\r\n field: \"Performance.ProcurementSpendGrowthRate\",\r\n title: \"Procurement Spend Growth (in %)\",\r\n width: 200\r\n }];\r\n\r\n return columns;\r\n}\r\n\r\n// Function: calculateMaxDate -------------------------------------------------------------------------\r\nfunction calculateMaxDate(dates) {\r\n var maxDate = dates[0], maxDateObject = new Date(dates[0]);\r\n\r\n dates.forEach(function (dt) {\r\n if (new Date(dt) > maxDateObject) {\r\n maxDate = dt;\r\n maxDateObject = new Date(dt);\r\n }\r\n });\r\n return maxDate;\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar nav = require(\"app_utilities/default/app-nav\");\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n getTourInstructionsPerUser: getTourInstructionsPerUser,\r\n isHelpAvailable: isHelpAvailable,\r\n setGuideHelperIconState: setGuideHelperIconState,\r\n startHelper: startHelper,\r\n setTourCache: setTourCache,\r\n getTourCache: getTourCache\r\n\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: getTourInstructionsPerUser ----------------------------------------------------------------------------\r\nfunction getTourInstructionsPerUser() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/TourGuide/GetTourInstructionsPerUser\"\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n setTourCache(result.data);\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: setTourCache ----------------------------------------------------------------------------\r\nfunction setTourCache(data) {\r\n window.tour = data;\r\n}\r\n\r\n// Function: getTourCache ----------------------------------------------------------------------------\r\nfunction getTourCache() {\r\n\r\n if (window.tour === null) {\r\n var def = $.Deferred();\r\n getTourInstructionsPerUser();\r\n def.resolve();\r\n }\r\n\r\n return window.tour;\r\n}\r\n\r\n\r\n//HideAllHelpers\r\nfunction hideAllhelpers() {\r\n\r\n if (isHelpAvailable()) {\r\n addTourInstructionsPerUser(\"AllPages\", \"HideAllHelpers\"); //this should work as is.\r\n }\r\n\r\n}\r\n\r\n// Function: addTourInstructionsPerUser ----------------------------------------------------------------------------\r\nfunction addTourInstructionsPerUser(currentPage, className) {\r\n //do api call\r\n\r\n if (className.match(/menu/) || className.match(/nav/) || className.match(/welcome-menu-helper-step/)) {\r\n currentPage = \"AllPages\";\r\n }\r\n\r\n\r\n var instruction = {\r\n Page: currentPage,\r\n Class: className\r\n };\r\n\r\n var request = {\r\n url: \"api/TourGuide/AddViewedInstructionByUser\",\r\n data: {\r\n page: currentPage,\r\n className: className\r\n }\r\n };\r\n \r\n apiHandler.post(request);\r\n\r\n\r\n}\r\n\r\n// Function: updateCacheInstruction ----------------------------------------------------------------------------\r\nfunction updateCacheInstruction(instruction) { \r\n var data = [];\r\n data = window.tour; \r\n setTourCache(data);\r\n}\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// INTERNAL APP FUNCTIONS\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: isHelpAvailable ----------------------------------------------------------------------------\r\nfunction isHelpAvailable() {\r\n\r\n if (document.getElementsByClassName(\"helper-step\")) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n}\r\n\r\n// Function: setGuideHelperIconState ----------------------------------------------------------------------------\r\nfunction setGuideHelperIconState() {\r\n\r\n if (isHelpAvailable()) {\r\n $('#tour-guide-help').attr('disabled', false);\r\n $('#tour-guide-help').css('color', 'var(--primary)');\r\n } else {\r\n $('#tour-guide-help').attr('disabled', true);\r\n $('#tour-guide-help').css('color', '#777777');\r\n $('#tour-guide-help').addClass('noHover');\r\n }\r\n\r\n}\r\n\r\n// Function: Helper --------------------------------------------------------------------------\r\nfunction startHelper(viewmodel, currentPage, userInitiated) {\r\n\r\n setGuideHelperIconState();\r\n\r\n //Helper\r\n var tour;\r\n\r\n tour = new Shepherd.Tour({\r\n defaults: {\r\n classes: 'shepherd-theme-square',\r\n showCancelLink: true,\r\n scrollToHandler: function (e) {\r\n $('html, body').animate({\r\n scrollTop: $(e).offset().top - 250\r\n }, 1000);\r\n }\r\n\r\n }\r\n });\r\n\r\n tour = buildTour(tour, currentPage, userInitiated);\r\n\r\n tour.start();\r\n\r\n if (!userInitiated) {\r\n addHelperClickEvent(viewmodel, currentPage);\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n// Function: buildTour ----------------------------------------------------------------------------\r\nfunction addHelperClickEvent(viewmodel, currentPage) {\r\n\r\n $(\".startHelpTour\").on('click', function (e) {\r\n if (isHelpAvailable()) {\r\n app.AppHelper.startHelper(viewmodel, currentPage, true);\r\n }\r\n });\r\n\r\n}\r\n\r\n// Function: buildTour ----------------------------------------------------------------------------\r\nfunction buildTour(tour, currentPage, userInitiated) {\r\n\r\n var completedSteps = getCompletedTourStepsFromCacheByPage(currentPage);\r\n \r\n var allHelpers = getAllHelp(); \r\n var currentPageHelpers = [];\r\n\r\n allHelpers.forEach(function (instruction) {\r\n isClassOnPage = document.getElementsByClassName(instruction.className);\r\n if (isClassOnPage.length !== 0) {\r\n currentPageHelpers.push(instruction);\r\n }\r\n });\r\n\r\n var instructionDetails;\r\n\r\n if (userInitiated) {\r\n //BuildTourForContentOnly\r\n currentPageHelpers = removeMenuItems(currentPageHelpers); \r\n } else {\r\n //CheckForSkipOrBuildFromUnseenSteps\r\n currentPageHelpers = buildTourFromUnseenSteps(completedSteps, currentPageHelpers);\r\n }\r\n\r\n\r\n tour = createSteps(tour, currentPage, currentPageHelpers, userInitiated);\r\n\r\n return tour;\r\n\r\n}\r\n\r\n\r\n// Function: buildTourFromUnseenSteps ----------------------------------------------------------------------------\r\nfunction buildTourFromUnseenSteps(completedSteps, currentPageHelpers) {\r\n\r\n var markAllStepsAsRead = false;\r\n if (!completedSteps === null) {\r\n completedSteps.forEach(function (step) {\r\n if (step.Class === \"HideAllHelpers\") {\r\n markAllStepsAsRead = true;\r\n }\r\n });\r\n } \r\n\r\n if (markAllStepsAsRead) {\r\n //Skip tour\r\n return instructionDetails === null;\r\n } else {\r\n //Build From UnseenSteps \r\n var unseenHelpers = getUnseenSteps(completedSteps, currentPageHelpers);\r\n return instructionDetails = buildTourFromSteps(unseenHelpers, currentPageHelpers);\r\n \r\n }\r\n\r\n}\r\n\r\n\r\n// Function: getPhases ----------------------------------------------------------------------------\r\nfunction getCompletedTourStepsFromCacheByPage(currentPage) {\r\n\r\n cachedTour = getTourCache();\r\n if (cachedTour === null || cachedTour.length === 0) {\r\n return null;\r\n } else {\r\n var completedSteps = cachedTour.filter(function (steps) {\r\n\r\n return steps.Page === currentPage || steps.Page === \"AllPages\";\r\n }); \r\n\r\n return completedSteps;\r\n }\r\n\r\n}\r\n\r\n// Function: getUnseenSteps ----------------------------------------------------------------------------\r\nfunction getUnseenSteps(completedSteps, currentPageHelpers) {\r\n\r\n if (completedSteps !== null) {\r\n completedSteps.forEach(function (step) {\r\n currentPageHelpers.forEach(function (item, index, object) {\r\n if (item.className === step.Class) {\r\n object.splice(index, 1);\r\n }\r\n });\r\n });\r\n }\r\n\r\n return currentPageHelpers;\r\n\r\n}\r\n\r\n// Function: removeMenuItems ----------------------------------------------------------------------------\r\nfunction removeMenuItems(currentPageHelpers) {\r\n\r\n //Remove menu items Available helpers if user has seen some form of tour in past \r\n var newList = [];\r\n currentPageHelpers.forEach(function (helper) {\r\n if (!helper.className.match(/menu/) && !helper.className.match(/nav/)) {\r\n newList.push(helper);\r\n }\r\n }); \r\n\r\n\r\n return newList;\r\n\r\n}\r\n\r\n// Function: buildTourFromSteps ----------------------------------------------------------------------------\r\nfunction buildTourFromSteps(unseenHelpers, instructions) {\r\n var tourDetails = [];\r\n\r\n unseenHelpers.forEach(function (helper) {\r\n instructions.forEach(function (instruction) {\r\n if (helper.className === instruction.className) {\r\n tourDetails.push(instruction);\r\n\r\n }\r\n });\r\n });\r\n\r\n return tourDetails;\r\n\r\n}\r\n\r\n// Function: createSteps ----------------------------------------------------------------------------\r\nfunction createSteps(tour, currentPage, instructionDetails, userInitiated) {\r\n\r\n window.instructionsShow = [];\r\n\r\n if (!instructionDetails == null || !instructionDetails.length == 0) {\r\n\r\n //Replace with forEach... questionable\r\n for (i = 0; i < instructionDetails.length; i++) {\r\n\r\n window.instructionsShow.push(instructionDetails[i].className);\r\n \r\n //Check if final instruction or first\r\n\r\n // is start\r\n var hasNextButton = true;\r\n var hasBackButton = false;\r\n\r\n if (i === instructionDetails.length - 1) { //is last\r\n hasNextButton = false;\r\n hasBackButton = true;\r\n\r\n } else if (i !== 0) { //is in middle\r\n hasNextButton = true;\r\n hasBackButton = true;\r\n }\r\n\r\n buttons = buildButton(tour, hasNextButton, hasBackButton, userInitiated);\r\n\r\n \r\n\r\n var instructionDetailsClassName = instructionDetails[i].className;\r\n var tourDetails = {\r\n title: instructionDetails[i].title,\r\n id: instructionDetails[i].className,\r\n text: instructionDetails[i].text,\r\n attachTo: '.' + instructionDetailsClassName + ' ' + instructionDetails[i].position,\r\n buttons: buttons,\r\n scrollTo: true,\r\n when: {\r\n show: function () {\r\n //Get Tour step shown classname\r\n className = window.instructionsShow[0];\r\n activeStep = this.options.attachTo; \r\n\r\n\r\n if (activeStep.match(/menu/)) {\r\n $(\"#mainnav\").addClass(\"elevated-z-index\");\r\n $(\".top-bar\").removeClass(\"elevated-z-index\");\r\n } else if (activeStep.match(/nav/)) {\r\n $(\".top-bar\").addClass(\"elevated-z-index\");\r\n $(\"#mainnav\").removeClass(\"elevated-z-index\");\r\n } else {\r\n $(\".top-bar\").removeClass(\"elevated-z-index\");\r\n $(\"#mainnav\").removeClass(\"elevated-z-index\");\r\n }\r\n\r\n if (!userInitiated) { //dont add to database if user initiated the helpers (because its already added in the database) \r\n addTourInstructionsPerUser(currentPage, className);\r\n }\r\n\r\n window.instructionsShow.shift();\r\n\r\n }\r\n }\r\n\r\n }; \r\n\r\n tour.addStep(instructionDetails[i].title, tourDetails);\r\n }\r\n }\r\n\r\n return tour;\r\n}\r\n\r\n\r\n\r\n\r\n// Function: buildButton ----------------------------------------------------------------------------\r\nfunction buildButton(tour, hasNextButton, hasBackButton, userInitiated) {\r\n var buttons = [];\r\n\r\n //Escape button functionality start\r\n document.onkeydown = function (evt) {\r\n evt = evt || window.event;\r\n var isEscape = false;\r\n if (\"key\" in evt) {\r\n isEscape = evt.key === \"Escape\" || evt.key === \"Esc\";\r\n } else {\r\n isEscape = evt.keyCode === 27;\r\n }\r\n if (isEscape) {\r\n tour.cancel();\r\n }\r\n };\r\n //Escape button functionality end\r\n\r\n if (hasNextButton && !hasBackButton) {\r\n buttons = [{\r\n text: 'Next',\r\n action: tour.next\r\n }];\r\n\r\n } else if (hasNextButton && hasBackButton) {\r\n buttons = [{\r\n text: 'Back',\r\n action: tour.back\r\n }, {\r\n text: 'Next',\r\n action: tour.next\r\n }];\r\n } else {\r\n buttons = [{\r\n text: 'Back',\r\n action: tour.back\r\n },{\r\n text: 'Done',\r\n action: tour.complete\r\n }];\r\n }\r\n\r\n\r\n //if (!userInitiated && hasNextButton) {\r\n // buttons.push({\r\n // classes: 'shepherd-button-secondary pull-left skip-help-tour',\r\n // text: 'Stop showing help', //disable help --Skip all helpers\r\n // action: function () {\r\n // hideAllhelpers()\r\n // return tour.hide()\r\n // }\r\n\r\n // });\r\n //}\r\n\r\n return buttons;\r\n\r\n}\r\n\r\n// Function: getAllHelp ---------------------------------------------------------------------------------\r\nfunction getAllHelp() {\r\n var help =\r\n [\r\n\r\n\r\n // WELCOME MESSAGE INSTRUCTIONS\r\n {\r\n className: \"welcome-menu-helper-step\", \r\n title: \"Welcome\",\r\n text: \"Welcome! To help you to get started, navigation assistants like this one will be shown throughout the system. Click the “Next” button to see the next assistant or simply close this window to stop showing help - you can always come back by clicking on the Help icon on the top right of your screen.\"\r\n },\r\n\r\n // EDGE USER INSTRUCTIONS\r\n {\r\n className: \"ENTERPRISES-menu-helper-step\",\r\n position: \"right\",\r\n title: \"ENTERPRISE\",\r\n type: \"menu\",\r\n text: \"Select the Enterprise link in the menu to
    set-up and view more Enterprise details.\"\r\n },\r\n {\r\n className: \"PROGRAMMES-menu-helper-step\", // rename to - programme-nav-helper-step\r\n position: \"right\",\r\n title: \"PROGRAMME\",\r\n type: \"menu\",\r\n text: \"Select the Programme link in the menu to
    set-up and view more Programme details\"\r\n },\r\n {\r\n className: \"MENTORS-menu-helper-step\",\r\n position: \"right\",\r\n title: \"MENTOR\",\r\n type: \"menu\",\r\n text: \"Select the Mentor link in the menu to
    set-up and view more Mentor details.\"\r\n },\r\n {\r\n className: \"SETTINGS-menu-helper-step\",\r\n position: \"right\",\r\n title: \"SETTINGS\",\r\n type: \"menu\",\r\n text: \"Select the settings link to create user profiles and edit descriptions.\"\r\n },\r\n {\r\n className: \"edit-user-profile-nav-helper-step\",\r\n position: \"bottom\",\r\n title: \"MY PROFILE\",\r\n type: \"menu\",\r\n text: \"Click here to edit and update
    your profile and profile picture.\"\r\n },\r\n {\r\n className: \"help-guide-icon-nav-helper-step\",\r\n position: \"bottom\",\r\n title: \"HELP GUIDE\",\r\n type: \"menu\",\r\n text: \"Select the ? icon when its green to start
    the tour guide.\"\r\n },\r\n //{\r\n // className: \"enterpise-report-tabItem-helper-step\", \r\n // position: \"bottom\",\r\n // title: \"VIEW MONTHLY REPORT\",\r\n // text: \"Select to create, view and edit monthly reports.\"\r\n //}, \r\n {\r\n className: \"REPORTS-helper-step\", //to be added to the menu item\r\n position: \"bottom\",\r\n title: \"VIEW MONTHLY REPORT\",\r\n text: \"Select to create, view and edit monthly reports.\"\r\n },\r\n {\r\n className: \"enterpise-capture-report-helper-step\",\r\n position: \"bottom\",\r\n title: \"CAPTURE MONTHLY REPORTS\",\r\n text: \"Here you are able to view reports.
    Alternatively click on the drop down for more options.\"\r\n },\r\n {\r\n className: \"date-selection-helper-step\",\r\n position: \"left\",\r\n title: \"DATE SELECTION\",\r\n text: \"Selecting specific dates ranges will enable you to change the time period of data being displayed on the dashboard.\"\r\n },\r\n {\r\n className: \"performance-filter-helper-step\",\r\n position: \"right\",\r\n title: \"PERFORMANCE FILTER\",\r\n text: \"You are able to filter on specific funds, programmes and their status.\"\r\n },\r\n {\r\n className: \"csv-download-helper-step\",\r\n position: \"left\",\r\n title: \"DOWNLOAD DATA\",\r\n text: \"Click here to download an Excel
    spreadsheet containing a breakdown of the data based on the time period selected.\"\r\n },\r\n {\r\n className: \"graph-helper-step\",\r\n position: \"bottom\",\r\n title: \"GRAPH\",\r\n text: \"This graph illustrates all data for a specified period. You have the option to toggle
    between percentage and Rand value view. If there is insufficient data the graph will not display.\"\r\n },\r\n {\r\n className: \"enterpise-report-button-helper-step\", //move this helper to the report button item\r\n position: \"left\",\r\n title: \"VIEW MONTHLY REPORT\",\r\n text: \"Select to create, view and edit monthly reports.\"\r\n },\r\n {\r\n className: \"metric-helper-step\",\r\n position: \"bottom\",\r\n title: \"METRIC CARDS\",\r\n text: \"Metric cards indicate the values at a glance. Click each one to toggle them in the graph above.
    Click the ? icon for a detailed explanation and the I icon for additional information.\"\r\n },\r\n {\r\n className: \"breakdown-helper-step\",\r\n position: \"bottom\",\r\n title: \"BREAKDOWN\",\r\n text: \"The Breakdown presents a list of all the data.
    You can select any item to view further information. Clicking on the column names will allow you to filter the data.\"\r\n\r\n },\r\n {\r\n className: \"add-enterpise-helper-step\",\r\n position: \"bottom\",\r\n title: \"ADD ENTERPRISE\",\r\n text: \"You can add a new Enterprise by clicking
    this button.\"\r\n },\r\n {\r\n className: \"dropdown-button-helper-step\",\r\n position: \"left\",\r\n title: \"EXPAND OPTIONS\",\r\n text: \"Click the expand button for additional options pertaining to a certain Enterprise.\"\r\n },\r\n {\r\n className: \"select-enterpise-helper-step\",\r\n position: \"bottom\",\r\n title: \"SELECT ENTERPRISE\",\r\n text: \" This is a list of all the Enterprises. Select an Enterprise for more details. You are also able to filter by Name, Industry, Province, Headcount, BBEE level or Status.\"\r\n },\r\n {\r\n className: \"contact-details-menu-helper-step\",\r\n position: \"right\",\r\n title: \"CONTACT DETAILS\",\r\n type: \"menu\",\r\n text: \"Select the contact link in the side menu.
    Here you will find general contact details for Edge Growth.\"\r\n },\r\n {\r\n className: \"terms-of-use-helper-step\",\r\n position: \"right\",\r\n title: \"TERMS OF USE\",\r\n type: \"menu\",\r\n text: \"Select the Terms of use in the side menu. Here you will find the T&C around POPI.\"\r\n }\r\n\r\n // CORPORATE USER INSTRUCTIONS\r\n\r\n\r\n\r\n\r\n ];\r\n return help;\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n enter: enter\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction enter(formId, buttonId) {\r\n\r\n $('body').on(\"keyup\", function (event) {\r\n var keycode = (event.keyCode ? event.keyCode : event.which);\r\n if (keycode == '13') {\r\n\r\n $('#' + formId).find('input').each(function () {\r\n $(this).change();\r\n });\r\n\r\n $(\"#\" + buttonId).trigger(\"click\");\r\n }\r\n });\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar nav = require(\"app_utilities/default/app-nav\");\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n create: create,\r\n update: update,\r\n remove: remove,\r\n getById: getById,\r\n getByIdentityId: getByIdentityId,\r\n getActiveMentors: getActiveMentors,\r\n getInactiveMentors: getInactiveMentors,\r\n getActiveEnterprisesByMentor: getActiveEnterprisesByMentor,\r\n removeEnterprise: removeEnterprise,\r\n getCVBase64: getCVBase64,\r\n createTimeRecord:createTimeRecord,\r\n editTimeRecord:editTimeRecord,\r\n deleteTimeRecord:deleteTimeRecord,\r\n getMonthlyTimesheet: getMonthlyTimesheet,\r\n addMentorReportAdditionalInfo: addMentorReportAdditionalInfo,\r\n getMonthlyEnterpriseRating: getMonthlyEnterpriseRating,\r\n updateMonthlyEnterpriseRating: updateMonthlyEnterpriseRating,\r\n getMentorMonthlyReport: getMentorMonthlyReport,\r\n completeMentorMonthlyEnterpriseReport: completeMentorMonthlyEnterpriseReport,\r\n getMentorReportDocuments: getMentorReportDocuments,\r\n //getMentorReportDocument: getMentorReportDocument,\r\n addMentorReportDocument: addMentorReportDocument,\r\n updateMentorReportDocument: updateMentorReportDocument,\r\n deleteMentorReportDocument: deleteMentorReportDocument,\r\n getMentorReportDocumentBase64: getMentorReportDocumentBase64,\r\n createMentorMonthlyReport: createMentorMonthlyReport,\r\n updateMentorReportAdditionalInfo: updateMentorReportAdditionalInfo,\r\n removeMentorReportAdditionalInfo: removeMentorReportAdditionalInfo,\r\n getMentorReportAdditionalInfo: getMentorReportAdditionalInfo,\r\n deleteMentorReport: deleteMentorReport,\r\n approveMentorRatingOfEnterprise: approveMentorRatingOfEnterprise,\r\n getSpecialtyName: getSpecialtyName,\r\n\r\n getDashboardDatePickerValidMonths: getDashboardDatePickerValidMonths,\r\n getDashboardDefaultDateRange: getDashboardDefaultDateRange,\r\n getDashboardPerformanceBreakdown: getDashboardPerformanceBreakdown,\r\n getDashboardPerformanceMetrics: getDashboardPerformanceMetrics,\r\n getDashboardPerformanceChart: getDashboardPerformanceChart,\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: add ------------------------------------------------------------------------------------\r\nfunction create(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/create\",\r\n data: data\r\n }\r\n \r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: update ---------------------------------------------------------------------------------\r\nfunction update(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/update\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: update ---------------------------------------------------------------------------------\r\nfunction remove(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/update\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getById --------------------------------------------------------------------------------\r\nfunction getById(Id) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetById?Id=\" + Id\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getByIdentityId ------------------------------------------------------------------------\r\nfunction getByIdentityId(Id) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetByIdentityId?Id=\" + Id\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveMentors -----------------------------------------------------------------------\r\nfunction getActiveMentors(page, pageSize, search, availability, provinceId, specialtyId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetActiveMentors?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&availability=\" + availability + \"&provinceId=\" + provinceId + \"&specialtyId=\" + specialtyId\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getInactiveMentors ---------------------------------------------------------------------\r\nfunction getInactiveMentors(page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetInactiveMentors?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveEnterprisesByMentor -----------------------------------------------------------\r\nfunction getActiveEnterprisesByMentor(mentorId, page, pageSize, search, industryId, sizeId, provinceId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/getActiveEnterprisesByMentor?mentorId=\" + mentorId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&industryId=\" + industryId + \"&sizeId=\" + sizeId + \"&provinceId=\" + provinceId,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeEnterprise -----------------------------------------------------------------------\r\nfunction removeEnterprise(mentorId, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n FundId: fundId,\r\n EnterpriseId: enterpriseId\r\n }\r\n\r\n var request = {\r\n url: \"api/mentor/removeEnterprise\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getCVBase64 ----------------------------------------------------------------------------\r\nfunction getCVBase64(mentorId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetCVBase64?mentorId=\" + mentorId,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n //console.log('got result', result)\r\n def.resolve(result.data.data);\r\n },\r\n function (error) {\r\n //console.log('got error',error)\r\n def.reject(error.message.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: createTimeRecord -----------------------------------------------------------------------\r\nfunction createTimeRecord(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/CreateTimeRecord\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: editTimeRecord -------------------------------------------------------------------------\r\nfunction editTimeRecord(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/EditTimeRecord\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: DeleteTimeRecord -----------------------------------------------------------------------\r\nfunction deleteTimeRecord(id) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/DeleteTimeRecord?Id=\" + id \r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getMonthlyTimesheet --------------------------------------------------------------------\r\nfunction getMonthlyTimesheet(mentoId, month) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetMonthlyTimesheet?MentorId=\" + mentoId + \"&month=\" + month \r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n\r\n// Function: getMonthlyEnterpriseRating --------------------------------------------------------------------\r\nfunction getMonthlyEnterpriseRating(performanceId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetMentorReportEnterpriseRating?id=\" + performanceId\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: updateMonthlyEnterpriseRating ---------------------------------------------------------------\r\nfunction updateMonthlyEnterpriseRating(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/UpdateMentorReportEnterpriseRating\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: deleteMentorReport -------------------------------------------------------------------------\r\nfunction deleteMentorReport(id) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/DeleteMentorReport?id=\" + id,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: GetMentorMonthlyReport ---------------------------------------------------------------\r\nfunction getMentorMonthlyReport(id) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetMentorMonthlyReport?id=\" + id,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n// Function: getMentorReportDocuments ---------------------------------------------------------------\r\nfunction getMentorReportDocuments(enterpriseId, reportMonth) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/getMentorReportDocuments?enterpriseId=\" + enterpriseId + \"&reportMonth=\" + reportMonth,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n// Function: addMentorReportDocument ----------------------------------------------------------------------------\r\nfunction addMentorReportDocument(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/AddMentorReportDocument\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: updateMentorReportDocument -------------------------------------------------------------------------\r\nfunction updateMentorReportDocument(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/UpdateMentorReportDocument\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteMentorReportDocument -------------------------------------------------------------------------\r\nfunction deleteMentorReportDocument(documentId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/DeleteMentorReportDocument?documentId=\" + documentId,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getMentorReportDocumentBase64 ----------------------------------------------------------------------\r\nfunction getMentorReportDocumentBase64(documentId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetMentorReportDocumentBase64?documentId=\" + documentId,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: createMentorMonthlyReport ----------------------------------------------------------\r\nfunction createMentorMonthlyReport(data) {\r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/mentor/CreateMentorMonthlyReport\",\r\n data: data\r\n }\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: completeMentorMonthlyEnterpriseReport ------------------------------------------------------\r\nfunction completeMentorMonthlyEnterpriseReport(mentorReportBaseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/completeMentorMonthlyEnterpriseReport\",\r\n data: { mentorReportBaseId: mentorReportBaseId }\r\n };\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: getMentorReportAdditionalInfo ------------------------------------------------------\r\nfunction getMentorReportAdditionalInfo(id) {\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/getMentorReportAdditionalInfo?id=\" + id,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: addMentorReportAdditionalInfo ----------------------------------------------------------\r\nfunction addMentorReportAdditionalInfo(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/addMentorReportAdditionalInfo\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: updateMentorReportAdditionalInfo ------------------------------------------------------\r\nfunction updateMentorReportAdditionalInfo(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/updateMentorReportAdditionalInfo\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeMentorReportAdditionalInfo ------------------------------------------------------\r\nfunction removeMentorReportAdditionalInfo(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/removeMentorReportAdditionalInfo\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: approveMentorRatingOfEnterprise -------------------------------------------------------------------\r\nfunction approveMentorRatingOfEnterprise(mentorReportBaseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/ApproveMonthlyPerformanceEnterpriseRating?mentorReportBaseId=\" + mentorReportBaseId,\r\n }\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getMentorDashboardDatePickerValidMonths -----------------------------------------------------\r\nfunction getDashboardDatePickerValidMonths() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetDashboardDatePickerValidMonths\"\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getMentorDashboardPerformanceChart -----------------------------------------------------\r\nfunction getDashboardPerformanceChart(dateFrom, dateTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetDashboardPerformanceChart?from=\" + dateFrom + \"&to=\" + dateTo\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getMentorDashboardPerformanceBreakdown -------------------------------------------------\r\nfunction getDashboardPerformanceBreakdown(dateFrom, dateTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetDashboardPerformanceBreakdown?from=\" + dateFrom + \"&to=\" + dateTo \r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getMentorDashboardPerformanceMetrics ---------------------------------------------------\r\nfunction getDashboardPerformanceMetrics(dateFrom, dateTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetDashboardPerformanceMetrics?from=\" + dateFrom + \"&to=\" + dateTo\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getMentorDashboardDefaultDateRange -----------------------------------------------------\r\nfunction getDashboardDefaultDateRange(dateFrom, dateTo) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/mentor/GetDashboardDefaultDateRange?dateFrom=\" + dateFrom + \"&dateTo=\" + dateTo\r\n };\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n// Function: getSpecialtyName -------------------------------------------------------------------\r\nfunction getSpecialtyName(indexes, SpecialtiesList) {\r\n var ret = [];\r\n var indexArray = indexes ? (indexes.indexOf(';') == -1 ? [indexes] : indexes.split(';')) : [];\r\n for (var a = 0; a < SpecialtiesList.length; a++) {\r\n for (var b = 0; b < indexArray.length; b++) {\r\n if (SpecialtiesList[a][\"Id\"] == indexArray[b]) {\r\n ret.push(SpecialtiesList[a][\"Name\"]);\r\n };\r\n };\r\n };\r\n return ret;\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar nav = require(\"app_utilities/default/app-nav\");\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\nconst jwt_decode = require('jwt-decode');\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\nvar appAuth = require(\"app_utilities/default/app-auth\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\nmodule.exports = {\r\n validateMFAChallengeCode: validateMFAChallengeCode,\r\n getEmailCode: getEmailCode,\r\n getSetupCode: getSetupCode,\r\n verifyCode: verifyCode,\r\n getMFAStatus: getMFAStatus\r\n}\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n//Function: getMFAStatus -------------------------------------------------------------------------\r\nfunction getMFAStatus(email) {\r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/mfa/status?email=\" + encodeURIComponent(email),\r\n }\r\n\r\n apiHandler.get(request).then(result => {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n return def.promise();\r\n}\r\n//Function: getEmailCode -------------------------------------------------------------------------\r\nfunction getEmailCode(email) {\r\n\r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/mfa/emailCode?email=\" + encodeURIComponent(email),\r\n }\r\n apiHandler.get(request).then(result => {\r\n def.resolve(result);\r\n });\r\n return def.promise();\r\n}\r\n\r\n// Function: validateMFAChallengeCode -------------------------------------------------------------------------\r\nfunction validateMFAChallengeCode(loginData) {\r\n\r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/mfa/validate\",\r\n data: loginData\r\n }\r\n apiHandler.post(request).then(result => {\r\n\r\n const data = result.data;\r\n console.log(\"result.data\", data);\r\n\r\n if(data.AccessToken){\r\n appAuth.setAuthToken(result.data.AccessToken);\r\n appAuth.setRefreshAuthToken(result.data.RefreshToken);\r\n nav.setNavCurrent(undefined);\r\n var decodedUserData = jwt_decode(result.data.AccessToken);\r\n\r\n var loggedInUser = {\r\n displayName: decodedUserData.DisplayName,\r\n email: decodedUserData.Email,\r\n userRole: decodedUserData.UserRole,\r\n company: decodedUserData.Company,\r\n termsOfUseAgreedDateStamp: decodedUserData.TermsOfUseAgreedDateStamp,\r\n };\r\n \r\n cookie.setCookie(\"loggedInUser\", JSON.stringify(loggedInUser));\r\n cookie.setCookie(\"authToken\", JSON.stringify(result.data));\r\n \r\n user.setCurrentUser(loggedInUser);\r\n def.resolve(loggedInUser);\r\n }\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n return def.promise();\r\n}\r\n\r\n// Function: getSetupCode -------------------------------------------------------------------------\r\nfunction getSetupCode(email) {\r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/mfa/setupInfo?email=\" + encodeURIComponent(email),\r\n }\r\n\r\n apiHandler.get(request).then(result => {\r\n const data = result.data;\r\n const setupInfo = data;\r\n console.log(\"setupInfo\", setupInfo);\r\n def.resolve(setupInfo);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n return def.promise();\r\n}\r\n\r\n// Function: verifyCode -------------------------------------------------------------------------\r\nfunction verifyCode(email, code) {\r\n var def = $.Deferred();\r\n var request = {\r\n url: \"api/mfa/Verify?email=\" + encodeURIComponent(email) + \"&code=\" + code,\r\n }\r\n apiHandler.get(request).then(result => {\r\n const data = result.data;\r\n def.resolve(data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\n","var app = require(\"app\");\r\n\r\nmodule.exports = {\r\n addNewProduct: addNewProduct,\r\n destroyMultiSelect: destroyMultiSelect,\r\n buildEnterpriseProducts: buildEnterpriseProducts,\r\n buildSelectedProductObjectArray: buildSelectedProductObjectArray,\r\n getDataFromMultiSelect: getDataFromMultiSelect\r\n};\r\n\r\n//Using\r\nfunction addNewProduct(widgetId, value) {\r\n\r\n var widget = $('#' + widgetId).getKendoMultiSelect();\r\n var dataSource = widget.dataSource;\r\n\r\n var multiselect = $(\"#products\").data(\"kendoMultiSelect\");\r\n\r\n if (confirm(\"Are you sure?\")) {\r\n var product = {\r\n ProductId: 999999999 + Math.random(100000000),//Temp Id for kendo to bind.\r\n ProductName: value,\r\n Create: true\r\n }\r\n\r\n dataSource.add(product);\r\n var newValue = product.ProductId;\r\n multiselect.value(widget.value().concat([newValue]));\r\n\r\n dataSource.one(\"sync\", function () {\r\n widget.value(widget.value().concat([newValue]));\r\n });\r\n }\r\n}\r\n\r\nfunction buildEnterpriseProducts(industryId, userSelectedProductItems) {\r\n\r\n var userSelectedProductItems = getDataFromMultiSelect(\"#products\");\r\n var productsToAddToEnterprise = buildSelectedProductObjectArray(userSelectedProductItems, industryId);\r\n return productsToAddToEnterprise;\r\n}\r\n\r\nfunction buildSelectedProductObjectArray(userSelectedProductItems, industryId) {\r\n\r\n var selectedProductsObjectArray = [];\r\n\r\n userSelectedProductItems.forEach(function(selectedItem) {\r\n\r\n var selectProductObject = {};\r\n selectProductObject.IndustryId = industryId;\r\n selectProductObject.ProductId = selectedItem.ProductId;\r\n selectProductObject.ProductName = selectedItem.ProductName;\r\n\r\n if (selectedItem.Create) {\r\n selectProductObject.ProductId = 0;\r\n }\r\n\r\n selectedProductsObjectArray.push(selectProductObject);\r\n });\r\n\r\n return selectedProductsObjectArray\r\n}\r\n\r\nfunction getDataFromMultiSelect(id) {\r\n\r\n var multiselect = $(id).data('kendoMultiSelect');\r\n\r\n var userSelectedItems = multiselect.dataItems();\r\n return userSelectedItems;\r\n}\r\n\r\nfunction destroyMultiSelect(selector) {\r\n\r\n var multiselect = $(selector).data('kendoMultiSelect');\r\n if (multiselect) {\r\n\r\n multiselect.destroy();\r\n\r\n $(selector).unwrap('.k-multiselect').show().empty();\r\n\r\n $(\".k-multiselect-wrap\").remove();\r\n }\r\n}","var apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n\r\nmodule.exports = {\r\n updateEnterpriseStatusOnFund: updateEnterpriseStatusOnFund,\r\n updateEnterpriseStatusOnProgramme: updateEnterpriseStatusOnProgramme\r\n};\r\n\r\nfunction updateEnterpriseStatusOnFund(enterpriseId, fundId, status) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/fund/UpdateEnterpriseStatusOnFund?enterpriseId=\" + enterpriseId + \"&fundId=\" + fundId + \"&status=\" + status ,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\nfunction updateEnterpriseStatusOnProgramme(enterpriseId, programmeId, status) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/UpdateEnterpriseStatusOnProgramme?enterpriseId=\" + enterpriseId + \"&programmeId=\" + programmeId + \"&status=\" + status,\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar nav = require(\"app_utilities/default/app-nav\");\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n getPhases: getPhases,\r\n add: add,\r\n update: update,\r\n getProgrammes: getProgrammes, \r\n getProgrammeById: getProgrammeById, \r\n deleteProgramme: deleteProgramme,\r\n restoreProgramme: restoreProgramme,\r\n addProjectManager: addProjectManager,\r\n removeProjectManager: removeProjectManager,\r\n makeLeadProjectManager: makeLeadProjectManager,\r\n addEnterprise: addEnterprise,\r\n removeEnterprise: removeEnterprise,\r\n getActiveEnterprisesByProgramme: getActiveEnterprisesByProgramme,\r\n getNoneAssignedEnterprisesByProgramme: getNoneAssignedEnterprisesByProgramme,\r\n getNoneAssignedProjectManagersByProgramme: getNoneAssignedProjectManagersByProgramme,\r\n addCorporate: addCorporate,\r\n removeCorporate: removeCorporate,\r\n getNoneAssignedCorporaresByProgramme:getNoneAssignedCorporaresByProgramme \r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: getPhases ----------------------------------------------------------------------------\r\nfunction getPhases() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/GetPhases\"\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: add ------------------------------------------------------------------------------------\r\nfunction add(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/create\",\r\n data: data\r\n }\r\n \r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: update ---------------------------------------------------------------------------------\r\nfunction update(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/update\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteProgramme ------------------------------------------------------------------------\r\nfunction deleteProgramme(programmeId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/delete?programmeId=\" + programmeId \r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: restoreProgramme -----------------------------------------------------------------------\r\nfunction restoreProgramme(programmeId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/restore?programmeId=\" + programmeId\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addProjectManager ----------------------------------------------------------------------\r\nfunction addProjectManager(programmeId, projectMangerId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n ProgrammeId: programmeId,\r\n ProjectMangerId: projectMangerId\r\n }\r\n\r\n var request = {\r\n url: \"api/programme/addProjectManager\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addEnterprise --------------------------------------------------------------------------\r\nfunction addEnterprise(programmeId, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n ProgrammeId: programmeId,\r\n EnterpriseId: enterpriseId\r\n }\r\n\r\n var request = {\r\n url: \"api/programme/addEnterprise\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeEnterprise -----------------------------------------------------------------------\r\nfunction removeEnterprise(programmeId, enterpriseId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n ProgrammeId: programmeId,\r\n EnterpriseId: enterpriseId\r\n }\r\n\r\n var request = {\r\n url: \"api/programme/removeEnterprise\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getProgrammes --------------------------------------------------------------------\r\nfunction getProgrammes(page, pageSize, search, startDate, endDate, status, phase, userRole) {\r\n\r\n var def = $.Deferred();\r\n\r\n var url;\r\n\r\n if (userRole === \"Corporate\") {\r\n url = \"api/corporate/getProgrammes?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&startDate=\" + startDate + \"&endDate=\" + endDate + \"&status=\" + status + \"&phase=\" + phase\r\n\r\n } else {\r\n url = \"api/programme/getProgrammes?page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&startDate=\" + startDate + \"&endDate=\" + endDate + \"&status=\" + status + \"&phase=\" + phase\r\n }\r\n\r\n var request = {\r\n url: url\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getProgrammeById -----------------------------------------------------------------------\r\nfunction getProgrammeById(programmeId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/getProgrammeById?programmeId=\" + programmeId\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveEnterprisesByProgramme --------------------------------------------------------\r\nfunction getActiveEnterprisesByProgramme(programmeId, page, pageSize, search, industryId, sizeId, provinceId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/getActiveEnterprisesByProgramme?programmeId=\" + programmeId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search + \"&industryId=\" + industryId + \"&sizeId=\" + sizeId + \"&provinceId=\" + provinceId,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getNoneAssignedEnterprisesByProgramme -------------------------------------------------------------\r\nfunction getNoneAssignedEnterprisesByProgramme(programmeId, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/GetNoneAssignedEnterprises?programmeId=\" + programmeId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeProjectManager --------------------------------------------------------------------------\r\nfunction removeProjectManager(programmeId, managerId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n ProgrammeId: programmeId,\r\n ProjectMangerId: managerId\r\n }\r\n\r\n var request = {\r\n url: \"api/programme/removeProjectManager\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: makeLeadProjectManager --------------------------------------------------------------------------\r\nfunction makeLeadProjectManager(ProgrammeId, managerId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n ProgrammeId: ProgrammeId,\r\n ProjectMangerId: managerId\r\n }\r\n\r\n var request = {\r\n url: \"api/programme/MakeLeadProjectManager\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getNoneAssignedProjectManagersByFund -------------------------------------------------------------\r\nfunction getNoneAssignedProjectManagersByProgramme(programmeId, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/GetNoneAssignedProjectManagers?programmeId=\" + programmeId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: addCorporate ----------------------------------------------------------------------\r\nfunction addCorporate(programmeId, corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n ProgrammeId: programmeId,\r\n CorporateId: corporateId\r\n }\r\n\r\n var request = {\r\n url: \"api/programme/addCorporate\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: removeCorporate ----------------------------------------------------------------------\r\nfunction removeCorporate(programmeId, corporateId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var data = {\r\n ProgrammeId: programmeId,\r\n CorporateId: corporateId\r\n }\r\n\r\n var request = {\r\n url: \"api/programme/removeCorporate\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getNoneAssignedCorporaresByProgramme -------------------------------------------------------------\r\nfunction getNoneAssignedCorporaresByProgramme(programmeId, page, pageSize, search) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/programme/GetNoneAssignedCorporates?programmeId=\" + programmeId + \"&page=\" + page + \"&pageSize=\" + pageSize + \"&search=\" + search,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar nav = require(\"app_utilities/default/app-nav\");\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\nmodule.exports = {\r\n accept: accept,\r\n userHasAcceptedTermsOfCompliance: userHasAcceptedTermsOfCompliance\r\n};\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: add ------------------------------------------------------------------------------------\r\nfunction accept(data) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/account/updateTermsOfCompliance\",\r\n data: data\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction userHasAcceptedTermsOfCompliance() {\r\n if (cookie.getCookie(\"loggedInUser\")) {\r\n var dateUserAcceptedTermsAndConditions = JSON.parse(cookie.getCookie(\"loggedInUser\")).termsOfUseAgreedDateStamp;\r\n return (!dateUserAcceptedTermsAndConditions) ? true : false;\r\n }\r\n return false;\r\n}\r\n","var map = {\n\t\"./app-ajax.js\": \"./App/utilities/default/app-ajax.js\",\n\t\"./app-auth.js\": \"./App/utilities/default/app-auth.js\",\n\t\"./app-config.js\": \"./App/utilities/default/app-config.js\",\n\t\"./app-cookies.js\": \"./App/utilities/default/app-cookies.js\",\n\t\"./app-dialog.js\": \"./App/utilities/default/app-dialog.js\",\n\t\"./app-errors.js\": \"./App/utilities/default/app-errors.js\",\n\t\"./app-exceptions.js\": \"./App/utilities/default/app-exceptions.js\",\n\t\"./app-loading.js\": \"./App/utilities/default/app-loading.js\",\n\t\"./app-nav.js\": \"./App/utilities/default/app-nav.js\",\n\t\"./app-notify.js\": \"./App/utilities/default/app-notify.js\",\n\t\"./app-render.js\": \"./App/utilities/default/app-render.js\",\n\t\"./app-router.js\": \"./App/utilities/default/app-router.js\",\n\t\"./app-routes.js\": \"./App/utilities/default/app-routes.js\",\n\t\"./app-startup.js\": \"./App/utilities/default/app-startup.js\",\n\t\"./app-tag.js\": \"./App/utilities/default/app-tag.js\",\n\t\"./app-try-parse.js\": \"./App/utilities/default/app-try-parse.js\",\n\t\"./app-ui.js\": \"./App/utilities/default/app-ui.js\",\n\t\"./app-user.js\": \"./App/utilities/default/app-user.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./App/utilities/default sync ^\\\\.\\\\/.*\\\\.js$\";","/// \r\n// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nconst jwt_decode = require('jwt-decode');\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n download: download,\r\n post: post,\r\n get: get,\r\n verifyAuth: verifyAuth,\r\n postForm:postForm\r\n};\r\n\r\nfunction verifyAuth(request) {\r\n // console.log(`verifyAuth for ${request.url}`);\r\n\r\n const def = $.Deferred();\r\n\r\n const apiPromise = $.ajax({\r\n url: request.url,\r\n dataType: \"json\",\r\n type: \"get\",\r\n //beforeSend: function () {\r\n // // console.log(\"sending post to \" + request.url + \"...\");\r\n //}\r\n });\r\n\r\n apiPromise.done(function (data, textStatus, jqXHR) {\r\n //// console.log(\"post successful to \" + request.url + \"...\");\r\n\r\n var result = {\r\n data: data,\r\n textStatus: textStatus,\r\n jqXHR: jqXHR\r\n };\r\n\r\n //// console.log(result);\r\n\r\n def.resolve(result);\r\n });\r\n\r\n apiPromise.fail(function (jqXHR, textStatus, errorThrown) {\r\n errorResponse(def, jqXHR, textStatus, errorThrown, \"get\", request);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\nfunction postForm(request,retryDef){\r\n let def;\r\n if (retryDef) {\r\n def = retryDef;\r\n } else {\r\n def = $.Deferred();\r\n }\r\n\r\n let headers = {\r\n \r\n };\r\n\r\n if (cookie.getCookie(\"authToken\")) {\r\n const authData = JSON.parse(cookie.getCookie(\"authToken\"));\r\n headers[\"Authorization\"] = 'Bearer ' + authData.AccessToken\r\n }\r\n\r\n const apiPromise = $.ajax({\r\n url: request.url,\r\n headers: headers,\r\n data: request.data,\r\n type: \"post\",\r\n contentType: false,\r\n processData: false,\r\n //beforeSend: function () {\r\n // // console.log(\"sending post to \" + request.url + \"...\");\r\n //}\r\n });\r\n\r\n apiPromise.done(function (data, textStatus, jqXHR) {\r\n //// console.log(\"post successful to \" + request.url + \"...\");\r\n var result = {\r\n data: data,\r\n textStatus: textStatus,\r\n jqXHR: jqXHR\r\n };\r\n \r\n //// console.log(result);\r\n \r\n def.resolve(result);\r\n });\r\n \r\n apiPromise.fail(function (jqXHR, textStatus, errorThrown) {\r\n errorResponse(def, jqXHR, textStatus, errorThrown, \"post\", request);\r\n });\r\n \r\n return def.promise();\r\n}\r\n\r\nfunction post(request, retryDef, customHeaders = null) {\r\n let def;\r\n\r\n if (retryDef) {\r\n def = retryDef;\r\n } else {\r\n def = $.Deferred();\r\n }\r\n\r\n let headers = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization':''\r\n };\r\n\r\n if(customHeaders){\r\n headers = customHeaders;\r\n }\r\n\r\n if (cookie.getCookie(\"authToken\")) {\r\n const authData = JSON.parse(cookie.getCookie(\"authToken\"));\r\n headers[\"Authorization\"] = 'Bearer ' + authData.AccessToken\r\n }\r\n\r\n const apiPromise = $.ajax({\r\n url: request.url,\r\n headers: headers,\r\n dataType: \"json\",\r\n type: \"post\",\r\n data: JSON.stringify(request.data),\r\n //beforeSend: function () {\r\n // // console.log(\"sending post to \" + request.url + \"...\");\r\n //}\r\n });\r\n\r\n apiPromise.done(function (data, textStatus, jqXHR) {\r\n //// console.log(\"post successful to \" + request.url + \"...\");\r\n var result = {\r\n data: data,\r\n textStatus: textStatus,\r\n jqXHR: jqXHR\r\n };\r\n\r\n //// console.log(result);\r\n\r\n def.resolve(result);\r\n });\r\n\r\n apiPromise.fail(function (jqXHR, textStatus, errorThrown) {\r\n errorResponse(def, jqXHR, textStatus, errorThrown, \"post\", request);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction get(request, retryDef) {\r\n\r\n let def;\r\n\r\n if (retryDef) {\r\n def = retryDef;\r\n } else {\r\n def = $.Deferred();\r\n }\r\n\r\n let headers = {\r\n };\r\n\r\n if (cookie.getCookie(\"authToken\")) {\r\n const authData = JSON.parse(cookie.getCookie(\"authToken\"));\r\n headers = {\r\n \"Authorization\": \"Bearer \" + authData.AccessToken\r\n }\r\n }\r\n\r\n const apiPromise = $.ajax({\r\n url: request.url,\r\n headers: headers,\r\n dataType: \"json\",\r\n type: \"get\"\r\n //beforeSend: function () {\r\n // // console.log(\"sending post to \" + request.url + \"...\");\r\n //}\r\n });\r\n\r\n apiPromise.done(function (data, textStatus, jqXHR) {\r\n def.resolve({\r\n data: data,\r\n textStatus: textStatus,\r\n jqXHR: jqXHR\r\n });\r\n });\r\n\r\n apiPromise.fail(function (jqXHR, textStatus, errorThrown) {\r\n errorResponse(def, jqXHR, textStatus, errorThrown, \"get\", request);\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\nfunction download(request) {\r\n let headers = {};\r\n\r\n if (window.authToken) {\r\n headers = { \"Authorization\": \"Bearer \" + window.authToken }\r\n }\r\n const promise = fetch(request.url, {\r\n headers: headers\r\n });\r\n\r\n return promise;\r\n}\r\n\r\nfunction retry(request, verb, def) {\r\n //console.warn(`try #${tries} ${verb} ${request.url}`);\r\n //if (tries <= 2) {\r\n if (verb === \"get\") {\r\n get(request, def);\r\n } else {\r\n post(request, def);\r\n }\r\n //} else {\r\n // //console.warn('retry: logOut due to tries on');\r\n // logOut();\r\n //};\r\n}\r\n\r\nfunction logOut() {\r\n window.authToken = \"\";\r\n window.refreshAuthToken = \"\";\r\n window.appCurrentUser = \"\";\r\n cookie.removeCookie(\"authToken\");\r\n cookie.removeCookie(\"loggedInUser\");\r\n window.appRouter.navigate(\"/login\");\r\n}\r\n\r\nfunction errorResponse(def, jqXHR, textStatus, errorThrown, methodType, request) {\r\n\r\n if (jqXHR.status === 401) {\r\n // console.log(\"401\");\r\n if (!authTokenExists()) {\r\n // console.log(\"401 no auth token...logOut\");\r\n logOut();\r\n }\r\n if (authTokenExpired()) {\r\n // console.log(\"401 token expired...refreshing...\");\r\n refreshToken().then((success) => {\r\n if (success) {\r\n // console.log(\"authtoken Refreshed\")\r\n retry(request, methodType, def);\r\n }\r\n else {\r\n // console.log('Error refreshing token');\r\n logOut();\r\n }\r\n });\r\n } else {\r\n // console.log('401 not authorized');\r\n def.resolve({\r\n type: methodType,\r\n jqXHR: jqXHR,\r\n textStatus: textStatus,\r\n status: jqXHR.status,\r\n message: \"You are not authorised to perform this operation.\",\r\n errorThrown: errorThrown,\r\n request: request\r\n });\r\n\r\n window.appRouter.navigate(\"/\");\r\n }\r\n\r\n } else if (jqXHR.status === 500) {\r\n // console.log('500');\r\n def.reject({\r\n type: methodType,\r\n jqXHR: jqXHR,\r\n textStatus: textStatus,\r\n status: jqXHR.status,\r\n message: \"An error has occurred. Please try again, and if the problem persists, please contact support.\",\r\n errorThrown: errorThrown\r\n });\r\n\r\n } else {\r\n //// console.log(`errorResponse responseText ${jqXHR.responseText}`, jqXHR);\r\n let msg = \"\";\r\n try {\r\n msg = JSON.parse(jqXHR.responseText);\r\n } catch (e) {\r\n //// console.log(`errorResponse error parsing responseText ${jqXHR.responseText}`, e);\r\n msg = jqXHR.responseText;\r\n }\r\n def.reject({\r\n type: methodType,\r\n jqXHR: jqXHR,\r\n textStatus: textStatus,\r\n status: jqXHR.status,\r\n message: msg,\r\n errorThrown: errorThrown,\r\n request: request\r\n });\r\n }\r\n\r\n return def.promise();\r\n}\r\n\r\nfunction authTokenExists() {\r\n const authCookie = cookie.getCookie(\"authToken\");\r\n return authCookie != undefined;\r\n}\r\n\r\nfunction authTokenExpired() {\r\n const authCookie = cookie.getCookie(\"authToken\");\r\n const authData = JSON.parse(authCookie);\r\n const decodedInfo = jwt_decode(authData.AccessToken);\r\n const expiration = decodedInfo[\"exp\"];\r\n return moment().isAfter(expiration * 1000);\r\n}\r\n\r\nlet isRefreshingToken = false;\r\nlet refreshPromise = null;\r\nfunction refreshToken() {\r\n if (!isRefreshingToken) {\r\n isRefreshingToken = true;\r\n refreshPromise = new Promise((resolve) => {\r\n\r\n const authCookie = cookie.getCookie(\"authToken\");\r\n const authData = JSON.parse(authCookie);\r\n const decodedInfo = jwt_decode(authData.AccessToken);\r\n const expiration = decodedInfo[\"exp\"];\r\n // console.log('checking auth cookie moment', expiration);\r\n\r\n if (!moment().isAfter(expiration * 1000)) {\r\n //not expired...\r\n resolve(true);\r\n }\r\n\r\n const refreshTokenData = {\r\n AccessToken: authData.AccessToken,\r\n RefreshToken: authData.RefreshToken\r\n };\r\n\r\n const headers = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + refreshTokenData.AccessToken\r\n }\r\n\r\n // console.log('expired...refreshing...');\r\n\r\n $.ajax({\r\n url: config.settings.applicationUrl + \"api/Account/refresh-token\",\r\n dataType: \"json\",\r\n type: \"post\",\r\n headers: headers,\r\n data: JSON.stringify(refreshTokenData),\r\n success: (data) => {\r\n // console.log('Refresh success', data);\r\n cookie.setCookie(\"authToken\", JSON.stringify(data));\r\n window.authToken = data.AccessToken;\r\n window.refreshAuthToken = data.RefreshToken;\r\n resolve(true);\r\n },\r\n error: (jqXHR, textStatus, errorThrown) => {\r\n // console.log(`Error refreshing token: ${errorThrown}`);\r\n resolve(false);\r\n },\r\n complete: () => {\r\n isRefreshingToken = false;\r\n refreshPromise = null;\r\n }\r\n })\r\n });\r\n\r\n }\r\n return refreshPromise;\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar nav = require(\"app_utilities/default/app-nav\");\r\nvar config = require(\"app_utilities/default/app-config\");\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\nconst jwt_decode = require('jwt-decode');\r\nvar app = require(\"app\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n login: login,\r\n ssoLogin: ssoLogin,\r\n forgotPassword: forgotPassword,\r\n resetPassword: resetPassword,\r\n setPassword: setPassword,\r\n changePassword: changePassword,\r\n validatePasswordToken: validatePasswordToken,\r\n confirmEmail: confirmEmail,\r\n resendConfirmEmail: resendConfirmEmail,\r\n logOut: logOut,\r\n register: register,\r\n getActiveUsers: getActiveUsers,\r\n getInActiveUsers: getInActiveUsers,\r\n getAuthToken: getAuthToken,\r\n setAuthToken: setAuthToken,\r\n setRefreshAuthToken: setRefreshAuthToken,\r\n getRefreshAuthToken: getRefreshAuthToken,\r\n verifyAuth: verifyAuth,\r\n getUserProfile: getUserProfile,\r\n updateUserProfile: updateUserProfile,\r\n deleteUser: deleteUser,\r\n restoreUser: restoreUser,\r\n getSytemUsers: getSytemUsers,\r\n validateUser: validateUser\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: ssoLogin\r\nfunction ssoLogin(code, error, error_description) {\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"sso/callback?code=\" + code + \"&error=\" + error + \"&error_description=\" + error_description\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n \r\n setAuthToken(result.data.AccessToken);\r\n setRefreshAuthToken(result.data.RefreshToken);\r\n nav.setNavCurrent(undefined);\r\n var decodedUserData = jwt_decode(result.data.AccessToken);\r\n \r\n var loggedInUser = {\r\n displayName: decodedUserData.DisplayName,\r\n email: decodedUserData.Email,\r\n userRole: decodedUserData.UserRole,\r\n company: decodedUserData.Company,\r\n termsOfUseAgreedDateStamp: decodedUserData.TermsOfUseAgreedDateStamp\r\n };\r\n \r\n cookie.setCookie(\"loggedInUser\", JSON.stringify(loggedInUser));\r\n cookie.setCookie(\"authToken\", JSON.stringify(result.data));\r\n \r\n user.setCurrentUser(loggedInUser);\r\n def.resolve(loggedInUser);\r\n \r\n },\r\n function (error) {\r\n app.AppRouter.router.navigate(\"/sso/login-error\");\r\n });\r\n\r\n return def.promise();\r\n}\r\n\r\n\r\nfunction validateUser(loginData) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/ValidateUser\",\r\n data: loginData\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n\r\n var validatedUser = {\r\n isSSO: result.data.isSSO\r\n };\r\n\r\n def.resolve(validatedUser);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: login ----------------------------------------------------------------------------------\r\nfunction login(loginData) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/Login\",\r\n data: loginData\r\n }\r\n\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n console.log('login result',result);\r\n if(result.data.mfa_required || result.data.mfa_registration_required){\r\n def.resolve(result.data);\r\n }else{\r\n setAuthToken(result.data.AccessToken);\r\n setRefreshAuthToken(result.data.RefreshToken);\r\n nav.setNavCurrent(undefined);\r\n var decodedUserData = jwt_decode(result.data.AccessToken);\r\n\r\n\r\n var loggedInUser = {\r\n displayName: decodedUserData.DisplayName,\r\n email: decodedUserData.Email,\r\n userRole: decodedUserData.UserRole,\r\n company: decodedUserData.Company,\r\n termsOfUseAgreedDateStamp: decodedUserData.TermsOfUseAgreedDateStamp,\r\n };\r\n\r\n cookie.setCookie(\"loggedInUser\", JSON.stringify(loggedInUser));\r\n cookie.setCookie(\"authToken\", JSON.stringify(result.data));\r\n\r\n user.setCurrentUser(loggedInUser);\r\n def.resolve(loggedInUser);\r\n }\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: forgotPassword -------------------------------------------------------------------------\r\nfunction forgotPassword(forgotPasswordData) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/ForgotPassword\",\r\n data: forgotPasswordData\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: resetPassword --------------------------------------------------------------------------\r\nfunction resetPassword(resetPasswordData) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/resetPassword\",\r\n data: resetPasswordData\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setPassword --------------------------------------------------------------------------\r\nfunction setPassword(setPasswordData) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/SetPassword\",\r\n data: setPasswordData\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: changePassword -------------------------------------------------------------------------\r\nfunction changePassword(changePasswordData) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/ChangePassword\",\r\n data: changePasswordData\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: validatePasswordToken ------------------------------------------------------------------\r\nfunction validatePasswordToken(resetPasswordData) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/ValidatePasswordToken\",\r\n data: resetPasswordData\r\n }\r\n\r\n apiHandler.post(request).then(\r\n\r\n function (result) {\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: confirmEmail ---------------------------------------------------------------------------\r\nfunction confirmEmail(user, token) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/ConfirmEmail?uid=\" + user + \"&token=\" + token,\r\n }\r\n\r\n apiHandler.get(request).then(\r\n\r\n function (result) {\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: resendConfirmEmail ---------------------------------------------------------------------\r\nfunction resendConfirmEmail(userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/ResendConfirmEmail?userId=\" + userId\r\n }\r\n\r\n apiHandler.post(request).then(\r\n\r\n function (result) {\r\n def.resolve();\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: logOut ---------------------------------------------------------------------------------\r\nfunction logOut() {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/Logout\"\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n setAuthToken(\"\");\r\n cookie.removeCookie(\"authToken\");\r\n cookie.removeCookie(\"loggedInUser\");\r\n user.setCurrentUser(\"\");\r\n cookie.removeCookie(\"brandingColourPrimary\");\r\n def.resolve();\r\n\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: register -------------------------------------------------------------------------------\r\nfunction register(registerData) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/Register\",\r\n data: registerData\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: updateUserProfile ----------------------------------------------------------------------\r\nfunction updateUserProfile(updateData) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/UpdateUserProfile\",\r\n data: updateData\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getUserProfile -------------------------------------------------------------------------\r\nfunction getUserProfile(userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n //should userId be blank, we return the logged in user's profile.\r\n var request = {\r\n url: \"api/Account/GetUserProfile?userId=\" + userId\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getActiveUsers -------------------------------------------------------------------------\r\nfunction getActiveUsers(page, pageSize, searchFilter) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/account/GetActiveUsers?page=\" + page + \"&pageSize=\" + pageSize + \"&filter=\" + searchFilter\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: getInActiveUsers -----------------------------------------------------------------------\r\nfunction getInActiveUsers(page, pageSize, searchFilter) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/account/GetInActiveUsers?page=\" + page + \"&pageSize=\" + pageSize + \"&filter=\" + searchFilter\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: deleteUser -----------------------------------------------------------------------------\r\nfunction deleteUser(userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/DeleteUser?userId=\" + userId\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: restoreUser ----------------------------------------------------------------------------\r\nfunction restoreUser(userId) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/Account/RestoreUser?userId=\" + userId\r\n }\r\n\r\n apiHandler.post(request).then(\r\n function (result) {\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: verifyAuth -----------------------------------------------------------------------------\r\nfunction verifyAuth() {\r\n\r\n if (cookie.getCookie(\"authToken\")) {\r\n return (true);\r\n } else {\r\n return (false);\r\n }\r\n\r\n //var request = {\r\n // url: \"Account/VerifyAuth\"\r\n //};\r\n\r\n //apiHandler.verifyAuth(request).then(\r\n // function (result) {\r\n // if (result.data) {\r\n // def.resolve(result.data)\r\n\r\n // } else {\r\n // def.reject(false);\r\n // };\r\n\r\n // },\r\n // function (error) {\r\n // def.reject(\"You are not authorized. Please login.\");\r\n // });\r\n\r\n};\r\n\r\n// Function: getAuthToken ---------------------------------------------------------------------------\r\nfunction getAuthToken() {\r\n return window.authToken;\r\n};\r\n\r\n// Function: setAuthToken ---------------------------------------------------------------------------\r\nfunction setAuthToken(token) {\r\n window.authToken = token;\r\n};\r\n\r\n// Function: getRefreshAuthToken --------------------------------------------------------------------\r\nfunction getRefreshAuthToken() {\r\n return window.refreshAuthToken;\r\n};\r\n\r\n// Function: setRefreshAuthToken --------------------------------------------------------------------\r\nfunction setRefreshAuthToken(token) {\r\n window.refreshAuthToken = token;\r\n};\r\n\r\n// Function: getSytemUsers -------------------------------------------------------------------------\r\nfunction getSytemUsers(page, pageSize, searchFilter) {\r\n\r\n var def = $.Deferred();\r\n\r\n var request = {\r\n url: \"api/account/GetSytemUsers?page=\" + page + \"&pageSize=\" + pageSize + \"&filter=\" + searchFilter\r\n }\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error.message);\r\n });\r\n\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: decodeToken --------------------------------------------------------------------\r\nfunction decodeToken() {\r\n if (window.authToken) {\r\n var decodedToken = jwt.jwtDecode(window.authToken);\r\n return decodedToken;\r\n }\r\n }\r\n\r\n// Function: getExpiryTime --------------------------------------------------------------------\r\nfunction getExpiryTime() {\r\nvar decoded = decodeToken();\r\nreturn decoded ? decoded.exp : null;\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n settings: window.appSettings,\r\n loginPage: window.appLoginPage\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar cookies = require(\"static_assets/js-cookie/src/js.cookie.js\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n getCookie: getCookie,\r\n setCookie: setCookie,\r\n removeCookie: removeCookie\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: functionName ---------------------------------------------------------------------------\r\nfunction getCookie(cookieName) {\r\n\r\n return cookies.get(cookieName);\r\n};\r\n\r\n// Function: functionName ---------------------------------------------------------------------------\r\nfunction setCookie(cookieName, cookieData, expires, path) {\r\n \r\n if (cookieName === \"authToken\" || cookieName === \"loggedInUser\") {\r\n expires = new Date; //TODO: to discuss with Dawie...\r\n expires.setFullYear(expires.getFullYear() + 1);\r\n expires.toGMTString();\r\n\r\n };\r\n \r\n cookies.set(cookieName, cookieData, { expires: expires, path: path });\r\n};\r\n\r\n\r\n// Function: functionName ---------------------------------------------------------------------------\r\nfunction removeCookie(cookieName) {\r\n\r\n cookies.remove(cookieName);\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n showConfirmation: showConfirmation,\r\n showAssignEnterprises: showAssignEnterprises,\r\n showAssignProjectManagers: showAssignProjectManagers,\r\n showAssignCorporateManagers: showAssignCorporateManagers,\r\n showAssignCorporates: showAssignCorporates,\r\n showAssignMentors: showAssignMentors,\r\n showAssignMissingMiddleFundingReasons: showAssignMissingMiddleFundingReasons,\r\n showWagrReportBreakdown: showWagrReportBreakdown,\r\n showProcurementGrowthWagrReportBreakdown: showProcurementGrowthWagrReportBreakdown,\r\n showProfitGrowthWagrReportBreakdown: showProfitGrowthWagrReportBreakdown,\r\n showTermsofComplianceForm: showTermsofComplianceForm\r\n\r\n\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n//showDialog-----------------------------------------------------------------------------------------\r\nfunction showConfirmation(data, showIn) {\r\n\r\n var def = $.Deferred();\r\n \r\n appRender.showLayout(\"#\" + showIn, {\r\n html: \"./default/common/modal/confirmation\",\r\n viewmodel: \"./default/common/modal/confirmation\",\r\n viewmodelParams: { data: data, def: def }\r\n });\r\n\r\n $('#' + data.Id).modal({ backdrop: 'static'},'show'); //this only only work here and not in the confirmation viewmodel\r\n\r\n return def.promise();\r\n};\r\n\r\n//showAssignEnterprises------------------------------------------------------------------------------\r\nfunction showAssignEnterprises(showIn, entity, entityId) {\r\n\r\n var def = $.Deferred();\r\n\r\n appRender.showLayout(\"#\" + showIn, {\r\n html: \"./default/common/modal/assign-enterprise-layout\",\r\n viewmodel: \"./default/common/modal/assign-enterprise-layout\",\r\n viewmodelParams: { def: def, entity: entity, entityId: entityId }\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n//showAssignProjectManagers--------------------------------------------------------------------------\r\nfunction showAssignProjectManagers(showIn, entity, entityId) {\r\n\r\n var def = $.Deferred();\r\n\r\n appRender.showLayout(\"#\" + showIn, {\r\n html: \"./default/common/modal/assign-pm-layout\",\r\n viewmodel: \"./default/common/modal/assign-pm-layout\",\r\n viewmodelParams: { def: def, entity: entity, entityId: entityId }\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n//showAssignProjectManagers--------------------------------------------------------------------------\r\nfunction showAssignCorporateManagers(showIn, entity, entityId) {\r\n\r\n var def = $.Deferred();\r\n\r\n appRender.showLayout(\"#\" + showIn, {\r\n html: \"./default/common/modal/assign-corporate-managers-layout\",\r\n viewmodel: \"./default/common/modal/assign-corporate-managers-layout\",\r\n viewmodelParams: { def: def, entity: entity, entityId: entityId }\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n//showAssignMissingMiddleFundingReasons--------------------------------------------------------------------------\r\nfunction showAssignMissingMiddleFundingReasons(showIn, selectedvalues) {\r\n\r\n var def = $.Deferred();\r\n\r\n appRender.showLayout(\"#\" + showIn, {\r\n html: \"./default/common/modal/assign-missing-middle-funding-reason-layout\",\r\n viewmodel: \"./default/common/modal/assign-missing-middle-funding-reason-layout\",\r\n viewmodelParams: { def: def, selectedvalues: selectedvalues }\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n//showAssignMentors----------------------------------------------------------------------------------\r\nfunction showAssignMentors(showIn, entityId) {\r\n\r\n var def = $.Deferred();\r\n\r\n appRender.showLayout(\"#\" + showIn, {\r\n html: \"./default/common/modal/assign-mentor-tabs\",\r\n viewmodel: \"./default/common/modal/assign-mentor-tabs\",\r\n viewmodelParams: { def: def, entityId: entityId }\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n//showAssignCorporates-------------------------------------------------------------------------------\r\nfunction showAssignCorporates(showIn, entity, entityId) {\r\n\r\n var def = $.Deferred();\r\n\r\n appRender.showLayout(\"#\" + showIn, {\r\n html: \"./default/common/modal/assign-corporate-layout\",\r\n viewmodel: \"./default/common/modal/assign-corporate-layout\",\r\n viewmodelParams: { def: def, entity: entity, entityId: entityId }\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n//showWagrReportBreakdown-------------------------------------------------------------------------------\r\nfunction showWagrReportBreakdown(showIn) {\r\n\r\n appRender.showView(\"#\" + showIn, {\r\n html: \"./default/common/modal/wagr-report-breakdown\",\r\n viewmodel: \"./default/common/modal/wagr-report-breakdown\"\r\n });\r\n}\r\n\r\n\r\n//showProcurementGrowthWagrReportBreakdown-------------------------------------------------------------------------------\r\nfunction showProcurementGrowthWagrReportBreakdown(showIn) {\r\n\r\n appRender.showView(\"#\" + showIn, {\r\n html: \"./default/common/modal/procurement-growth-wagr-report-breakdown\",\r\n viewmodel: \"./default/common/modal/procurement-growth-wagr-report-breakdown\"\r\n });\r\n}\r\n\r\n//showProfitGrowthWagrReportBreakdown-------------------------------------------------------------------------------\r\nfunction showProfitGrowthWagrReportBreakdown(showIn) {\r\n\r\n appRender.showView(\"#\" + showIn, {\r\n html: \"./default/common/modal/profit-growth-wagr-report-breakdown\",\r\n viewmodel: \"./default/common/modal/profit-growth-wagr-report-breakdown\"\r\n });\r\n}\r\n\r\n//showTermsofComplianceForm-------------------------------------------------------------------------------\r\nfunction showTermsofComplianceForm(showIn) {\r\n\r\n appRender.showView(\"#\" + showIn, {\r\n html: \"./custom/system/terms-of-compliance\",\r\n viewmodel: \"./custom/system/terms-of-compliance\"\r\n });\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\nvar exception = require('stacktrace-js');\r\nvar exceptionParse = require('error-stack-parser');\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n setGlobalError: setGlobalError,\r\n getGlobalError: getGlobalError,\r\n logException: logException,\r\n redirectException: redirectException\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: setGlobalError -------------------------------------------------------------------------\r\nfunction setGlobalError(globalError) {\r\n\r\n window.globalError = globalError;\r\n};\r\n\r\n// Function: getGlobalError -------------------------------------------------------------------------\r\nfunction getGlobalError() {\r\n\r\n return window.globalError;\r\n};\r\n\r\n// Function: logException ---------------------------------------------------------------------------\r\nfunction logException(error, callingFunction) {\r\n\r\n var def = $.Deferred();\r\n\r\n // add identifying variable in order to assist locating the issue origin\r\n error[\"callingFunction\"] = callingFunction;\r\n\r\n var exception = new Error(JSON.stringify(error));\r\n\r\n console.log(\"oops, an exception occurred...\");\r\n console.log(exception);\r\n\r\n //var request = {\r\n // url: applicationManager.getServerUrl() + \"/api/beta/exceptions\",\r\n // data: {\r\n // Message: JSON.stringify(error),\r\n // Name: exception.name,\r\n // Stack: exception.stack\r\n // }\r\n //}\r\n\r\n //apiHandler.post(request).then(\r\n // function (result) {\r\n\r\n // var errorData = {\r\n // title: \"Oops!\",\r\n // message: result.jqXHR.responseJSON.Message,\r\n // reference: result.jqXHR.responseJSON.Reference\r\n // }\r\n\r\n // _eqatecmonitor.trackException(exception, exception.message);\r\n\r\n // applicationManager.setGlobalError(errorData);\r\n // def.resolve(errorData);\r\n // },\r\n // function(error) {\r\n // _eqatecmonitor.trackException(JSON.stringify(error), error.message);\r\n\r\n // var errorData = {\r\n // title: \"Oops!\",\r\n // message: \"Please contact our support for assistance.\",\r\n // reference: undefined\r\n // }\r\n\r\n // applicationManager.setGlobalError(errorData);\r\n // def.resolve(errorData);\r\n // });\r\n\r\n def.resolve();\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: redirectException ----------------------------------------------------------------------\r\nfunction redirectException() {\r\n\r\n appRouter.router.navigate(\"/error\");\r\n return false;\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar exception = require('stacktrace-js');\r\nvar exceptionParse = require('error-stack-parser');\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar Utility = function () {\r\n\r\n //this.dependencies = [\r\n // \"Backend\"\r\n //];\r\n\r\n this.init = function () { return init(this); }\r\n this.report = function (error) { report(error); }\r\n};\r\n\r\nmodule.exports = Utility;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nfunction init(cstr) {\r\n\r\n var def = $.Deferred();\r\n\r\n def.resolve();\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction report(error) {\r\n\r\n// pubsub.subscribe(\"ONLINE\", testing);\r\n//\r\n// app.startup();\r\n\r\n //var def = $.Deferred();\r\n\r\n ////var test = exceptionParse.parse(error);\r\n ////console.log(\"here\");\r\n ////console.log(test);\r\n\r\n ////console.log(JSON.stringify(error.message));\r\n //exception.fromError(error).then(function (stackframes) {\r\n\r\n\r\n // var stringifiedStack = stackframes.map(function (sf) {\r\n // return sf.toString();\r\n // }).join('\\n');\r\n\r\n // console.log(app);\r\n\r\n // def.resolve(stringifiedStack);\r\n // //console.log(stringifiedStack);\r\n //});\r\n\r\n //return def.promise();\r\n};\r\n\r\nfunction generateStacktrace(error) {\r\n\r\n\r\n};\r\n\r\nfunction testing(msg, data) {\r\n console.log(\"system is ONLINE!\");\r\n console.log(msg);\r\n console.log(data);\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n show: show,\r\n hide: hide,\r\n disablePanel: disablePanel\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: show -----------------------------------------------------------------------------------\r\nfunction show(loadingText, def, isTransparent) {\r\n\r\n if (def) {\r\n def.always(function () {\r\n hide();\r\n });\r\n }\r\n\r\n $(\"#loading-pane .inner-wrapper\").removeClass(\"active\");\r\n $(\"#loading-pane\").removeClass(\"active\");\r\n $(\"#loading-pane\").css(\"width\", \"100vw\");\r\n $(\"#loading-pane\").css(\"height\", \"100vh\");\r\n if (isTransparent) {\r\n $(\"#loading-pane\").addClass(\"loader-opacity\");\r\n } else {\r\n $(\"#loading-pane\").removeClass(\"loader-opacity\");\r\n }\r\n $(\"html,body\").addClass(\"freeze\");\r\n\r\n};\r\n\r\n// Function: hide ------------------------------------------------------------------------------\r\nfunction hide() {\r\n $(\"#loading-pane .inner-wrapper\").addClass(\"active\");\r\n $(\"#loading-pane\").addClass(\"active\");\r\n $(\"html,body\").removeClass(\"freeze\");\r\n $(\"#loading-pane.fade-in.active\").css(\"transition\", \"none\")\r\n $(\"#loading-pane\").css(\"width\", \"0\");\r\n $(\"#loading-pane\").css(\"height\", \"0\");\r\n setActiveNavLink(window.appCurrentRoute)\r\n};\r\n\r\n//Function: setActiveNavLink\r\n//putting this function here because it's the last thing to trigger after the loading screen is hidden\r\nfunction setActiveNavLink(route) {\r\n const segment = route.url.split('/')[1];\r\n $(\".mainnav.navItem\")\r\n .removeClass('active')\r\n .filter(function () {\r\n const linkSegment = $(this).attr('href').split('/')[2]\r\n console.log(\"linkSegment\", linkSegment);\r\n return linkSegment === segment || linkSegment.startsWith(segment);\r\n })\r\n .addClass('active');\r\n\r\n $(\".sub-nav.navItem\")\r\n .removeClass('active')\r\n .filter(function () {\r\n const linkSegment = $(this).attr('href').split('/')[2]\r\n return linkSegment === segment || linkSegment.startsWith(segment);\r\n })\r\n .addClass('active');\r\n}\r\n\r\n// Function: disablePanel ---------------------------------------------------------------------\r\nfunction disablePanel(e, promise, panelClass, panelId) {\r\n var panelElement, element;\r\n\r\n if (panelId) {\r\n panelElement = $(\"#\" + panelId);\r\n } else if (panelClass) {\r\n element = $(e.currentTarget);\r\n panelElement = element.closest(\".\" + panelClass);\r\n } else {\r\n element = $(e.currentTarget);\r\n panelElement = element.closest(\".progress-panel-inner\");\r\n }\r\n\r\n var over = '
    ' + \"\" + '
    ';\r\n $(over).appendTo(panelElement);\r\n\r\n promise.always(function () {\r\n setTimeout(\r\n function () {\r\n panelElement.children('.overlayLoad').remove();\r\n }, 1000);\r\n });\r\n}\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar apiHandler = require(\"app_utilities/default/app-ajax\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n loadNav: loadNav,\r\n setNavCurrent: setNavCurrent,\r\n getNavCurrent: getNavCurrent\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: loadNav -------------------------------------------------------------------------------\r\nfunction loadNav() {\r\n\r\n var def = new $.Deferred();\r\n\r\n var currentNavData = getNavCurrent(); \r\n\r\n if (currentNavData) {\r\n //console.log(\"Nav is cached\");\r\n def.resolve(currentNavData);\r\n\r\n } else {\r\n //console.log(\"Fething Nav from database\");\r\n\r\n var request = {\r\n url: \"api/menu/getUserMenu\"\r\n };\r\n\r\n apiHandler.get(request).then(\r\n function (result) {\r\n setNavCurrent(result.data);\r\n def.resolve(result.data);\r\n },\r\n function (error) {\r\n def.reject(error);\r\n });\r\n }\r\n\r\n //def.resolve({});\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: setNavCurrent -------------------------------------------------------------------------------\r\nfunction setNavCurrent(navData) {\r\n window.navData = navData;\r\n};\r\n\r\n\r\n// Function: getNavCurrent -------------------------------------------------------------------------------\r\nfunction getNavCurrent() {\r\n return window.navData;\r\n};\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar errorNotificationHtml = require(\"app_mvvm_viewhtml/default/system/notifications/error.html\");\r\nvar infoNotificationHtml = require(\"app_mvvm_viewhtml/default/system/notifications/info.html\");\r\nvar successNotificationHtml = require(\"app_mvvm_viewhtml/default/system/notifications/success.html\");\r\nvar warningNotificationHtml = require(\"app_mvvm_viewhtml/default/system/notifications/warning.html\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar notificationElement;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n startupNotifications: startupNotifications,\r\n showError: showError,\r\n showInfo: showInfo,\r\n showSuccess: showSuccess,\r\n showWarning: showWarning\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startupNotifications ------------------------------------------------------------------\r\nfunction startupNotifications() {\r\n notificationElement = $(\"#notifications\").kendoNotification({\r\n position: {\r\n pinned: true,\r\n top: 30,\r\n right: 30\r\n },\r\n stacking: \"down\",\r\n button: true,\r\n templates: [\r\n {\r\n type: \"error\",\r\n template: errorNotificationHtml\r\n },\r\n {\r\n type: \"info\",\r\n template: infoNotificationHtml\r\n },\r\n {\r\n type: \"success\",\r\n template: successNotificationHtml\r\n },\r\n {\r\n type: \"warning\",\r\n template: warningNotificationHtml\r\n }]\r\n }).data(\"kendoNotification\");\r\n};\r\n\r\n// Function: showError -----------------------------------------------------------------------------\r\nfunction showError(data) {\r\n notificationElement.setOptions({\r\n autoHideAfter: 10000\r\n });\r\n\r\n notificationElement.show({\r\n title: \"\" + data.title + \"\",\r\n message: data.message\r\n }, \"error\");\r\n};\r\n\r\n// Function: showInfo ------------------------------------------------------------------------------\r\nfunction showInfo(data) {\r\n notificationElement.setOptions({\r\n autoHideAfter: 3500\r\n });\r\n\r\n notificationElement.show({\r\n title: \"\" + data.title + \"\",\r\n message: data.message\r\n }, \"info\");\r\n};\r\n\r\n// Function: showSuccess ---------------------------------------------------------------------------\r\nfunction showSuccess(data) {\r\n notificationElement.setOptions({\r\n autoHideAfter: 3500\r\n });\r\n\r\n notificationElement.show({\r\n title: \"\" + data.title + \"\",\r\n message: data.message\r\n }, \"success\");\r\n};\r\n\r\n// Function: showWarning ---------------------------------------------------------------------------\r\nfunction showWarning(data) {\r\n notificationElement.setOptions({\r\n autoHideAfter: 10000\r\n });\r\n\r\n notificationElement.show({\r\n title: \"\" + data.title + \"\",\r\n message: data.message\r\n }, \"warning\");\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar renderViewsLayout = require(\"app_utilities/default/app-render/app-render-viewslayout\");\r\nvar renderViews = require(\"app_utilities/default/app-render/app-render-views\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n showView: renderViews.show,\r\n hideView: renderViews.hide,\r\n loadView: renderViews.load,\r\n showLayout: renderViewsLayout.show,\r\n resetLayout: renderViewsLayout.reset\r\n //hideLayout: renderViewsLayout.hide,\r\n //loadLayout: renderViewsLayout.load\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions \r\n// --------------------------------------------------------------------------------------------------\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar baseViewcode = require(\"app_mvvm_viewcode/default/base\");\r\nvar baseViewLayoutcode = require(\"app_mvvm_viewlayoutcode/default/base\");\r\n\r\nvar mappedViewcodes = require.context(\"app_mvvm_viewcode\", true, /^\\.\\/.*\\.js$/);\r\nvar mappedViewLayoutcodes = require.context(\"app_mvvm_viewlayoutcode\", true, /^\\.\\/.*\\.js$/);\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar executedOnceAlreadyFunctions = [];\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n processView: processView,\r\n processViewLayout: processViewLayout,\r\n createViewcodeInstance: createViewcodeInstance,\r\n createViewLayoutcodeInstance: createViewLayoutcodeInstance\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: processView ----------------------------------------------------------------------------\r\nfunction processView(id) {\r\n\r\n return processCode(id, mappedViewcodes);\r\n};\r\n\r\n// Function: processViewLayout ----------------------------------------------------------------------\r\nfunction processViewLayout(id) {\r\n\r\n return processCode(id, mappedViewLayoutcodes);\r\n};\r\n\r\n// Function: processCode ----------------------------------------------------------------------------\r\nfunction processCode(id, map) {\r\n\r\n if (id == undefined) {\r\n id = \"./default/default\";\r\n }\r\n\r\n id += \".js\";\r\n\r\n var result;\r\n var containsKey = map.keys().indexOf(id);\r\n\r\n if (containsKey !== -1) {\r\n\r\n result = {\r\n map: map(id),\r\n id: id\r\n };\r\n } else {\r\n\r\n console.log(\"processCode... map result is null!, attempted to retrieve: \" + id + \"!\");\r\n result = null;\r\n };\r\n\r\n return result;\r\n};\r\n\r\n// Function: createViewcodeInstance -----------------------------------------------------------------\r\nfunction createViewcodeInstance(viewcode, viewmodel) {\r\n\r\n return createInstance(viewcode, viewmodel, baseViewcode);\r\n};\r\n\r\n// Function: createViewLayoutcodeInstance -----------------------------------------------------------\r\nfunction createViewLayoutcodeInstance(viewcode, viewmodel) {\r\n\r\n return createInstance(viewcode, viewmodel, baseViewLayoutcode);\r\n};\r\n\r\n// Function: createInstance -------------------------------------------------------------------------\r\nfunction createInstance(viewcode, viewmodel, base) {\r\n\r\n viewcode.prototype = base;\r\n\r\n var initViewcode = new viewcode.map(viewmodel);\r\n\r\n generateExecuteOnce(initViewcode, viewcode.id, base);\r\n overrideShow(initViewcode, base, viewmodel);\r\n overrideHide(initViewcode, base);\r\n overrideInit(initViewcode, base);\r\n overrideTransitionStart(initViewcode, base);\r\n overrideTransitionEnd(initViewcode, base);\r\n\r\n return initViewcode;\r\n};\r\n\r\n// Function: generateExecuteOnce --------------------------------------------------------------------\r\nfunction generateExecuteOnce(viewcode, viewcodeId, base) {\r\n\r\n var containsFunction = executedOnceAlreadyFunctions.indexOf(viewcodeId);\r\n\r\n if (containsFunction === -1) {\r\n\r\n executedOnceAlreadyFunctions.push(viewcodeId);\r\n\r\n if (viewcode.executeOnceFunction != undefined) {\r\n\r\n var originalExecuteOnceFunction = viewcode.executeOnceFunction;\r\n\r\n viewcode.executeOnceFunction = function () {\r\n originalExecuteOnceFunction.call(viewcode);\r\n base.baseExecuteOnce.call(viewcode);\r\n };\r\n\r\n } else {\r\n\r\n viewcode.executeOnceFunction = function () {\r\n base.baseExecuteOnce.call(viewcode);\r\n };\r\n };\r\n } else {\r\n\r\n viewcode.executeOnceFunction = null;\r\n };\r\n};\r\n\r\n// Function: overrideShow ---------------------------------------------------------------------------\r\nfunction overrideShow(viewcode, base, viewmodel) {\r\n\r\n if (viewcode.showFunction != undefined) {\r\n\r\n var originalShowFunction = viewcode.showFunction;\r\n\r\n viewcode.showFunction = function (e) {\r\n\r\n originalShowFunction.call(viewcode, e);\r\n base.baseShow.call(viewcode, e);\r\n\r\n if (viewmodel.startup != undefined) {\r\n viewmodel.startup.call(viewmodel);\r\n };\r\n\r\n if (viewcode.executeOnceFunction != null) {\r\n\r\n viewcode.executeOnceFunction.call(viewcode);\r\n viewcode.executeOnceFunction = null;\r\n };\r\n\r\n };\r\n\r\n } else {\r\n\r\n viewcode.showFunction = function (e) {\r\n\r\n base.baseShow.call(viewcode, e);\r\n\r\n if (viewmodel.startup != undefined) {\r\n viewmodel.startup.call(viewmodel);\r\n };\r\n\r\n if (viewcode.executeOnceFunction != null) {\r\n\r\n viewcode.executeOnceFunction.call(viewcode);\r\n viewcode.executeOnceFunction = null;\r\n };\r\n\r\n };\r\n };\r\n};\r\n\r\n// Function: overrideHide ---------------------------------------------------------------------------\r\nfunction overrideHide(viewcode, base) {\r\n\r\n if (viewcode.hideFunction != undefined) {\r\n\r\n var originalHideFunction = viewcode.hideFunction;\r\n\r\n viewcode.hideFunction = function (e) {\r\n\r\n originalHideFunction.call(viewcode, e);\r\n base.baseHide.call(viewcode, e);\r\n };\r\n\r\n } else {\r\n\r\n viewcode.hideFunction = function (e) {\r\n base.baseHide.call(viewcode, e);\r\n };\r\n };\r\n};\r\n\r\n// Function: overrideInit ---------------------------------------------------------------------------\r\nfunction overrideInit(viewcode, base) {\r\n\r\n if (viewcode.initFunction != undefined) {\r\n\r\n var originalInitFunction = viewcode.initFunction;\r\n\r\n viewcode.initFunction = function (e) {\r\n\r\n originalInitFunction.call(viewcode, e);\r\n base.baseInit.call(viewcode, e);\r\n };\r\n\r\n } else {\r\n\r\n viewcode.initFunction = function (e) {\r\n base.baseInit.call(viewcode, e);\r\n };\r\n };\r\n};\r\n\r\n// Function: overrideTransitionStart ----------------------------------------------------------------\r\nfunction overrideTransitionStart(viewcode, base) {\r\n\r\n if (viewcode.transitionStartFunction != undefined) {\r\n\r\n var originalTransitionStartFunction = viewcode.transitionStartFunction;\r\n\r\n viewcode.transitionStartFunction = function (e) {\r\n\r\n originalTransitionStartFunction.call(viewcode, e);\r\n base.baseTransitionStart.call(viewcode, e);\r\n };\r\n\r\n } else {\r\n\r\n viewcode.transitionStartFunction = function (e) {\r\n base.baseTransitionStart.call(viewcode, e);\r\n };\r\n };\r\n};\r\n\r\n// Function: overrideTransitionEnd ------------------------------------------------------------------\r\nfunction overrideTransitionEnd(viewcode, base) {\r\n\r\n if (viewcode.transitionEndFunction != undefined) {\r\n\r\n var originalTransitionEndFunction = viewcode.transitionEndFunction;\r\n\r\n viewcode.transitionEndFunction = function (e) {\r\n\r\n originalTransitionEndFunction.call(viewcode, e);\r\n base.baseTransitionEnd.call(viewcode, e);\r\n };\r\n\r\n } else {\r\n\r\n viewcode.transitionEndFunction = function (e) {\r\n base.baseTransitionEnd.call(viewcode, e);\r\n };\r\n };\r\n};\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar mappedViewHtml = require.context(\"app_mvvm_viewhtml\", true, /^\\.\\/.*\\.html$/);\r\nvar mappedViewLayoutHtml = require.context(\"app_mvvm_viewlayouthtml\", true, /^\\.\\/.*\\.html$/);\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n processView: processView,\r\n processViewLayout: processViewLayout\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: processView ----------------------------------------------------------------------------\r\nfunction processView(id) {\r\n return processHtml(id, mappedViewHtml);\r\n};\r\n\r\n// Function: processViewLayout ----------------------------------------------------------------------\r\nfunction processViewLayout(id) {\r\n\r\n return processHtml(id, mappedViewLayoutHtml);\r\n};\r\n\r\n// Function: processHtml ----------------------------------------------------------------------------\r\nfunction processHtml(id, map) {\r\n\r\n if (id == undefined) {\r\n id = \"./default/default\";\r\n };\r\n\r\n id += \".html\";\r\n\r\n var result;\r\n var containsKey = map.keys().indexOf(id);\r\n\r\n if (containsKey !== -1) {\r\n\r\n result = map(id);\r\n } else {\r\n\r\n console.log(\"processHtml ... map result is null!, attempted to retrieve: \" + id + \"!\");\r\n result = null;\r\n };\r\n\r\n return result;\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar baseViewvm = require(\"app_mvvm_viewvm/default/base\");\r\nvar baseViewLayoutvm = require(\"app_mvvm_viewlayoutvm/default/base\");\r\n\r\nvar mappedViewvm = require.context(\"app_mvvm_viewvm\", true, /^\\.\\/.*\\.js$/);\r\nvar mappedViewLayoutvm = require.context(\"app_mvvm_viewlayoutvm\", true, /^\\.\\/.*\\.js$/);\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n processView: processView,\r\n processViewLayout: processViewLayout,\r\n createViewInstance: createViewInstance,\r\n createViewLayoutInstance: createViewLayoutInstance\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: processView ----------------------------------------------------------------------------\r\nfunction processView(id) {\r\n\r\n return processViewmodel(id, mappedViewvm);\r\n};\r\n\r\n// Function: processViewLayout ----------------------------------------------------------------------\r\nfunction processViewLayout(id) {\r\n\r\n return processViewmodel(id, mappedViewLayoutvm);\r\n};\r\n\r\n// Function: processViewmodel -----------------------------------------------------------------------\r\nfunction processViewmodel(id, map) {\r\n\r\n if (id == undefined) {\r\n id = \"./default/default\";\r\n }\r\n\r\n id += \".js\";\r\n\r\n var result;\r\n var containsKey = map.keys().indexOf(id);\r\n\r\n if (containsKey !== -1) {\r\n\r\n result = map(id);\r\n } else {\r\n\r\n console.log(\"processViewmodel ... map result is null, attempted to retrieve: \" + id + \"!\");\r\n result = null;\r\n };\r\n\r\n return result;\r\n};\r\n\r\n// Function: createViewInstance ---------------------------------------------------------------------\r\nfunction createViewInstance(viewmodel, viewmodelParams) {\r\n\r\n return createInstance(viewmodel, viewmodelParams, baseViewvm);\r\n};\r\n\r\n\r\n// Function: createViewLayoutInstance ---------------------------------------------------------------\r\nfunction createViewLayoutInstance(viewmodel, viewmodelParams) {\r\n\r\n return createInstance(viewmodel, viewmodelParams, baseViewLayoutvm);\r\n};\r\n\r\n\r\n// Function: createInstance -------------------------------------------------------------------------\r\nfunction createInstance(viewmodel, viewmodelParams, base) {\r\n\r\n viewmodel.prototype = base;\r\n\r\n var initViewmodel = new kendo.observable(new viewmodel(viewmodelParams));\r\n\r\n return initViewmodel;\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar processCode = require(\"app_utilities/default/app-render/app-render-process-code\");\r\nvar processHtml = require(\"app_utilities/default/app-render/app-render-process-html\");\r\nvar processViewmodel = require(\"app_utilities/default/app-render/app-render-process-viewmodel\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appDefaultView = generateDefaultView();\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n show: show,\r\n hide: hide,\r\n load: load\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: show -----------------------------------------------------------------------------------\r\nfunction show(element, options) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (element == undefined) {\r\n def.reject(new Error(\"arguement is undefined.\"));\r\n };\r\n\r\n if (options == undefined) {\r\n options = {};\r\n };\r\n\r\n var viewhtml = processHtml.processView(options.html);\r\n var viewcode = processCode.processView(options.code);\r\n var viewmodel = processViewmodel.processView(options.viewmodel);\r\n\r\n if (viewhtml == null || viewcode == null || viewmodel == null) {\r\n\r\n def.reject(new Error(\"view construction failed due to null component(s).\"));\r\n\r\n } else {\r\n\r\n var view = generateView(viewhtml, viewcode, viewmodel, options.viewmodelParams);\r\n\r\n if (view == null) {\r\n\r\n def.reject(new Error(\"view generation failed for element, \" + element + \"!\"));\r\n } else {\r\n\r\n window.loadingLayout.done(function () {\r\n\r\n window.currentLayout.showIn(element, view);\r\n });\r\n\r\n def.resolve({\r\n view: view,\r\n viewmodel: viewmodel\r\n });\r\n };\r\n };\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: hide -----------------------------------------------------------------------------------\r\nfunction hide(element) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (appDefaultView == undefined) {\r\n\r\n def.reject(new Error(\"default view is undefined, failed hiding element, \" + element + \"!\"));\r\n } else {\r\n\r\n window.currentLayout.showIn(element, appDefaultView);\r\n\r\n def.resolve({});\r\n };\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: load -----------------------------------------------------------------------------------\r\nfunction load(element, view) {\r\n\r\n var def = $.Deferred();\r\n\r\n if (element == undefined || view == undefined) {\r\n\r\n def.reject(new Error(\"arguement is undefined.\"));\r\n } else {\r\n\r\n window.loadingLayout.done(function () {\r\n\r\n window.currentLayout.showIn(element, view);\r\n });\r\n\r\n def.resolve();\r\n };\r\n\r\n return def.promise();\r\n};\r\n\r\n\r\n// Function: generateView ---------------------------------------------------------------------------\r\nfunction generateView(viewhtml, viewcode, viewmodel, viewmodelParams) {\r\n\r\n var initViewmodel = processViewmodel.createViewInstance(viewmodel, viewmodelParams);\r\n var initViewcode = processCode.createViewcodeInstance(viewcode, initViewmodel);\r\n\r\n var view = new kendo.View(viewhtml,\r\n {\r\n model: initViewmodel,\r\n evalTemplate: false,\r\n tagName: \"div\",\r\n wrap: false,\r\n\r\n show: initViewcode.showFunction,\r\n hide: initViewcode.hideFunction,\r\n init: initViewcode.initFunction,\r\n transitionStart: initViewcode.transitionStartFunction,\r\n transitionEnd: initViewcode.transitionEndFunction\r\n });\r\n\r\n return view;\r\n};\r\n\r\n// Function: generateDefaultView --------------------------------------------------------------------\r\nfunction generateDefaultView() {\r\n\r\n var viewhtml = processHtml.processView();\r\n var viewcode = processCode.processView();\r\n var viewmodel = processViewmodel.processView();\r\n\r\n return generateView(viewhtml, viewcode, viewmodel);\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar processCode = require(\"app_utilities/default/app-render/app-render-process-code\");\r\nvar processHtml = require(\"app_utilities/default/app-render/app-render-process-html\");\r\nvar processViewmodel = require(\"app_utilities/default/app-render/app-render-process-viewmodel\");\r\n\r\nvar appUser = require(\"app_utilities/default/app-user\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nwindow.currentLayout = new Object();\r\nwindow.currentLayout = generateMasterViewLayout();\r\n\r\nwindow.appMasterViewLayout = window.currentLayout;\r\nwindow.appMasterViewLayout.render(\"#application\");\r\n\r\nwindow.loadingLayout = $.Deferred();\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n show: show,\r\n reset: reset\r\n //hide: hide,\r\n //load: load\r\n};\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: reset ----------------------------------------------------------------------------------\r\nfunction reset() {\r\n\r\n window.loadingLayout = $.Deferred();\r\n\r\n window.currentLayout = window.appMasterViewLayout;\r\n\r\n window.loadingLayout.resolve();\r\n};\r\n\r\n\r\n// Function: show -----------------------------------------------------------------------------------\r\nfunction show(element, options) {\r\n\r\n var def = $.Deferred();\r\n\r\n window.loadingLayout = $.Deferred();\r\n\r\n if (element == undefined) {\r\n def.reject(new Error(\"arguement is undefined.\"));\r\n };\r\n\r\n if (options == undefined) {\r\n options = {};\r\n };\r\n\r\n var layouthtml = processHtml.processViewLayout(options.html);\r\n var layoutcode = processCode.processViewLayout(options.code);\r\n var viewmodel = processViewmodel.processViewLayout(options.viewmodel);\r\n\r\n if (layouthtml == null || layoutcode == null || viewmodel == null) {\r\n\r\n def.reject(new Error(\"view layout construction failed due to null component(s).\"));\r\n\r\n } else {\r\n\r\n var layout = generateLayout(layouthtml, layoutcode, viewmodel, options.viewmodelParams);\r\n\r\n if (layout == null) {\r\n\r\n def.reject(new Error(\"view layout generation failed for element, \" + element + \"!\"));\r\n } else {\r\n\r\n window.appMasterViewLayout.showIn(element, layout);\r\n\r\n window.currentLayout = layout;\r\n\r\n window.loadingLayout.resolve();\r\n def.resolve(layout);\r\n };\r\n };\r\n\r\n return def.promise();\r\n};\r\n\r\n//// Function: hide -----------------------------------------------------------------------------------\r\n//function hide(element) {\r\n\r\n//};\r\n\r\n//// Function: load -----------------------------------------------------------------------------------\r\n//function load(element, view) {\r\n\r\n//};\r\n\r\n// Function: generateLayout -------------------------------------------------------------------------\r\nfunction generateLayout(layouthtml, layoutcode, viewmodel, viewmodelParams) {\r\n\r\n var initViewmodel = processViewmodel.createViewLayoutInstance(viewmodel, viewmodelParams);\r\n var initViewLayoutcode = processCode.createViewLayoutcodeInstance(layoutcode, initViewmodel);\r\n\r\n var layout = new kendo.Layout(layouthtml, {\r\n\r\n model: initViewmodel,\r\n evalTemplate: false,\r\n tagName: \"div\",\r\n wrap: false,\r\n\r\n show: initViewLayoutcode.showFunction,\r\n hide: initViewLayoutcode.hideFunction,\r\n init: initViewLayoutcode.initFunction,\r\n transitionStart: initViewLayoutcode.transitionStartFunction,\r\n transitionEnd: initViewLayoutcode.transitionEndFunction\r\n });\r\n\r\n return layout;\r\n};\r\n\r\n// Function: generateMasterViewLayout ---------------------------------------------------------------\r\nfunction generateMasterViewLayout() {\r\n\r\n window.loadingLayout = $.Deferred();\r\n\r\n var layouthtml = processHtml.processViewLayout(\"./default/system/master\");\r\n var layoutcode = processCode.processViewLayout(\"./default/system/master\");\r\n var viewmodel = processViewmodel.processViewLayout();\r\n\r\n var layout = generateLayout(layouthtml, layoutcode, viewmodel);\r\n\r\n window.loadingLayout.resolve();\r\n\r\n return layout;\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appConfig = require(\"app_utilities/default/app-config\");\r\nvar AppNotify = require(\"app_utilities/default/app-notify\");\r\nvar appUserVerify = require(\"app_utilities/default/app-user/app-user-verify\");\r\nvar appLoading = require(\"app_utilities/default/app-loading\");\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appUi = require(\"app_utilities/default/app-ui\");\r\nvar auth = require(\"app_utilities/default/app-auth\");\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar popiCompliance = require(\"app_utilities/custom/app-terms-of-compliance\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nwindow.loadingRoute = $.Deferred();\r\n\r\nvar publicUrls = [\r\n \"/\",\r\n \"/login\",\r\n \"/forgot-password\",\r\n \"/reset-password\",\r\n \"/set-password\",\r\n \"/reset-password-confirmation\",\r\n \"/forgot-password-confirmation\",\r\n \"/sso/callback\",\r\n \"/sso/login-error\",\r\n \"/mfa-challenge\",\r\n \"/register-mfa\"\r\n];\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nwindow.appRouter = new kendo.Router({\r\n\r\n ignoreCase: true,\r\n pushState: false,\r\n root: \"/\",\r\n hashBang: false,\r\n back: routerOnBack,\r\n change: routerOnChange,\r\n routeMissing: routerOnRouteMissing,\r\n init: routerOnInit\r\n});\r\n\r\nmodule.exports = {\r\n router: window.appRouter,\r\n startRouter: startRouter,\r\n createRoute: createRoute,\r\n navigateToDefaultPage: navigateToDefaultPage,\r\n navigateToLoginPage: navigateToLoginPage,\r\n navigateToLogoutPage: navigateToLogoutPage,\r\n getPreviousRoute: getPreviousRoute,\r\n getCurrentRoute: getCurrentRoute\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: getPreviousRoute -----------------------------------------------------------------------\r\nfunction getPreviousRoute() {\r\n return window.appPreviousRoute;\r\n};\r\n\r\n// Function: getCurrentRoute ------------------------------------------------------------------------\r\nfunction getCurrentRoute() {\r\n return window.appCurrentRoute;\r\n};\r\n\r\n// Function: startRouter ----------------------------------------------------------------------------\r\nfunction startRouter() {\r\n window.appRouter.start();\r\n};\r\n\r\n// Function: routerOnBack ---------------------------------------------------------------------------\r\nfunction routerOnBack(e) {\r\n};\r\n\r\n// Function: routerOnChange -------------------------------------------------------------------------\r\nfunction routerOnChange(e) {\r\n\r\n //console.log(\"attempting to change route to \" + e.url);\r\n\r\n window.appPreviousRoute = window.appCurrentRoute;\r\n window.appCurrentRoute = e;\r\n\r\n var def = $.Deferred();\r\n\r\n window.loadingRoute = def;\r\n\r\n //appLoading.show(\"Loading, please wait...\", def);\r\n\r\n appRender.resetLayout();\r\n\r\n // removing client side permissions, this will be replaced by secure server side permissions on the mvc views\r\n //window.loadingRoute.resolve();\r\n verifyRoutePermissions(e).then(\r\n function () {\r\n window.loadingRoute.resolve();\r\n },\r\n function (route) {\r\n //window.appRouter.navigate(route);\r\n window.location.href = route;\r\n });\r\n};\r\n\r\n// Function: createRouter ---------------------------------------------------------------------------\r\nfunction routerOnRouteMissing(e) {\r\n\r\n console.log(\"route \" + e.url + \" does not exist!\");\r\n\r\n var data = {\r\n title: \"Oops!\",\r\n message: \"No Route Found for url: \" + e.url\r\n };\r\n\r\n AppNotify.showError(data);\r\n navigateToDefaultPage();\r\n};\r\n\r\n// Function: createRouter ---------------------------------------------------------------------------\r\nfunction routerOnInit(e) {\r\n};\r\n\r\n// Function: verifyRoutePermissions -----------------------------------------------------------------\r\nfunction verifyRoutePermissions(route) {\r\n\r\n var def = $.Deferred();\r\n\r\n //console.log(\"verifying route permission...\");\r\n\r\n var url;\r\n\r\n if (route.url.indexOf(\"?\") === -1) {\r\n\r\n url = route.url;\r\n } else {\r\n\r\n url = route.url.split(\"?\")[0];\r\n };\r\n\r\n if (publicUrls.indexOf(url) === -1) {\r\n\r\n //console.log(\"verifying user access...\");\r\n\r\n if (auth.verifyAuth()) {\r\n\r\n if (!cookie.getCookie(\"authToken\") || !cookie.getCookie(\"loggedInUser\")) {\r\n def.reject(\"/#/login\");\r\n\r\n } else {\r\n //console.log(\"verified route permission, is restricted, user access allowed!\");\r\n\r\n if (shouldRedirectUserToTermsAndConditions()) {\r\n if (route.url.indexOf(\"/terms-of-compliance\") >= 0) {\r\n def.resolve();\r\n } else {\r\n def.reject(\"/#/terms-of-compliance\");\r\n }\r\n }\r\n def.resolve();\r\n }\r\n }\r\n else {\r\n //console.log(\"verified route permission, is restricted, user access denied!\");\r\n if (route.url) {\r\n def.reject(\"/#/login\" + \"?urlRedirect=\" + encodeURIComponent(route.url));\r\n } else {\r\n def.reject(\"/#/login\");\r\n }\r\n };\r\n\r\n } else {\r\n //console.log(\"verified route permission, route is public!\");\r\n def.resolve();\r\n };\r\n\r\n return def.promise();\r\n};\r\n\r\nfunction shouldRedirectUserToTermsAndConditions() {\r\n return popiCompliance.userHasAcceptedTermsOfCompliance();\r\n}\r\n\r\n// Function: navigateToDefaultPage ------------------------------------------------------------------\r\nfunction navigateToDefaultPage() {\r\n\r\n if (appConfig.settings.applicationDefaultPage != undefined) {\r\n\r\n // Please note, this will override the url the user is using to access the application\r\n // The user will be forced to the default page on application loading.\r\n\r\n //console.log(\"redirecting to default page!\");\r\n\r\n if (!cookie.getCookie(\"authToken\") || !cookie.getCookie(\"loggedInUser\")) {\r\n\r\n navigateToLoginPage();\r\n\r\n } else {\r\n //only nav to default if user is logged in.\r\n window.appRouter.navigate(appConfig.settings.applicationDefaultPage);\r\n }\r\n\r\n } else {\r\n console.log(\"default page has not been defined, will remain on current route.\");\r\n };\r\n};\r\n\r\n// Function: navigateToLoginPage ------------------------------------------------------------------\r\nfunction navigateToLoginPage() {\r\n\r\n var url = appConfig.settings.applicationLoginUrl;\r\n\r\n if (url) {\r\n window.appRouter.navigate(url);\r\n } else {\r\n console.log(\"no applicationLoginUrl defined\");\r\n };\r\n};\r\n\r\n// Function: navigateToLogoutPage ------------------------------------------------------------------\r\nfunction navigateToLogoutPage() {\r\n\r\n var url = appConfig.settings.applicationLogoutUrl;\r\n\r\n if (url) {\r\n window.appRouter.navigate(url);\r\n } else {\r\n console.log(\"no navigateToLogoutPage defined\");\r\n };\r\n};\r\n\r\n// Function: createRoute ---------------------------------------------------------------------------\r\nfunction createRoute(routeUi, routePath, pageTitle, routeExecuteCode) {\r\n\r\n console.log(\"Creating route....\" + routePath);\r\n window.appRouter.route(routePath, function () {\r\n require.ensure([], function () {\r\n\r\n window.loadingRoute.done(function () {\r\n\r\n if (routeUi) {\r\n appUi.showLoggedInUi(pageTitle);\r\n } else {\r\n appUi.hideLoggedInUi();\r\n };\r\n\r\n routeExecuteCode();\r\n });\r\n });\r\n });\r\n};\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\nrequire(\"app_utilities/default/app-routes/app-routes-auth\");\r\nrequire(\"app_utilities/default/app-routes/app-routes-general\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n navigateToDefaultPage: appRouter.navigateToDefaultPage,\r\n navigateToLoginPage: appRouter.navigateToLoginPage,\r\n navigateToLogoutPage: appRouter.navigateToLogoutPage\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\nvar appUi = require(\"app_utilities/default/app-ui\");\r\n\r\n//var appRecovery = require(\"app_utilities/default/app-user/app-user-recovery\");\r\n\r\n//var appUser = require(\"app_utilities/default/app-user\");\r\n//var AppNotify = require(\"app_utilities/default/app-notify\");\r\n//var appLoading = require(\"app_utilities/default/app-loading\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nappRouter.createRoute(false, \"/login\", \"\", function () {\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n });\r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/login\",\r\n code: \"./default/system/auth/login\",\r\n viewmodel: \"./default/system/auth/login\"\r\n });\r\n\r\n});\r\n\r\n\r\nappRouter.createRoute(false, \"/sso/callback\", \"\", function () {\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n });\r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/sso-login\",\r\n code: \"./default/system/auth/sso-login\",\r\n viewmodel: \"./default/system/auth/sso-login\"\r\n });\r\n\r\n});\r\n\r\nappRouter.createRoute(false, \"/sso/login-error\", \"\", function () {\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n });\r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/sso-login-error\",\r\n code: \"./default/system/auth/sso-login-error\",\r\n viewmodel: \"./default/system/auth/sso-login-error\"\r\n });\r\n\r\n});\r\n\r\n\r\nappRouter.createRoute(false, \"/mfa-challenge\", \"\", function () {\r\n\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n });\r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/mfa\",\r\n code: \"./default/system/auth/mfa\",\r\n viewmodel: \"./default/system/auth/mfa\"\r\n });\r\n\r\n});\r\n\r\n\r\n\r\nappRouter.createRoute(false, \"/register-mfa\", \"\", function () {\r\n\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n });\r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/mfa/register-mfa\",\r\n code: \"./default/system/auth/register-mfa\",\r\n viewmodel: \"./default/system/auth/register-mfa\"\r\n });\r\n\r\n});\r\n\r\nappRouter.createRoute(false, \"/forgot-password\", \"\", function () {\r\n\r\n \r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n }); \r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/forgot-password\",\r\n code: \"./default/system/auth/forgot-password\",\r\n viewmodel: \"./default/system/auth/forgot-password\"\r\n });\r\n\r\n});\r\n\r\nappRouter.createRoute(false, \"/reset-password\", \"\", function () {\r\n \r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n });\r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/reset-password\",\r\n code: \"./default/system/auth/reset-password\",\r\n viewmodel: \"./default/system/auth/reset-password\"\r\n });\r\n\r\n});\r\n\r\nappRouter.createRoute(false, \"/set-password\", \"\", function () {\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n });\r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/set-password\",\r\n code: \"./default/system/auth/set-password\",\r\n viewmodel: \"./default/system/auth/set-password\"\r\n });\r\n\r\n});\r\n\r\nappRouter.createRoute(false, \"/reset-password-confirmation\", \"\", function () {\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n });\r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/reset-password-confirmation\",\r\n code: \"./default/system/auth/reset-password-confirmation\"\r\n //viewmodel: \"./default/system/auth/reset-password-confirmation\"\r\n });\r\n\r\n});\r\n\r\nappRouter.createRoute(false, \"/forgot-password-confirmation\", \"\", function () {\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/generic\",\r\n code: \"./default/system/auth/generic\"\r\n });\r\n\r\n appRender.showView(\"#auth-content\", {\r\n html: \"./default/system/auth/forgot-password-confirmation\",\r\n code: \"./default/system/auth/forgot-password-confirmation\"\r\n //viewmodel: \"./default/system/auth/forgot-password-confirmation\"\r\n });\r\n\r\n});\r\n\r\nappRouter.createRoute(true, \"/change-password\", \"CHANGE PASSWORD\", function () {\r\n\r\n appRender.showView(\"#primary-content\", {\r\n html: \"./default/system/auth/change-password\",\r\n code: \"./default/system/auth/change-password\",\r\n viewmodel: \"./default/system/auth/change-password\"\r\n });\r\n\r\n});\r\n\r\nappRouter.createRoute(true, \"/profile\", \"MY PROFILE\", function () {\r\n\r\n appRender.showLayout(\"#primary-content\", {\r\n html: \"./default/system/auth/user-profile\",\r\n code: \"./default/system/auth/user-profile\",\r\n viewmodel: \"./default/system/auth/user-profile\"\r\n });\r\n});\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Routes\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\nappRouter.createRoute(false, \"/\", \"\", function () {\r\n\r\n appRouter.navigateToDefaultPage();\r\n});\r\n\r\n//appRouter.createRoute(true, \"/kitchen-sink\", function () {\r\n\r\n// appRender.showView(\"#primary-content\", {\r\n// html: \"./default/examples/kitchen-sink\"\r\n// //code: \"./default/examples/kitchen-sink\",\r\n// //viewmodel: \"./default/examples/kitchen-sink\",\r\n// //viewmodelParams: \"hello world from params!\"\r\n// });\r\n//});\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appLoading = require(\"app_utilities/default/app-loading\");\r\nvar AppNotify = require(\"app_utilities/default/app-notify\");\r\nvar appDataLists = require(\"app_utilities/custom/app-data-lists\");\r\nvar appGrids = require(\"app_utilities/custom/app-grids\");\r\nvar appRouter = require(\"app_utilities/default/app-router\");\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\nvar auth = require(\"app_utilities/default/app-auth\");\r\nvar user = require(\"app_utilities/default/app-user/app-user-current\");\r\nvar app = require(\"app\");\r\nvar appCorporate = require(\"app_utilities/custom/app-corporate\");\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n startup: startup,\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: startup ---------------------------------------------------------------------------------\r\nfunction startup() {\r\n var def = $.Deferred();\r\n var root = document.documentElement;\r\n var primaryColour = cookie.getCookie(\"brandingColourPrimary\");\r\n\r\n //var colour1 = appRouter.getCurrentRoute().params.id;\r\n\r\n //if (colour1) {\r\n // root.style.setProperty('--primary', colour1);\r\n //}\r\n\r\n if (primaryColour == \"null\" || primaryColour == undefined) {\r\n root.style.setProperty('--primary', '#6CC38B');\r\n \r\n } else {\r\n root.style.setProperty('--primary', primaryColour);\r\n }\r\n\r\n\r\n if (!auth.getAuthToken()) {\r\n if (cookie.getCookie(\"authToken\")) {\r\n var token = JSON.parse(cookie.getCookie(\"authToken\"));\r\n auth.setAuthToken(token.access_token);\r\n auth.setRefreshAuthToken(token.refresh_token);\r\n }\r\n }\r\n\r\n if (!user.getCurrentUser()) {\r\n if (cookie.getCookie(\"loggedInUser\")) {\r\n var loggedInUser = JSON.parse(cookie.getCookie(\"loggedInUser\"));\r\n user.setCurrentUser(loggedInUser);\r\n }\r\n }\r\n \r\n //AppNotify.startupNotifications();\r\n\r\n //appDataLists.getAllDataLists().then(\r\n // function (data) {\r\n\r\n // appDataLists.setDataListsLocal(data);\r\n // //console.log(\"retrieved all lists from api\");\r\n\r\n // //ROCHELLE QUESTION\r\n // //David helped with this a little, we added a if statement. but something is still off. We will look into this on monday 18/06/2018\r\n // if (user.getCurrentUser()) {\r\n // app.AppHelper.getTourInstructionsPerUser().then(\r\n // function (data) {\r\n // appLoading.hide();\r\n // app.AppHelper.setTourCache(data);\r\n // //console.log(\"retrieved all lists from api\");\r\n\r\n // def.resolve();\r\n // },\r\n // function () {\r\n // appLoading.hide();\r\n // console.log(\"retrieving all lists failed\");\r\n // def.reject();\r\n // appRouter.router.navigate(\"/login\");\r\n // });\r\n // } else {\r\n // appLoading.hide();\r\n // def.resolve();\r\n // };\r\n\r\n // },\r\n // function () {\r\n // appLoading.hide();\r\n // console.log(\"retrieving all lists failed\");\r\n // def.reject();\r\n // appRouter.router.navigate(\"/login\");\r\n // });\r\n\r\n //return def.promise();\r\n \r\n AppNotify.startupNotifications();\r\n\r\n appDataLists.getAllDataLists().then(\r\n function (data) {\r\n \r\n appDataLists.setDataListsLocal(data);\r\n ////console.log(\"retrieved all lists from api\");\r\n\r\n appCorporate.GetCorporateBranding().then(\r\n function (data) {\r\n if (data) {\r\n cookie.setCookie(\"brandingColourPrimary\", data.PrimaryColour);\r\n }\r\n \r\n user.setCurrentBranding = data;\r\n \r\n user.setCurrentBrandingStyle(data);\r\n \r\n //console.log(\"retrieved corporate branding from api\");\r\n\r\n def.resolve();\r\n },\r\n function (error) { \r\n def.resolve();\r\n }\r\n );\r\n },\r\n function (error) {\r\n appLoading.hide();\r\n console.log(\"retrieving corporate branding failed\", error);\r\n def.resolve();\r\n appRouter.router.navigate(\"/login\");\r\n }\r\n );\r\n\r\n return def.promise();\r\n}\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Variables ----------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n setTagsAnalyticsEvent: setTagsAnalyticsEvent,\r\n setTagsAnalyticsVirtualPage: setTagsAnalyticsVirtualPage \r\n\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: setTagsAnalyticsEvent ------------------------------------------------------------------\r\nfunction setTagsAnalyticsEvent(event, category, action, label) {\r\n\r\n //google analytics tag manager\r\n if (typeof dataLayer != 'undefined') {\r\n dataLayer.push({\r\n 'event': event,\r\n 'category': category,\r\n 'action': action,\r\n 'label': label\r\n });\r\n };\r\n};\r\n\r\n// Function: setTagsAnalyticsVirtualPage ------------------------------------------------------------\r\nfunction setTagsAnalyticsVirtualPage(event, category, label) {\r\n\r\n //google analytics tag manager\r\n if (typeof dataLayer != 'undefined') {\r\n dataLayer.push({\r\n 'event': event,\r\n 'virtualPageURL': category,\r\n 'virtualPageTitle': label\r\n });\r\n };\r\n};\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n tryParseInt: tryParseInt,\r\n tryParseFloat: tryParseFloat\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: tryParseInt-------------------------------------------------------------------\r\n// takes string and default value\r\nfunction tryParseInt(str, defaultValue) {\r\n var retValue = defaultValue;\r\n\r\n if (str) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseInt(str);\r\n };\r\n };\r\n };\r\n\r\n return retValue;\r\n};\r\n\r\n// Function: tryParseFloat-------------------------------------------------------------------\r\n// takes string and default value\r\nfunction tryParseFloat(str, defaultValue) {\r\n\r\n var retValue = defaultValue;\r\n\r\n if (str) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseFloat(str);\r\n };\r\n };\r\n };\r\n\r\n return retValue;\r\n};","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appRender = require(\"app_utilities/default/app-render\");\r\nvar appConfig = require(\"app_utilities/default/app-config\");\r\nvar appAuth = require(\"app_utilities/default/app-auth\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar viewSystemUserControl;\r\nvar viewSystemNavigation;\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n showLoggedInUi: showLoggedInUi,\r\n hideLoggedInUi: hideLoggedInUi\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: showLoggedInUi -------------------------------------------------------------------------\r\nfunction showLoggedInUi(pageTitle) {\r\n\r\n if (appAuth.verifyAuth()) {\r\n showLoggedInHtmlElements();\r\n showLoggedInSystemTopMenu();\r\n showLoggedInSystemPageTitle(pageTitle);\r\n showEntitySearchInSystemNavigation();\r\n showLoggedInSystemNavigation();\r\n showLoggedInSystemFooter();\r\n showLoggedInUserMenuFooter();\r\n window.loadingLayout.resolve();\r\n };\r\n}\r\n\r\n// Function: hideLoggedInUi -------------------------------------------------------------------------\r\nfunction hideLoggedInUi() {\r\n\r\n window.loadingLayout.resolve();\r\n\r\n hideLoggedInHtmlElements();\r\n\r\n appRender.hideView(\"#primary-footer\");\r\n appRender.hideView(\"#navigation-menu-container\");\r\n};\r\n\r\n// Function: showLoggedInHtmlElements ---------------------------------------------------------------\r\nfunction showLoggedInHtmlElements() {\r\n\r\n $(\"#mainnav\").removeClass(\"hidden\");\r\n $(\".top-bar\").removeClass(\"hidden\");\r\n $(\"#primary-content\").css(\"margin-left\", \"0px\");\r\n $(\".owl-carousel.owl-loaded\").css(\"display\", \"none\");\r\n};\r\n\r\n// Function: hideLoggedInHtmlElements ---------------------------------------------------------------\r\nfunction hideLoggedInHtmlElements() {\r\n\r\n $(\"#mainnav\").addClass(\"hidden\");\r\n $(\".top-bar\").addClass(\"hidden\");\r\n $(\"#primary-content\").css(\"margin-left\", \"-220px\");\r\n $(\".owl-carousel.owl-loaded\").css(\"display\", \"block\");\r\n\r\n //$(\"#primary-content\").addClass(\"left-align\");\r\n //margin-left: -220px;\r\n};\r\n\r\n// Function: showLoggedInSystemTopMenu --------------------------------------------------------------\r\nfunction showLoggedInSystemTopMenu() {\r\n\r\n var promise = appRender.showView(\"#top-menu\", {\r\n html: \"./default/system/topbar/menu\",\r\n viewmodel: \"./default/system/topbar/menu\"\r\n });\r\n};\r\n\r\n// Function: showLoggedInSystemPageTitle ------------------------------------------------------------\r\nfunction showLoggedInSystemPageTitle(title) {\r\n\r\n var promise = appRender.showView(\"#page-title\", {\r\n html: \"./default/system/topbar/page-title\",\r\n viewmodel: \"./default/system/topbar/page-title\",\r\n viewmodelParams: { pageTitle: title }\r\n });\r\n};\r\n\r\n// Function: showLoggedInSystemNavigation -----------------------------------------------------------\r\nfunction showEntitySearchInSystemNavigation() {\r\n\r\n var promise = appRender.showView(\"#navigation-entity-search-container\", {\r\n html: \"./default/system/sidebar/entity-search\",\r\n viewmodel: \"./default/system/sidebar/entity-search\"\r\n });\r\n};\r\n\r\n// Function: showLoggedInSystemNavigation -----------------------------------------------------------\r\nfunction showLoggedInSystemNavigation() {\r\n\r\n var promise = appRender.showView(\"#navigation-menu-container\", {\r\n html: \"./default/system/sidebar/navigation\",\r\n viewmodel: \"./default/system/sidebar/navigation\"\r\n });\r\n};\r\n\r\n// Function: showLoggedInSystemFooter ---------------------------------------------------------------\r\nfunction showLoggedInSystemFooter() {\r\n\r\n var promise = appRender.showView(\"#primary-footer\", {\r\n html: \"./default/system/footer/footer\",\r\n viewmodel: \"./default/system/footer/footer\"\r\n });\r\n\r\n\r\n};\r\n\r\n// Function: showLoggedInUserMenuFooter\r\nfunction showLoggedInUserMenuFooter() {\r\n var promise = appRender.showView(\"#footer\", {\r\n html: \"./default/system/sidebar/footer\",\r\n viewmodel: \"./default/system/sidebar/footer\"\r\n });\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nvar appUserCurrent = require(\"app_utilities/default/app-user/app-user-current\");\r\n//var appUserAuth = require(\"app_utilities/default/app-user/app-user-auth\");\r\n//var appUserLogin = require(\"app_utilities/default/app-user/app-user-login\");\r\n//var appUserProfile = require(\"app_utilities/default/app-user/app-user-profile\");\r\n//var appUserRecovery = require(\"app_utilities/default/app-user/app-user-recovery\");\r\n//var appUserRegistration = require(\"app_utilities/default/app-user/app-user-registration\");\r\n//var appUserToken = require(\"app_utilities/default/app-user/app-user-token\");\r\n//var appUserVerify = require(\"app_utilities/default/app-user/app-user-verify\");\r\n//var appPassword = require(\"app_utilities/default/app-user/app-user-password\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n //login: appUserLogin.login,\r\n //logout: appUserAuth.logout,\r\n //verify: appUserVerify.verify,\r\n //redirect: appUserLogin.loginRedirect,\r\n //register: appUserRegistration.register,\r\n //isUserNameAvailable: appUserRegistration.isUserNameAvailable,\r\n //recovery: appUserRecovery,\r\n //password: appPassword,\r\n userCurrent: appUserCurrent,\r\n //profile: appUserProfile\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\nvar cookie = require(\"app_utilities/default/app-cookies\");\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n getCurrentUser: getCurrentUser,\r\n setCurrentUser: setCurrentUser,\r\n setCurrentBranding: setCurrentBranding,\r\n getCurrentBranding: getCurrentBranding,\r\n setCurrentBrandingStyle: setCurrentBrandingStyle,\r\n getCurrentBrandingStyle: getCurrentBrandingStyle\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: getCurrentUser -------------------------------------------------------------------------\r\nfunction getCurrentUser() {\r\n return window.appCurrentUser;\r\n};\r\n\r\n// Function: setCurrentUser -------------------------------------------------------------------------\r\nfunction setCurrentUser(currentUser) {\r\n window.appCurrentUser = currentUser;\r\n};\r\n\r\n\r\n// Function: setCurrentUser -------------------------------------------------------------------------\r\nfunction setCurrentBranding(branding) {\r\n window.appCurrentBranding = branding;\r\n};\r\n\r\n\r\n// Function: getCurrentUser -------------------------------------------------------------------------\r\nfunction getCurrentBranding() {\r\n return window.appCurrentBranding;\r\n};\r\n\r\n//Function: getCurrentBrandingStyle -------------------------------------------------------------------------\r\nfunction getCurrentBrandingStyle() {\r\n return window.CurrentBrandingStyle;\r\n};\r\n\r\n// Function: setCurrentBrandingStyle -------------------------------------------------------------------------\r\nfunction setCurrentBrandingStyle(data) {\r\n\r\n window.CurrentBrandingStyle = data;\r\n var root = document.documentElement;\r\n var menuLogo = document.getElementsByClassName('menu-logo');\r\n const brand = root.getElementsByClassName('brand')[0];\r\n\r\n if (data) {\r\n root.style.setProperty('--primary', data.PrimaryColour);\r\n root.style.setProperty('--secondary', data.SecondaryColour);\r\n root.style.setProperty('--breadcrumb-bg', data.PrimaryColour);\r\n root.style.setProperty('--metric-active-bg', data.PrimaryColour);\r\n\r\n\r\n if (brand) {\r\n brand.style.background = \"var(--primary)\";\r\n }\r\n\r\n if (!data.PrimaryColour || !data.Logo) {\r\n menuLogo[0].src = '/App/images/company-logo-placeholder.png';\r\n menuLogo[0].style.width = \"60px\";\r\n\r\n } else {\r\n menuLogo[0].src = data.Logo;\r\n menuLogo[0].style.width = \"80px\";\r\n }\r\n\r\n var newHeight = 44; // new height in pixels\r\n\r\n menuLogo[0].style.height = `${newHeight}px`;\r\n\r\n if (data.Logo) {\r\n \r\n //if (data.Logo === \"data:image/png;base64,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\") {\r\n // menuLogo[0].style.width = \"40px\";\r\n //}\r\n }\r\n\r\n } else {\r\n root.style.setProperty('--primary', '#6CC38B');\r\n root.style.setProperty('--secondary', '#011542');\r\n root.style.setProperty('--breadcrumb-bg', '#011542CC');\r\n root.style.setProperty('--metric-active-bg', '#6CC38B');\r\n console.log('brand', brand);\r\n if (brand) {\r\n brand.style.background = null;\r\n }\r\n menuLogo[0].style.width = null;\r\n menuLogo[0].src = '/App/images/edge-growth-tracker-logo.png';\r\n }\r\n}","// --------------------------------------------------------------------------------------------------\r\n// Requires\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n//var appUserAuth = require(\"app_utilities/default/app-user/app-user-auth\");\r\n//var appUserToken = require(\"app_utilities/default/app-user/app-user-token\");\r\n//var appUserCurrent = require(\"app_utilities/default/app-user/app-user-current\");\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Variables\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Utility\r\n// --------------------------------------------------------------------------------------------------\r\n\r\nmodule.exports = {\r\n verify: verify\r\n};\r\n\r\n// --------------------------------------------------------------------------------------------------\r\n// Functions\r\n// --------------------------------------------------------------------------------------------------\r\n\r\n// Function: verify ---------------------------------------------------------------------------------\r\nfunction verify() {\r\n\r\n var def = $.Deferred();\r\n\r\n appCustomAuth.verifyAuth().then(\r\n function (result) {\r\n console.log(\"verified!\");\r\n appUserCurrent.setCurrentUser(result);\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n\r\n if (error instanceof Error) {\r\n\r\n console.log(\"error occurred during verification!\");\r\n def.reject(error);\r\n\r\n } else {\r\n\r\n console.log(\"verifying token\");\r\n\r\n var authCookie = appUserToken.verifyToken();\r\n\r\n if (authCookie != null) {\r\n\r\n console.log(\"auth token verified!\");\r\n verifiedTokenExists(authCookie, def);\r\n } else {\r\n\r\n console.log(\"auth token could not be verified!\");\r\n def.reject();\r\n };\r\n };\r\n });\r\n\r\n return def.promise();\r\n};\r\n\r\n// Function: isJsonString --------------------------------------------------------------------\r\nfunction isJsonString(str) {\r\n try {\r\n JSON.parse(str);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n// Function: verifiedTokenExists --------------------------------------------------------------------\r\nfunction verifiedTokenExists(authCookie, def) {\r\n if (isJsonString(authCookie)) {\r\n var parsedCookieMmm = JSON.parse(authCookie);\r\n appUserAuth.backendAuthSubmit(parsedCookieMmm);\r\n\r\n appUserAuth.backendAuthStatus().then(function (result) {\r\n\r\n appUserCurrent.setCurrentUser(result.user);\r\n\r\n def.resolve(result);\r\n },\r\n function (error) {\r\n def.reject(error);\r\n });\r\n } else {\r\n def.reject();\r\n }\r\n\r\n};","\r\nrequire(\"bootstrap-sass/assets/javascripts/bootstrap.min.js\");\r\n\r\n//require(\"kendo.all.min\");\r\n//require(\"kendo.angular\");\r\n//require(\"kendo.angular2\");\r\n//require(\"kendo.aspnetmvc\");\r\n//require(\"kendo.autocomplete\");\r\nrequire(\"kendo.binder\");\r\nrequire(\"kendo.filtercell\");\r\n//require(\"kendo.button\");\r\n//require(\"kendo.calendar\");\r\n//require(\"kendo.color\");\r\n//require(\"kendo.colorpicker\");\r\n//require(\"kendo.columnmenu\");\r\nrequire(\"kendo.columnsorter\");\r\n//require(\"kendo.combobox\");\r\nrequire(\"kendo.core\");\r\nrequire(\"kendo.data\");\r\n//require(\"kendo.data.odata\");\r\n//require(\"kendo.data.signalr\");\r\n//require(\"kendo.data.xml\");\r\n//require(\"kendo.dataviz.barcode\");\r\nrequire(\"kendo.dataviz.chart.funnel\");\r\nrequire(\"kendo.dataviz.chart\");\r\nrequire(\"kendo.dataviz.chart.polar\");\r\n//require(\"kendo.dataviz.core\");\r\n//require(\"kendo.dataviz.diagram\");\r\n//require(\"kendo.dataviz.gauge\");\r\n//require(\"kendo.dataviz.map\");\r\n//require(\"kendo.dataviz\");\r\n//require(\"kendo.dataviz.mobile\");\r\n//require(\"kendo.dataviz.qrcode\");\r\n//require(\"kendo.dataviz.sparkline\");\r\n//require(\"kendo.dataviz.stock\");\r\n//require(\"kendo.dataviz.themes\");\r\n//require(\"kendo.dataviz.treemap\");\r\n//require(\"kendo.datepicker\");\r\nrequire(\"kendo.datetimepicker\");\r\n//require(\"kendo.dom\");\r\n//require(\"kendo.draganddrop\");\r\n//require(\"kendo.drawing\");\r\n//require(\"kendo.dropdownlist\");\r\n//require(\"kendo.editable\");\r\nrequire(\"kendo.editor\");\r\n//require(\"kendo.excel\");\r\n//require(\"kendo.filebrowser\");\r\n//require(\"kendo.filtercell\");\r\n//require(\"kendo.filtermenu\");\r\nrequire(\"kendo.fx\");\r\n//require(\"kendo.gantt.list\");\r\n//require(\"kendo.gantt\");\r\n//require(\"kendo.gantt.timeline\");\r\nrequire(\"kendo.grid\");\r\n//require(\"kendo.groupable\");\r\n//require(\"kendo.imagebrowser\");\r\n//require(\"kendo.userevents\");\r\n//require(\"kendo.list\");\r\nrequire(\"kendo.listview\");\r\n//require(\"kendo.mobile.button\");\r\n//require(\"kendo.mobile.listview\");\r\n//require(\"kendo.maskedtextbox\");\r\n//require(\"kendo.menu\");\r\n//Not including Mobile\r\nrequire(\"kendo.multiselect\");\r\nrequire(\"kendo.notification\");\r\n//require(\"kendo.numerictextbox\");\r\n//require(\"kendo.ooxml\");\r\nrequire(\"kendo.pager\");\r\n//require(\"kendo.panelbar\");\r\n//require(\"kendo.pdf\");\r\n//require(\"kendo.pivot.configurator\");\r\n//require(\"kendo.pivot.fieldmenu\");\r\n//require(\"kendo.pivotgrid\");\r\nrequire(\"kendo.popup\");\r\n//require(\"kendo.progressbar\");\r\n//require(\"kendo.reorderable\");\r\n//require(\"kendo.resizable\");\r\n//require(\"kendo.responsivepanel\");\r\nrequire(\"kendo.router\");\r\n//require(\"kendo.scheduler.agendaview\");\r\n//require(\"kendo.scheduler.dayview\");\r\n//require(\"kendo.scheduler\");\r\n//require(\"kendo.scheduler.monthview\");\r\n//require(\"kendo.scheduler.recurrence\");\r\n//require(\"kendo.scheduler.timelineview\");\r\n//require(\"kendo.scheduler.view\");\r\n//require(\"kendo.selectable\");\r\n//require(\"kendo.slider\");\r\n//require(\"kendo.sortable\");\r\n//require(\"kendo.splitter\");\r\n//require(\"kendo.spreadsheet\");\r\nrequire(\"kendo.tabstrip\");\r\n//require(\"kendo.timepicker\");\r\n//require(\"kendo.timezones\");\r\n//require(\"kendo.toolbar\");\r\nrequire(\"kendo.tooltip\");\r\n//require(\"kendo.touch\");\r\n//require(\"kendo.treelist\");\r\n//require(\"kendo.treeview.draganddrop\");\r\n//require(\"kendo.treeview\");\r\nrequire(\"kendo.upload\");\r\n//require(\"kendo.userevents\");\r\n//require(\"kendo.validator\");\r\nrequire(\"kendo.view\");\r\n//require(\"kendo.virtuallist\");\r\n//require(\"kendo.web\");\r\n//require(\"kendo.webcomponents\");\r\n//require(\"kendo.window\");\r\n\r\nrequire(\"static_assets/owl.carousel/dist/owl.carousel\");\r\n\r\nrequire(\"static_assets/typeahead/dist/typeahead.bundle.min.js\");\r\n\r\nrequire(\"iscroll\");\r\n\r\nrequire(\"static_assets/jquery.scrollbar/jquery.scrollbar\");\r\n\r\n//require(\"jquery.scrollbar\");\r\n\r\n\r\nrequire(\"static_assets/magnific-popup/dist/jquery.magnific-popup\");\r\n//require(\"magnific-popup\");\r\nconst jwt_decode = require(\"static_assets/jwt-decode\");\r\nwindow.jwt = jwt_decode;\r\n\r\nvar moment = require(\"moment\");\r\nwindow.moment = moment;\r\n\r\n\r\n\r\nvar JSZip = require(\"jszip\");\r\nwindow.JSZip = JSZip;\r\n\r\nrequire(\"static_assets/Croppie/croppie\");\r\nrequire(\"bootstrap-checkbox\");\r\n\r\nvar Shepherd = require(\"static_assets/tether-shepherd/dist/js/shepherd\");\r\nwindow.Shepherd = Shepherd;\r\n\r\nvar Papa = require(\"papaparse\");\r\nwindow.Papa = Papa;\r\n\r\nvar polyFil = require(\"promise-polyfill/dist/polyfill.js\");\r\nwindow.polyFil = polyFil;\r\n\r\n","//console.log(\"loading vendor styles...\");\r\n\r\nrequire(\"static_assets/kendo-ui/styles/kendo.common-material.min.css\");\r\nrequire(\"static_assets/kendo-ui/styles/kendo.material.min.css\");\r\nrequire(\"static_assets/kendo-ui/styles/kendo.default.mobile.min.css\");\r\n\r\nrequire(\"static_assets/jquery.scrollbar/sass/jquery.scrollbar.scss\");\r\nrequire(\"static_assets/magnific-popup/dist/magnific-popup.css\");\r\nrequire(\"static_assets/fontawesome/scss/font-awesome.scss\");\r\n\r\nrequire(\"static_assets/owl.carousel/dist/compiledassets/owl.carousel.css\");\r\nrequire(\"static_assets/owlcarousel/owl-carousel/owl.theme.css\");\r\nrequire(\"static_assets/owlcarousel/owl-carousel/owl.transitions.css\");\r\nrequire(\"static_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.css\");\r\nrequire(\"static_assets/Croppie/croppie.css\");\r\n \r\n \r\nrequire(\"static_assets/tether-shepherd/dist/css/shepherd-theme-arrows.css\");\r\nrequire(\"static_assets/tether-shepherd/dist/css/shepherd-theme-arrows-fix.css\");\r\nrequire(\"static_assets/tether-shepherd/dist/css/shepherd-theme-arrows-plain-buttons.css\");\r\nrequire(\"static_assets/tether-shepherd/dist/css/shepherd-theme-dark.css\");\r\nrequire(\"static_assets/tether-shepherd/dist/css/shepherd-theme-default.css\");\r\nrequire(\"static_assets/tether-shepherd/dist/css/shepherd-theme-square.css\");\r\nrequire(\"static_assets/tether-shepherd/dist/css/shepherd-theme-square-dark.css\");\r\n\r\n//console.log(\"loaded vendor styles!\");","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * Bootstrap-checkbox v1.5.0 (https://vsn4ik.github.io/bootstrap-checkbox/)\n * Copyright 2013-2018 Vasilii A. (https://github.com/vsn4ik)\n * Licensed under the MIT license\n */\n\n/**\n * $.inArray: friends with IE8. Use Array.prototype.indexOf in future.\n * $.proxy: friends with IE8. Use Function.prototype.bind in future.\n */\n\n'use strict';\n\n(function(factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module\n define(['jquery'], factory);\n } else if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory(require('jquery'));\n } else {\n // Browser globals\n factory(jQuery);\n }\n})(function($) {\n function create() {\n return $($.map(arguments, $.proxy(document, 'createElement')));\n }\n\n function Checkboxpicker(element, options) {\n this.element = element;\n this.$element = $(element);\n\n var data = this.$element.data();\n\n // <... data-reverse>\n if (data.reverse === '') {\n data.reverse = true;\n }\n\n // <... data-switch-always>\n if (data.switchAlways === '') {\n data.switchAlways = true;\n }\n\n // <... data-html>\n if (data.html === '') {\n data.html = true;\n }\n\n this.options = $.extend({}, $.fn.checkboxpicker.defaults, options, data);\n\n if (this.$element.closest('label').length) {\n console.warn(this.options.warningMessage);\n\n return;\n }\n\n this.$group = create('div');\n\n // .btn-group-justified works with elements as the
    ',trigger:\"hover focus\",title:\"\",delay:0,html:!1,container:!1,viewport:{selector:\"body\",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error(\"`selector` option must be specified when initializing \"+this.type+\" on the window.document object!\");for(var o=this.options.trigger.split(\" \"),n=o.length;n--;){var s=o[n];if(\"click\"==s)this.$element.on(\"click.\"+this.type,this.options.selector,g.proxy(this.toggle,this));else if(\"manual\"!=s){var a=\"hover\"==s?\"mouseenter\":\"focusin\",r=\"hover\"==s?\"mouseleave\":\"focusout\";this.$element.on(a+\".\"+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+\".\"+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:\"manual\",selector:\"\"}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&\"number\"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data(\"bs.\"+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e)),t instanceof g.Event&&(e.inState[\"focusin\"==t.type?\"focus\":\"hover\"]=!0),e.tip().hasClass(\"in\")||\"in\"==e.hoverState)e.hoverState=\"in\";else{if(clearTimeout(e.timeout),e.hoverState=\"in\",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){\"in\"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data(\"bs.\"+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e)),t instanceof g.Event&&(e.inState[\"focusout\"==t.type?\"focus\":\"hover\"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState=\"out\",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){\"out\"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event(\"show.bs.\"+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr(\"id\",n),this.$element.attr(\"aria-describedby\",n),this.options.animation&&o.addClass(\"fade\");var s=\"function\"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\\s?auto?\\s?/i,r=a.test(s);r&&(s=s.replace(a,\"\")||\"top\"),o.detach().css({top:0,left:0,display:\"block\"}).addClass(s).data(\"bs.\"+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger(\"inserted.bs.\"+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s=\"bottom\"==s&&l.bottom+d>c.bottom?\"top\":\"top\"==s&&l.top-dc.width?\"left\":\"left\"==s&&l.left-ha.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;ha.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr(\"data-original-title\")||(\"function\"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+\" `template` option must consist of exactly 1 top-level element!\");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(\".tooltip-arrow\")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data(\"bs.\"+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass(\"in\")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off(\".\"+t.type).removeData(\"bs.\"+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data(\"bs.tooltip\"),i=\"object\"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data(\"bs.tooltip\",e=new m(this,i)),\"string\"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){\"use strict\";var s=function(t,e){this.init(\"popover\",t,e)};if(!n.fn.tooltip)throw new Error(\"Popover requires tooltip.js\");s.VERSION=\"3.4.1\",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:\"right\",trigger:\"click\",content:\"\",template:'

    '}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),\"string\"===o&&(i=this.sanitizeHtml(i))),t.find(\".popover-title\").html(e),t.find(\".popover-content\").children().detach().end()[\"string\"===o?\"html\":\"append\"](i)}else t.find(\".popover-title\").text(e),t.find(\".popover-content\").children().detach().end().text(i);t.removeClass(\"fade top bottom left right in\"),t.find(\".popover-title\").html()||t.find(\".popover-title\").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr(\"data-content\")||(\"function\"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(\".arrow\")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data(\"bs.popover\"),i=\"object\"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data(\"bs.popover\",e=new s(this,i)),\"string\"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){\"use strict\";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||\"\")+\" .nav li > a\",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on(\"scroll.bs.scrollspy\",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data(\"bs.scrollspy\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.scrollspy\",e=new n(this,i)),\"string\"==typeof o&&e[o]()})}n.VERSION=\"3.4.1\",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o=\"offset\",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o=\"position\",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data(\"target\")||t.attr(\"href\"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(\":visible\")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e=n[t]&&(n[t+1]===undefined||e .active\"),n=i&&r.support.transition&&(o.length&&o.hasClass(\"fade\")||!!e.find(\"> .fade\").length);function s(){o.removeClass(\"active\").find(\"> .dropdown-menu > .active\").removeClass(\"active\").end().find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!1),t.addClass(\"active\").find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!0),n?(t[0].offsetWidth,t.addClass(\"in\")):t.removeClass(\"fade\"),t.parent(\".dropdown-menu\").length&&t.closest(\"li.dropdown\").addClass(\"active\").end().find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!0),i&&i()}o.length&&n?o.one(\"bsTransitionEnd\",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass(\"in\")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),\"show\")};r(document).on(\"click.bs.tab.data-api\",'[data-toggle=\"tab\"]',i).on(\"click.bs.tab.data-api\",'[data-toggle=\"pill\"]',i)}(jQuery),function(l){\"use strict\";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on(\"scroll.bs.affix.data-api\",l.proxy(this.checkPosition,this)).on(\"click.bs.affix.data-api\",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data(\"bs.affix\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.affix\",e=new h(this,i)),\"string\"==typeof o&&e[o]()})}h.VERSION=\"3.4.1\",h.RESET=\"affix affix-top affix-bottom\",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&\"top\"==this.affixed)return n\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \":root {\\n --primary: #6CC38B;\\n --secondary: #011542;\\n --primaryv2: #56DC92;\\n --breadcrumb-bg: #011542;\\n --metric-active-bg: #56DC92; }\\n\\n.k-notification {\\n border: 0; }\\n\\n.k-widget.k-notification.k-notification-error {\\n background: #d9534f;\\n color: #ffffff;\\n border-color: #ffffff; }\\n\\n.error-notification {\\n width: 300px;\\n height: 100px;\\n padding-top: 20px;\\n padding-left: 20px; }\\n\\n.error-notification .notification-icon {\\n height: 100px !important;\\n display: table;\\n width: 55px;\\n float: left;\\n position: relative;\\n margin-top: 10px; }\\n\\n.error-notification .notification-content {\\n height: 100px !important;\\n width: 200px;\\n float: left;\\n display: table;\\n margin-left: 10px; }\\n .error-notification .notification-content .btn-primary {\\n margin-top: 13px !important;\\n background-color: #ffffff;\\n color: #00164E; }\\n .error-notification .notification-content a.btn-primary {\\n padding-right: 15px !important; }\\n\\n.error-notification .notification-content a {\\n color: #ffffff;\\n text-decoration: underline; }\\n\\n.error-notification .notification-buttons {\\n height: 20px;\\n float: right;\\n display: table;\\n padding-bottom: 20px;\\n padding-right: 20px; }\\n\\n.k-widget.k-notification.k-notification-info {\\n background: #00164E;\\n color: #ffffff;\\n border-color: #ffffff; }\\n\\n.info-notification {\\n width: 300px;\\n height: 100px;\\n padding-top: 20px;\\n padding-left: 20px; }\\n\\n.info-notification .notification-icon {\\n height: 100px !important;\\n display: table;\\n width: 55px;\\n float: left;\\n position: relative;\\n margin-top: 10px; }\\n\\n.info-notification .notification-content {\\n height: 100px !important;\\n width: 200px;\\n float: left;\\n display: table;\\n margin-left: 10px; }\\n\\n.info-notification .notification-content a {\\n color: #ffffff;\\n text-decoration: underline; }\\n\\n.info-notification .notification-buttons {\\n height: 20px;\\n float: right;\\n display: table;\\n padding-bottom: 20px;\\n padding-right: 20px; }\\n\\n.k-widget.k-notification.k-notification-success {\\n background: #6CC38B;\\n background: var(--primary);\\n color: #ffffff;\\n border-color: #ffffff; }\\n\\n.success-notification {\\n width: 300px;\\n height: 100px;\\n padding-top: 20px;\\n padding-left: 20px; }\\n\\n.success-notification .notification-icon {\\n height: 100px !important;\\n display: table;\\n width: 55px;\\n float: left;\\n position: relative;\\n margin-top: 10px; }\\n\\n.success-notification .notification-content {\\n height: 100px !important;\\n width: 200px;\\n float: left;\\n display: table;\\n margin-left: 10px; }\\n\\n.success-notification .notification-content a {\\n color: #ffffff;\\n text-decoration: underline; }\\n\\n.success-notification .notification-buttons {\\n height: 20px;\\n float: right;\\n display: table;\\n padding-bottom: 20px;\\n padding-right: 20px; }\\n\\n.k-widget.k-notification.k-notification-warning {\\n background: #f0ad4e;\\n color: #ffffff;\\n border-color: #ffffff; }\\n\\n.warning-notification {\\n width: 300px;\\n height: 100px;\\n padding-top: 20px;\\n padding-left: 20px; }\\n\\n.warning-notification .notification-icon {\\n height: 100px !important;\\n display: table;\\n width: 55px;\\n float: left;\\n position: relative;\\n margin-top: 10px; }\\n\\n.warning-notification .notification-content {\\n height: 100px !important;\\n width: 200px;\\n float: left;\\n display: table;\\n margin-left: 10px; }\\n\\n.warning-notification .notification-content a {\\n color: #ffffff;\\n text-decoration: underline; }\\n\\n.warning-notification .notification-buttons {\\n height: 20px;\\n float: right;\\n display: table;\\n padding-bottom: 20px;\\n padding-right: 20px; }\\n\\n.k-popup .k-primary {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\na.save-button-width {\\n width: 80.82px;\\n margin-right: 5px; }\\n\\na.select-photo-button-width {\\n width: 138.16px; }\\n\\na.edit-enteprise-button-width {\\n /*width: 177.13px;*/\\n margin-right: 5px; }\\n\\n.create-enteprise-button-width {\\n margin-right: 5px; }\\n\\na.modal-createEnteprise-button-width {\\n width: 99.75px; }\\n\\ndiv.report-finish-button-width {\\n width: 96.66px; }\\n\\ndiv.previous-MentorReport-button-width {\\n width: 173.69px; }\\n\\na.edit-corporate-button-width {\\n width: 198.27px;\\n margin-right: 5px; }\\n\\na.add-button-width {\\n width: 80.82px;\\n margin-right: 5px; }\\n\\n/*.row-hidden-xs {\\r\\n @media (max-width: $screen-xs-max) {\\r\\n\\t\\t\\tdisplay: none;\\r\\n\\t\\t}\\r\\n}*/\\n.k-loading-image {\\n background-image: url(\\\"/App/images/ripple.gif\\\") !important; }\\n\\n.k-upload-selected {\\n display: none !important; }\\n\\n.k-upload-files {\\n margin-bottom: 0 !important; }\\n\\n.k-calendar .k-today {\\n background-color: #555555; }\\n .k-calendar .k-today.k-state-hover {\\n background-color: #6CC38B;\\n background-color: var(--primary); }\\n\\n.k-calendar td.k-state-selected {\\n background-color: #6CC38B;\\n background-color: var(--primary); }\\n\\n.k-calendar .k-footer .k-nav-today {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.k-listview .k-state-selected {\\n background-color: #6CC38B !important;\\n background-color: var(--primary) !important;\\n color: #fff !important; }\\n\\n.k-listview .k-state-selected:hover {\\n color: #fff !important; }\\n\\n.k-file {\\n background-color: #6CC38B !important;\\n background-color: var(--primary) !important; }\\n\\n.k-list-optionlabel.k-state-selected {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.k-editable > .k-header {\\n background-color: #E9EDF5; }\\n\\n.k-editable > .k-header.k-grid-toolbar {\\n border-color: #60bd68; }\\n\\n.k-grid .padding-text-buttons {\\n padding-top: 5px;\\n display: inline-block; }\\n\\n.k-dropdown {\\n width: 100%; }\\n\\n.k-selectable tr {\\n cursor: pointer; }\\n\\n.k-grid .k-header.k-grid-toolbar {\\n display: none; }\\n\\n.k-grid-content td {\\n border-bottom-width: 1px !important; }\\n\\n/*.k-grid-content{\\r\\n padding-bottom: 230px; \\r\\n}*/\\n.k-pager-wrap {\\n overflow: hidden !important; }\\n\\n.k-grid td.k-state-selected, .k-grid tr.k-state-selected {\\n background-color: #6CC38B !important;\\n background-color: var(--primary) !important;\\n color: #fff !important; }\\n\\n.k-grid td.k-state-selected:hover, .k-grid tr.k-state-selected:hover td {\\n background-color: #6CC38B;\\n background-color: var(--primary); }\\n\\n.k-grid tr.k-state-selected > td {\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n\\n#manage-budget-deployed-grid .k-primary {\\n color: #444; }\\n\\n#manage-capital-grid .k-primary {\\n color: #444; }\\n\\n#manage-budget-grid .k-primary {\\n color: #444; }\\n\\n/*.kendo-grid-form{\\r\\n k-primary{\\r\\n color: #444;\\r\\n }\\r\\n}*/\\n.k-draghandle-disable {\\n border-color: #8b8b8b !important;\\n background-color: #8b8b8b !important; }\\n\\n.k-state-disabled {\\n pointer-events: none; }\\n\\n@media (max-width: 799px) {\\n #primary-content {\\n margin-left: 0 !important; } }\\n\\n.status-colour-null {\\n color: #a8a8a8; }\\n\\n.modal-footer {\\n background: #fff !important;\\n padding: 15px !important; }\\n\\n.enterprise-logo img {\\n /*max-height: 80% !important;*/\\n padding-right: 10px; }\\n\\n.company-logo {\\n float: left;\\n width: 115px;\\n height: 60px;\\n border: 1px solid #d9d9d9;\\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);\\n text-align: center;\\n background: #fff;\\n margin-right: 15px; }\\n .company-logo img {\\n max-width: 90%;\\n height: auto;\\n max-height: 80%;\\n position: relative;\\n top: 50%;\\n transform: translateY(-50%); }\\n\\n.mentorPic {\\n float: left !important; }\\n @media (max-width: 799px) {\\n .mentorPic {\\n display: none; } }\\n\\n.stroke-left {\\n border-left: 1px solid #d9d9d9; }\\n\\n.displayFlex {\\n display: flex; }\\n @media (max-width: 1199px) {\\n .displayFlex {\\n display: block; } }\\n\\n.word_wrap {\\n word-wrap: break-word; }\\n\\nul.tabnav > li > a.tabactive {\\n pointer-events: none !important; }\\n\\n@media (min-width: 1200px) {\\n .mentor-width {\\n width: 260px; } }\\n\\n.progress-custom {\\n margin: 8px 0 30px 0; }\\n .progress-custom .reporting-dates-container {\\n margin: 0;\\n position: relative;\\n width: 100%;\\n font-size: 14px; }\\n .progress-custom .reporting-dates-container .report-start,\\n .progress-custom .reporting-dates-container .report-end {\\n background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAaCAYAAABsONZfAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAKdJREFUOI3t1MsNgzAMgOEfiwXoKqzQ3Mxe3SdHukJWgRHcQwGV5smxUi1FUR5fnEOcTlUfwEh7hB64X0SDAA4IrVkAJ977tREGwHnvVwFogAcAkH22AE/ghDIwAgCdmUV3maZpABbg9g0AMLNkU1XLrUl0SkP80Q+j7RkdfRVtG+dtOKegZMBe/mMKSgGQg1IBSdipag18xvtjuQCOjD3wBOLqLGR7AXhba9vg+5CYAAAAAElFTkSuQmCC\\\");\\n position: absolute;\\n margin-top: -1.6em;\\n height: 1.9em;\\n background-repeat: no-repeat;\\n background-position: right; }\\n .progress-custom .progress-container {\\n margin: 0 !important; }\\n .progress-custom .progress-meta {\\n margin-top: 15px; }\\n .progress-custom .bold-text {\\n font-weight: bold; }\\n\\n.modal-tabs {\\n padding: 0 !important; }\\n .modal-tabs nav.tabnav {\\n padding: 0 !important; }\\n\\n.timesheet .time-record-heading .heading {\\n padding-top: 25px;\\n padding-bottom: 25px;\\n float: left; }\\n\\n.timesheet .time-record-heading .total {\\n padding-top: 25px;\\n padding-bottom: 25px;\\n float: right; }\\n\\n.timesheet .footer .row {\\n padding-top: 25px; }\\n\\n.timesheet .footer .previous {\\n float: left; }\\n\\n.timesheet .footer .next {\\n float: right; }\\n\\n.information-panel {\\n border: 2px dotted #d1c7c7;\\n text-align: center;\\n padding: 10px;\\n margin-bottom: 15px; }\\n\\n.additional-info-container {\\n position: relative;\\n margin-bottom: 30px;\\n padding: 25px;\\n border: 1px solid #d1c7c7;\\n box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.15) inset; }\\n .additional-info-container .additional-info .form-group.header-section div.actions span {\\n float: right;\\n color: #6CC38B;\\n color: var(--primary);\\n cursor: pointer;\\n margin-left: 10px;\\n line-height: 30px; }\\n .additional-info-container .additional-info .form-group.header-section div.actions .action-hide {\\n pointer-events: none; }\\n .additional-info-container .additional-info .form-group.header-section div.actions .action-hide i {\\n opacity: 0 !important; }\\n .additional-info-container .additional-info .form-group.header-section div.actions .action-show i {\\n opacity: 1 !important; }\\n\\n.control-label.meta {\\n font-weight: 400; }\\n\\n.report-view-section {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.report-view-not-available {\\n border-bottom: none; }\\n\\n.btn-owl-next {\\n float: right !important;\\n margin-right: 0 !important; }\\n\\n.owl-height {\\n /*height: auto !important;*/ }\\n\\n.status-colour-Outstanding {\\n color: #d9534f; }\\n\\n.status-colour-Incomplete {\\n color: #f0ad4e; }\\n\\n.status-colour-Complete {\\n color: #6CC38B; }\\n\\n.status-colour-NotCreated {\\n color: #a8a8a8; }\\n\\n.status-subheader {\\n padding-top: 1em;\\n text-transform: capitalize; }\\n\\n.k-grid-list-dropdown .list-dropdown {\\n position: relative !important;\\n transform: translateY(0%);\\n right: 0 !important;\\n z-index: 0; }\\n .k-grid-list-dropdown .list-dropdown ul {\\n position: absolute !important;\\n overflow: visible;\\n z-index: 0; }\\n .k-grid-list-dropdown .list-dropdown ul a {\\n cursor: pointer; }\\n\\n.k-multiselect.k-header {\\n border-color: #f0f0f0;\\n background-color: transparent; }\\n\\n.grid-dropdown-overflow {\\n overflow: visible !important; }\\n\\n.loader-opacity {\\n opacity: 0.5; }\\n\\n.reduce-width {\\n margin-left: 15px;\\n margin-right: 15px; }\\n\\n.panel-heading {\\n border-top-right-radius: 0px;\\n border-top-left-radius: 0px; }\\n\\n.panel {\\n border-radius: 0px; }\\n\\n.metric-icon.nolink {\\n cursor: default; }\\n\\n.padding-checkbox-form-group {\\n padding-top: 8px; }\\n\\n.noHover {\\n pointer-events: none; }\\n\\n.capital {\\n text-transform: capitalize; }\\n\\n.form-horizontal {\\n padding-left: 0px;\\n padding-right: 0px; }\\n\\n.right-alignment {\\n text-align: right; }\\n\\n.center-alignment {\\n text-align: center; }\\n\\n.model-grids {\\n width: 1200px; }\\n\\n.showPerformance:hover {\\n cursor: pointer; }\\n\\n.showOverview:hover {\\n cursor: pointer; }\\n\\n.showFund:hover {\\n cursor: pointer; }\\n\\n.showProgramme:hover {\\n cursor: pointer; }\\n\\n.showReport:hover {\\n cursor: pointer; }\\n\\n/*Calendar CSS*/\\n.calendar-disable {\\n pointer-events: none;\\n opacity: .4; }\\n\\n#calendarCollapse .k-link.k-nav-fast {\\n pointer-events: none !important; }\\n\\n.calendar-month-disable {\\n pointer-events: none;\\n background-color: #D1D5DC;\\n color: #011542;\\n color: var(--secondary); }\\n\\n.calendar-month-disable .k-link {\\n color: rgba(128, 128, 128, 0.35); }\\n\\n.k-calendar td.k-state-selected {\\n background-color: #011542;\\n background-color: var(--secondary);\\n border: none; }\\n\\n.k-calendar td {\\n border: solid 1px white; }\\n\\n#calendar-start-compare,\\n#calendar-end-compare {\\n width: 100%; }\\n\\n/*Metrics collapse compare*/\\n.metric-collapse-compare {\\n display: block;\\n color: grey;\\n left: 0px;\\n bottom: 0px;\\n width: 100%;\\n padding-top: 50px;\\n margin-bottom: -20px; }\\n\\n.metric-collapse-compare-bottom {\\n background-color: #ededed;\\n margin-left: -15px;\\n margin-right: -15px;\\n padding-left: 13px;\\n padding-top: 8px;\\n padding-bottom: 10px;\\n font-size: 20px;\\n border-top: 1px solid #d5d5d5; }\\n\\n.metric-collapse-compare.hide {\\n display: none; }\\n\\ndiv .metric-inner .metric-collapse-compare-inner {\\n display: inline;\\n padding-left: 4px;\\n font-size: 18px;\\n font-weight: 500;\\n line-height: 0.9; }\\n div .metric-inner .metric-collapse-compare-inner span {\\n font-size: 18px;\\n font-weight: 500;\\n line-height: 0.9; }\\n\\n.metric-collapse-compare-inner.hide {\\n display: none; }\\n\\n.metric-collapse-compare-inner-up {\\n color: #6CC38B !important;\\n color: var(--primary) !important; }\\n\\n.metric-collapse-compare-inner-down {\\n color: #d9534f !important; }\\n\\n.metric-collapse-compare-inner-neutral {\\n color: #f0ad4e !important; }\\n\\n.mini-up,\\n.mini-neutral,\\n.mini-down {\\n padding-right: 1px;\\n background: none;\\n border: none;\\n color: #777777; }\\n .mini-up:after,\\n .mini-neutral:after,\\n .mini-down:after {\\n font-family: fontawesome;\\n content: '\\\\F059';\\n line-height: 1;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }\\n\\n.mini-up {\\n bottom: 15px;\\n color: #6CC38B;\\n color: var(--primary); }\\n .mini-up:after {\\n content: '\\\\F139'; }\\n\\n.mini-neutral {\\n bottom: 15px;\\n color: #f0ad4e; }\\n .mini-neutral:after {\\n content: '\\\\F056'; }\\n\\n.mini-down {\\n bottom: 15px;\\n color: #d9534f; }\\n .mini-down:after {\\n content: '\\\\F13A'; }\\n\\n.metric-collapse-compare-date {\\n display: inline-grid;\\n float: left;\\n font-size: 10px;\\n padding-right: 12px;\\n margin-bottom: -15px;\\n line-height: 12px;\\n font-weight: 100; }\\n\\n/*overwrite master*/\\n.mini-plus {\\n top: 45px;\\n bottom: 50px; }\\n\\n/*date-selector*/\\n.container-calendar {\\n float: left;\\n align-content: left;\\n text-align: left; }\\n\\n.calendar-selector.hide {\\n display: none; }\\n\\n.calendar-selector-compare {\\n padding: 6px 15px !important; }\\n .calendar-selector-compare i.fa {\\n margin-top: 10px; }\\n .calendar-selector-compare .container-calendar .small {\\n font-size: 65%; }\\n .calendar-selector-compare .container-calendar .container-calendar-date-bottom {\\n margin-top: -2px; }\\n .calendar-selector-compare .container-calendar .container-calendar-date-top {\\n padding-top: 1px; }\\n\\n.calendar-selector-compare.hide {\\n display: none; }\\n\\n.enterprise-logo {\\n float: left;\\n width: 115px;\\n height: 60px;\\n border: 1px solid #d9d9d9;\\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);\\n background: #fff;\\n margin-right: 15px; }\\n @media (max-width: 799px) {\\n .enterprise-logo {\\n display: none; } }\\n .enterprise-logo img {\\n max-width: 90%;\\n height: auto;\\n max-height: 90%;\\n position: relative;\\n top: 50%;\\n transform: translateY(-50%); }\\n\\ndiv.panel-collapse {\\n border-bottom: none; }\\n\\n.nopadding-top {\\n padding-top: none;\\n margin-top: none; }\\n\\n.padding {\\n padding-top: 10px;\\n padding-bottom: 10px; }\\n\\n.padding-Top {\\n padding-top: 10px; }\\n\\n.nopadding-left {\\n margin-left: 0px !important; }\\n\\n.padding-left {\\n padding-left: 6px; }\\n\\n#capitalcommitted-grid .k-grid-toolbar {\\n display: block;\\n border-color: #b8b3b0; }\\n #capitalcommitted-grid .k-grid-toolbar .k-button {\\n float: right; }\\n\\n#subscriptionhistory-grid .k-grid-toolbar {\\n display: block;\\n border-color: #b8b3b0; }\\n #subscriptionhistory-grid .k-grid-toolbar .k-button {\\n float: right; }\\n\\n#capitaldeployed-grid .k-grid-toolbar {\\n display: block;\\n border-color: #b8b3b0; }\\n #capitaldeployed-grid .k-grid-toolbar .k-button {\\n float: right; }\\n\\n#manage-capital-grid {\\n border: solid 1px #b8b3b0 !important; }\\n #manage-capital-grid .k-grid-toolbar {\\n display: block;\\n border-color: #b8b3b0; }\\n #manage-capital-grid .k-grid-toolbar .k-button {\\n float: right; }\\n\\n#manage-budget-grid {\\n border: solid 1px #b8b3b0 !important; }\\n #manage-budget-grid .k-grid-toolbar {\\n display: block;\\n border-color: #b8b3b0; }\\n #manage-budget-grid .k-grid-toolbar .k-button {\\n float: right; }\\n\\n#manage-budget-deployed-grid {\\n border: solid 1px #b8b3b0 !important; }\\n #manage-budget-deployed-grid .k-grid-toolbar {\\n display: block;\\n border-color: #b8b3b0; }\\n #manage-budget-deployed-grid .k-grid-toolbar .k-button {\\n float: right; }\\n\\n#subscriptionhistory-grid {\\n border: solid 1px #b8b3b0 !important; }\\n #subscriptionhistory-grid .k-grid-toolbar {\\n display: block;\\n border-color: #b8b3b0; }\\n #subscriptionhistory-grid .k-grid-toolbar .k-button {\\n float: right; }\\n\\n.data-list-grid .k-grid-toolbar {\\n display: block !important;\\n border-color: #dadada !important; }\\n .data-list-grid .k-grid-toolbar .k-button {\\n float: right; }\\n\\n.k-grid tbody .k-button,\\n.k-ie8 .k-grid tbody button.k-button {\\n background-color: #fff;\\n border-color: #6CC38B;\\n border-color: var(--primary);\\n text-shadow: 0 1px 0 #fff;\\n border: 1px solid #6CC38B;\\n border: 1px solid var(--primary);\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.btn-default:hover,\\n.k-button:hover,\\n.btn-default:focus,\\n.k-button:focus {\\n background-color: #6CC38B !important;\\n background-color: var(--primary) !important;\\n border-color: #6CC38B !important;\\n border-color: var(--primary) !important;\\n text-shadow: 0 1px 0 #fff !important;\\n border: 1px solid #6CC38B !important;\\n border: 1px solid var(--primary) !important;\\n color: #ffffff !important; }\\n\\n/* \\r\\n Green and Red Colours for Growth Metric Card Text\\r\\n*/\\n.metricNetGrowth {\\n color: #5cb85c; }\\n\\n.metricNetLoss {\\n color: #d9534f; }\\n\\n/*.kendo-grid-form {\\r\\n\\r\\n border: solid 1px #b8b3b0 !important; \\r\\n\\r\\n}\\r\\n\\r\\n.kendo-grid-form.k-grid-toolbar{\\r\\n display: block;\\r\\n border-color: #b8b3b0;\\r\\n\\r\\n .k-button{\\r\\n float:right;\\r\\n }\\r\\n }*/\\n.double-explain {\\n padding-top: 4px; }\\n\\n.reducedSpacing {\\n margin: 0px !important;\\n padding: 0px !important;\\n line-height: 14px; }\\n\\n/* DISABLE CONTROLS */\\n.greyout-component {\\n content: \\\"\\\";\\n display: block;\\n background-color: #cccccc;\\n opacity: 0.8;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n z-index: 1000; }\\n\\n/* Mobile Buttons Dropdowns */\\n.dropdown-menu {\\n border-radius: 6px; }\\n\\n.dropdown-menu-title {\\n font-weight: 700;\\n margin-left: 20px;\\n margin-bottom: 5px; }\\n\\n.pointerHover:hover {\\n cursor: pointer; }\\n\\n.calendar-selector-angle-icon {\\n margin-left: 0px !important;\\n padding-right: 10px !important; }\\n\\n.filter-selector-angle-icon {\\n margin-right: 0px !important;\\n padding-left: 10px !important; }\\n\\n/*Rating Toggle btn classes*/\\n.btn-toggle-no-active {\\n border-color: lightgray;\\n color: black;\\n background-color: lightgray;\\n text-transform: uppercase; }\\n\\n.btn-toggle-no-inactive {\\n border-color: lightgray;\\n color: lightgray;\\n text-transform: uppercase; }\\n\\n.btn-toggle-yes-inactive {\\n border-color: lightgray;\\n color: lightgray;\\n text-transform: uppercase; }\\n\\n/*Enterprise Overview list Temporaty Style*/\\n.enterprise-overview-list {\\n border: none; }\\n\\n.report-status-display {\\n color: white;\\n border-radius: 25px;\\n padding: 8px 16px; }\\n\\n.filter-submit {\\n width: 100px;\\n margin-left: 20px; }\\n\\n.programme-fund-filter-header {\\n font-size: 14px;\\n font-weight: bold;\\n float: left;\\n padding-bottom: 12px;\\n padding-top: 12px;\\n padding-left: 20px;\\n margin-top: 0;\\n margin-bottom: 0;\\n color: inherit; }\\n\\n.status-filter-label {\\n padding-right: 20px; }\\n\\n.fixed-header {\\n top: 60px;\\n position: fixed;\\n width: auto;\\n z-index: 99; }\\n\\n.list-dropdown {\\n z-index: 50 !important; }\\n .list-dropdown.open {\\n z-index: 51 !important; }\\n\\n@media all and (max-width: 480px) {\\n .rating-text-poor,\\n .rating-text-excellent {\\n display: none; } }\\n\\n.form-group-height {\\n height: 110px; }\\n\\n.form-slider-width {\\n width: 284px; }\\n\\n.terms-of-compliance-link {\\n cursor: pointer; }\\n\\n.terms-of-use-btn {\\n float: right; }\\n\\n.terms-of-use-dialog {\\n position: static;\\n position: initial;\\n z-index: 1600;\\n width: 620px; }\\n\\n.industry-name-metric {\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n display: block;\\n overflow: hidden; }\\n\\nol {\\n counter-reset: item; }\\n\\nol li {\\n display: block;\\n position: relative; }\\n\\nol li:before {\\n content: counters(item, \\\".\\\") \\\".\\\";\\n counter-increment: item;\\n position: absolute;\\n margin-right: 100%;\\n right: 10px;\\n /* space between number and text */ }\\n\\n#terms-of-compliance-nav {\\n height: 500px;\\n overflow: auto;\\n border-bottom: 1px solid #ededed; }\\n\\n.terms-of-comp-btn {\\n text-align: right; }\\n\\n.terms-of-comp-btns {\\n padding-top: 26.5px; }\\n\\n.terms-of-compliance-txt {\\n font-size: 14px; }\\n\\n.proceed-btn {\\n font-size: 14px;\\n padding: 10px 30px;\\n line-height: 1.33333;\\n border-radius: 4px;\\n background: #6CC38B;\\n background: var(--primary);\\n display: inline-block;\\n margin-bottom: 0;\\n font-weight: normal;\\n text-align: center;\\n color: #ffffff;\\n vertical-align: middle;\\n touch-action: manipulation;\\n cursor: pointer;\\n background-image: none;\\n border: 1px solid transparent;\\n white-space: nowrap;\\n line-height: 1.42857;\\n border-radius: 4px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n height: 47px;\\n width: 140px; }\\n\\n.proceed-btn:hover {\\n background-color: #011542;\\n background-color: var(--secondary);\\n border-color: #011542;\\n border-color: var(--secondary); }\\n\\n.proceed-btn:disabled {\\n background: #AFAFAF;\\n cursor: not-allowed; }\\n\\n.form-groups {\\n border-bottom: 1px solid #ededed;\\n padding-bottom: 10px;\\n margin-bottom: 0;\\n height: 100px; }\\n\\n.terms-of-comp-border {\\n border-left: 1px solid #ededed;\\n border-top: 1px solid #ededed;\\n padding-top: 30px;\\n padding-left: 30px;\\n padding-right: 30px; }\\n\\n.terms-of-comp-borders {\\n border-left: 1px solid #ededed;\\n border-right: 1px solid #ededed;\\n background-color: #FAFAFA; }\\n\\n.disclaim-txt {\\n padding-top: 8.5px; }\\n\\n.k-loading {\\n display: none !important; }\\n\\n.k-header.k-state-default {\\n margin-right: 45px; }\\n\\n/* Small x inside the text field\\r\\n .k-filter-row th {\\r\\n position: relative;\\r\\n\\r\\n .k-filtercell {\\r\\n display: block;\\r\\n box-sizing: border-box;\\r\\n position: relative;\\r\\n\\r\\n .k-button {\\r\\n display: block;\\r\\n box-sizing: border-box;\\r\\n position: absolute;\\r\\n top: 12px;\\r\\n right: 56px;\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n line-height: 0px;\\r\\n padding-top: 0px;\\r\\n padding-bottom: 0px;\\r\\n border-radius: 10px;\\r\\n }\\r\\n }\\r\\n}\\r\\n */\\nspan.k-operator-hidden {\\n padding-right: 0 !important; }\\n\\nspan.k-widget.k-dropdown.k-header.k-dropdown-operator {\\n right: 0px !important; }\\n\\n.k-numerictextbox .k-input {\\n padding-bottom: 5px; }\\n\\nspan.k-dropdown-wrap.k-state-default {\\n padding-bottom: 1px; }\\n\\nbutton.k-button.k-button-icon {\\n padding-bottom: 12px; }\\n\\n.popover-content {\\n width: 260px; }\\n\\n/*#metricCardTextoverflow {\\r\\n white-space: nowrap;\\r\\n width: 100px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n \\r\\n}*/\\n/*.popover {\\r\\n white-space: normal;\\r\\n width: 300px;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}*/\\n.performance-filter-container-fluid {\\n padding-bottom: 27px;\\n padding-top: 20px;\\n padding-left: 20px; }\\n\\ndiv#programmeCollapse {\\n padding: 0 30px; }\\n\\n.filter-inner-container {\\n padding-top: 0px;\\n padding-bottom: 30px;\\n padding-right: 0px;\\n padding-left: 0px; }\\n\\n.filter-submit-button {\\n padding-top: 0px; }\\n\\n.select-deselect-all-button-float {\\n float: right; }\\n\\n.select-filter-label {\\n padding-right: 20px; }\\n\\ninput#ProgrammeDeselectAll {\\n margin-top: 6px; }\\n\\ninput#ProgrammeSelectAll {\\n margin-top: 6px; }\\n\\ninput#FundFSelectAll {\\n margin-top: 6px; }\\n\\ninput#FundDeselectAll {\\n margin-top: 6px; }\\n\\n.nav-tabs > li.active > a,\\n.nav-tabs > li.active > a:hover,\\n.nav-tabs > li.active > a:focus {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n width: 105px;\\n color: #ffffff;\\n text-align: center;\\n font-weight: 900; }\\n\\n.nav-tabs > li > a {\\n margin-right: 2px;\\n line-height: 1.42857;\\n border: 1px solid transparent;\\n border-radius: 0px 0px 0 0;\\n background-color: #dedede;\\n color: #595959;\\n width: 105px;\\n text-align: center; }\\n\\n.nav-tabs > li > a:hover {\\n border-bottom: 0px;\\n cursor: pointer;\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n color: #ffffff; }\\n\\n.sliderbutton {\\n background-color: #6CC38B !important;\\n background-color: var(--primary) !important;\\n border-width: 1px;\\n border-radius: 4px;\\n border: none; }\\n\\n.slider-spacing {\\n padding-bottom: 30px; }\\n\\n.slider-label {\\n width: 200px; }\\n\\n.dropdown-menu-right {\\n right: 57px;\\n left: auto; }\\n\\n.dropdown-menu {\\n top: -4%; }\\n\\n.enterprise-grid-dropdown-overflow {\\n position: -webkit-sticky;\\n position: sticky;\\n right: 0;\\n background: white; }\\n\\nbody.modal-open {\\n overflow: visible; }\\n\\n.k-slider-selection {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n\\n.sliderbutton {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-width: 1px;\\n border-radius: 4px;\\n border: none; }\\n\\n.slider-spacing {\\n padding-bottom: 30px; }\\n\\n.slider-label {\\n width: 200px; }\\n\\n.k-draghandle {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n\\n.k-draghandle.k-state-focused,\\n.k-draghandle.k-state-focused:link,\\n.k-flatcolorpicker .k-hue-slider .k-draghandle.k-state-focused,\\n.k-flatcolorpicker .k-transparency-slider .k-draghandle.k-state-focused {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n\\n.k-draghandle:hover {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary);\\n box-shadow: none; }\\n\\nlabel.k-label {\\n font-weight: normal; }\\n\\n.k-filter-menu .k-filter-selected-items {\\n font-weight: normal; }\\n\\n.k-multicheck-wrap {\\n width: 400px; }\\n\\n.k-panelbar > li.k-state-default > .k-link.k-state-selected,\\n.k-panelbar > li > .k-state-selected,\\n.k-state-selected > .k-link {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.k-grid-header .k-i-sort-asc-sm,\\n.k-grid-header .k-i-sort-desc-sm,\\n.k-grid-header .k-sort-order {\\n color: #60BD68; }\\n\\n.k-grid-footer,\\n.k-grid-footer td,\\n.k-grid-header,\\n.k-grid-header .k-header,\\n.k-pager-numbers .k-state-selected,\\n.k-pager-wrap,\\n.km-pane-wrapper .k-grid-header .k-header {\\n background-color: #E9EDF5; }\\n\\n.diagnostic-download {\\n border-radius: 50%;\\n padding-bottom: 0;\\n width: 30px;\\n height: 30px;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);\\n border: 3px solid #60bd68;\\n background-color: #60bd68; }\\n\\n.maturity-index-style {\\n color: #60bd60;\\n cursor: pointer; }\\n\\n.revenueGrowthCalculationTableHeader {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n color: #ffffff; }\\n\\n.revenueGrowth-image-width {\\n width: 290px; }\\n\\n.wagr-breakdon-table-overflow {\\n overflow-x: auto; }\\n\\n#wagrCollapse {\\n padding: 0 30px; }\\n\\n.wagr-inner-container {\\n padding-top: 30px;\\n padding-bottom: 30px;\\n padding-right: 30px;\\n padding-left: 30px; }\\n\\n.wagr-datePicker {\\n padding-top: 10px;\\n padding-bottom: 10px;\\n margin-bottom: 0; }\\n\\n.wagrReportTableColumn-width {\\n width: 499px;\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n color: #ffffff; }\\n\\n.wagr-green-header-padding {\\n padding: 25px; }\\n\\n.wagr-infoIcon {\\n float: right;\\n padding: 16px;\\n cursor: pointer; }\\n\\n.wagr-submit-button {\\n float: right;\\n padding-top: 50px;\\n padding-bottom: 10px;\\n margin-bottom: 0; }\\n\\n#wagrCollapse {\\n padding: 0 30px; }\\n\\n.wagr-inner-container {\\n padding-top: 30px;\\n padding-bottom: 30px;\\n padding-right: 30px;\\n padding-left: 30px; }\\n\\n.wagr-datePicker {\\n padding-top: 10px;\\n padding-bottom: 10px;\\n margin-bottom: 0; }\\n\\n.mini-info {\\n content: '\\\\F05A';\\n top: 10px;\\n bottom: 50px;\\n right: 40px;\\n background: none;\\n border: none;\\n color: whitesmoke;\\n position: absolute; }\\n\\n.wagr-green-header-padding {\\n padding: 25px; }\\n\\n.wagr-infoIcon {\\n float: right;\\n padding: 16px;\\n cursor: pointer; }\\n\\n.table > thead > tr > th {\\n vertical-align: top; }\\n\\n.wagr-label {\\n padding-top: 5px; }\\n\\n.wagr-form-group {\\n padding-top: 10px;\\n padding-bottom: 20px;\\n margin-bottom: 0; }\\n\\ninput[type=\\\"radio\\\"],\\ninput[type=\\\"checkbox\\\"] {\\n margin-right: 4px; }\\n\\n.performanceFilter {\\n cursor: pointer; }\\n\\n/*New rebrand styling to be adjusted on a later stage*/\\n.panel-footer {\\n background-color: #E9EDF5; }\\n\\n.panel-footer small {\\n color: #50597B; }\\n\\n.k-grid .k-icon {\\n color: #50597B; }\\n\\n.k-grid-header .k-header,\\n.k-grid-header .k-header .k-link,\\n.k-grid-header .k-link,\\n.k-grid-header .k-link:link,\\n.k-pager-info,\\n.k-scheduler-agendaview .k-scheduler-datecolumn,\\n.k-scheduler-header {\\n color: #011542; }\\n\\n.k-block,\\n.k-content,\\n.k-dropdown .k-input,\\n.k-popup,\\n.k-widget {\\n color: #011542; }\\n\\n.k-gantt-toolbar .k-state-default,\\n.k-grid .k-grouping-header,\\n.k-grid-footer td,\\n.k-grid-header,\\n.k-grid-header-wrap,\\n.k-group-footer td,\\n.k-grouping-row td,\\n.k-header,\\n.k-pager-wrap,\\n.k-pager-wrap .k-link,\\n.k-pager-wrap .k-textbox {\\n border-color: #D1D5DC; }\\n\\n.k-autocomplete,\\n.k-block,\\n.k-calendar th,\\n.k-content,\\n.k-dropdown-wrap,\\n.k-dropzone-active,\\n.k-editable-area,\\n.k-filter-row > th,\\n.k-footer-template td,\\n.k-grid td,\\n.k-grid td.k-state-selected,\\n.k-grid-content-locked,\\n.k-grid-footer,\\n.k-grid-footer-locked,\\n.k-grid-footer-wrap,\\n.k-grid-header,\\n.k-grid-header-locked,\\n.k-grid-header-wrap,\\n.k-group,\\n.k-group-footer td,\\n.k-grouping-header,\\n.k-grouping-header .k-group-indicator,\\n.k-header,\\n.k-input,\\n.k-pager-refresh,\\n.k-pager-wrap,\\n.k-pager-wrap .k-link,\\n.k-panel > .k-item > .k-link,\\n.k-panelbar .k-content,\\n.k-panelbar .k-panel,\\n.k-panelbar > .k-item > .k-link,\\n.k-popup.k-align .k-list .k-item:last-child,\\n.k-separator,\\n.k-slider-track,\\n.k-splitbar,\\n.k-state-default,\\n.k-state-default .k-select,\\n.k-state-disabled,\\n.k-textbox,\\n.k-textbox > input,\\n.k-tiles,\\n.k-tooltip,\\n.k-treemap-tile,\\n.k-upload-files,\\n.k-widget {\\n border-color: #D1D5DC; }\\n\\n.k-numerictextbox .k-select {\\n border-color: #fff !important; }\\n\\n.k-active-filter,\\n.k-state-active,\\n.k-state-active:hover,\\n.k-tabstrip .k-state-active {\\n background-color: #E9EDF5; }\\n\\n.k-grid tr:hover {\\n background-color: #D1D5DC; }\\n\\n.k-gantt-toolbar .k-button,\\n.k-gantt > .k-header .k-link,\\n.k-gantt > .k-header li,\\n.k-grid .k-header .k-button,\\n.k-scheduler .k-header .k-button,\\n.k-scheduler .k-header .k-link,\\n.k-scheduler .k-header li,\\n.km-pane-wrapper .k-header .k-button {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n\\n.k-gantt .k-gantt-toolbar .k-button:hover,\\n.k-gantt .k-gantt-toolbar .k-gantt-views li.k-state-hover,\\n.k-gantt .k-gantt-toolbar .k-gantt-views li.k-state-hover .k-link,\\n.k-grid .k-header .k-button:hover,\\n.k-scheduler .k-header .k-button:hover,\\n.k-scheduler .k-scheduler-toolbar .k-scheduler-views li.k-state-hover,\\n.k-scheduler .k-scheduler-toolbar .k-scheduler-views li.k-state-hover .k-link,\\n.km-pane-wrapper .k-header .k-button:hover {\\n background-color: #011542 !important;\\n background-color: var(--secondary) !important;\\n border-color: #011542 !important;\\n border-color: var(--secondary) !important; }\\n\\nspan.k-icon.k-i-plus {\\n color: #ffffff; }\\n\\n.popover-title {\\n background-color: #D1D5DC; }\\n\\n.panel-primary {\\n border-color: #D1D5DC; }\\n\\n.btn {\\n border-radius: 0px; }\\n\\n.k-dropdown .k-state-default {\\n border-color: #E9EDF5;\\n background-color: #E9EDF5; }\\n\\n.k-pager-wrap .k-link {\\n border-color: #E9EDF5; }\\n\\nspan.k-icon.k-i-edit,\\nspan.k-icon.k-i-close {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.dropdown-menu > li > a {\\n color: #011542; }\\n\\n.dropdown-menu .divider {\\n background-color: #D1D5DC; }\\n\\n.dropdown-menu > li > a:hover,\\n.dropdown-menu > li > a:focus {\\n background-image: none;\\n background-color: #D1D5DC; }\\n\\n.btn-primary:hover,\\n.btn-primary:focus {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n\\n.missing-metrics-card .metric-inner span {\\n font-size: 12px !important; }\\n @media (min-width: 1200px) {\\n .missing-metrics-card .metric-inner span {\\n white-space: nowrap !important; } }\\n\\n.input-group-addon {\\n background-color: #D1D5DC;\\n border: 1px solid #D1D5DC; }\\n\\n.form-control {\\n background-color: #ffffff;\\n border: 1px solid #D1D5DC; }\\n\\n.green-border-button {\\n background-color: #fff;\\n border-color: #6CC38B;\\n border-color: var(--primary);\\n text-shadow: 0 1px 0 #fff;\\n border: 1px solid #6CC38B;\\n border: 1px solid var(--primary);\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.green-border-button:hover,\\n.green-border-button:active,\\n.green-border-button:focus {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary);\\n text-shadow: 0 1px 0 #fff;\\n border: 1px solid #6CC38B;\\n border: 1px solid var(--primary);\\n color: #ffffff; }\\n\\n.btn-primary-dark-hover-state:hover {\\n background-color: #011542;\\n background-color: var(--secondary);\\n border-color: #011542;\\n border-color: var(--secondary); }\\n\\na {\\n color: #011542;\\n color: var(--secondary); }\\n\\nspan.k-icon.k-i-check,\\nspan.k-icon.k-i-cancel {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.container-fluid {\\n background-color: #ffffff; }\\n\\n.calender-font {\\n font-weight: 700; }\\n\\n.k-dropdown,\\nspan.k-colorpicker {\\n background-color: white; }\\n\\n#replacementContainer {\\n float: left;\\n width: 115px;\\n margin-right: 15px;\\n height: 60px;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n border: 1px solid #d9d9d9;\\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);\\n text-align: center;\\n background-color: #e9edf6; }\\n\\n#replacementContainerText {\\n margin: auto;\\n padding: 20px 10px 10px;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n color: #021442;\\n font-weight: bold;\\n font-size: 7.55px; }\\n\\n#replacementContainerOverview {\\n height: 130px;\\n width: 90px; }\\n\\n.replacementContainerOverview {\\n border: 1px solid #d9d9d9;\\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);\\n background-color: #e9edf6;\\n width: 69%;\\n margin-top: 27px;\\n margin-bottom: 28px;\\n height: 106px;\\n line-height: 106px;\\n margin-left: 15%;\\n white-space: nowrap; }\\n\\n#replacementContainerOverviewText {\\n padding: 0px 13px;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n color: #021442;\\n font-weight: bold;\\n font-size: 19px;\\n white-space: nowrap; }\\n\\n#enterprise-logo #overview-logo {\\n max-width: 90%;\\n height: auto;\\n max-height: 90%;\\n position: relative;\\n top: 50%;\\n transform: translateY(-50%); }\\n\\n#overview-img {\\n max-width: 90%;\\n width: 130px;\\n position: relative;\\n top: 80px;\\n transform: translateY(-50%); }\\n\\n.break-word {\\n word-wrap: break-word !important; }\\n\\n.hide-enterprise-financials-indecator {\\n padding-right: 0px;\\n padding-left: 0px;\\n width: 24px; }\\n\\n.k-colorpicker {\\n padding-top: 10px; }\\n\\n.mainnavWidth {\\n width: 500px;\\n max-width: 500px !important; }\\n @media (max-width: 799px) {\\n .mainnavWidth {\\n width: 370px;\\n max-width: 370px !important; } }\\n @media (max-width: 799px) {\\n .mainnavWidth {\\n width: 370px !important; } }\\n\\n.k-state-default-1 {\\n color: #011542;\\n font-size: 14px; }\\n\\n.k-state-default-2 {\\n color: #717DAD;\\n font-size: 10px;\\n float: right !important;\\n margin-left: auto;\\n margin-right: 0; }\\n\\n@media (max-width: 799px) {\\n .k-animation-container {\\n width: 350px !important; } }\\n\\n.k-animation-container {\\n width: 457.778px !important; }\\n\\n.k-list-container {\\n width: 457.778px !important;\\n max-width: 457.778px !important; }\\n @media (max-width: 799px) {\\n .k-list-container {\\n width: 328px !important; } }\\n\\n#input_container {\\n padding: 10px; }\\n\\n.search-text {\\n color: #66728B;\\n font-size: 16px;\\n font-weight: 400;\\n cursor: pointer;\\n border-radius: 5px;\\n min-height: 38px; }\\n\\n.search-text img {\\n padding-right: 20px; }\\n\\n.input-field {\\n display: none; }\\n\\n@media (max-width: 799px) {\\n .k-animation-container {\\n width: 350px !important; } }\\n\\n.block:before {\\n height: 0% !important; }\\n\\n.maintanance-notice-banner {\\n background-color: white;\\n width: 100%;\\n margin-bottom: 15px;\\n text-align: left;\\n padding: 16px;\\n padding-left: 30px;\\n padding-right: 30px;\\n font-size: 20px;\\n font-weight: bold; }\\n .maintanance-notice-banner .red-important-text {\\n color: red; }\\n\\n.nav-footer {\\n position: absolute;\\n bottom: 0; }\\n\\n.breadcrumb-panel {\\n height: 103px;\\n top: 80px;\\n left: 235px;\\n grid-gap: 0px;\\n gap: 0px;\\n border-radius: 10px;\\n background-color: #011542;\\n background-color: var(--breadcrumb-bg);\\n margin-bottom: 15px;\\n padding: 25px;\\n /*padding: 0px;\\r\\n margin: 0px;\\r\\n border-radius: 10px;\\r\\n height: 103px;\\r\\n position: absolute;\\r\\n top: 80px;*/ }\\n\\n.breadcrumb-panel .breadcrumb-text {\\n color: #FFFFFF; }\\n\\n.breadcrumb-panel .breadcrumb-text .primary-text {\\n font-size: 15px;\\n font-weight: 300;\\n line-height: 18.29px;\\n text-align: left;\\n color: #FFFFFF !important; }\\n\\n.breadcrumb-panel .breadcrumb-text #enterprise-name {\\n cursor: pointer; }\\n\\n.breadcrumb-panel .breadcrumb-text #corporate-name {\\n cursor: pointer; }\\n\\n.breadcrumb-panel .breadcrumb-text .secondary-text {\\n font-size: 35px;\\n font-weight: 700;\\n line-height: 40px;\\n text-align: left; }\\n\\n.main-content-container {\\n background: #F6F6F6 !important; }\\n\\n.content-panel {\\n background: #FFFFFF !important;\\n border-radius: 10px;\\n border: 1px solid #F2F2F2;\\n padding: 15px 25px 15px 25px;\\n margin-bottom: 15px;\\n box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.10196); }\\n\\n.content-panel-heading {\\n height: 27px;\\n top: 213px;\\n left: 258px;\\n font-size: 22px;\\n font-weight: 600;\\n line-height: 26.82px;\\n text-align: left;\\n color: #011542 !important;\\n color: var(--breadcrumb-bg) !important;\\n margin-bottom: 14px; }\\n\\n.clean-panel {\\n border: 1px solid #E7E5E5;\\n border-radius: 5px; }\\n\\n.clean-panel-heading {\\n background: rgba(80,89,123,0.6) !important;\\n height: 51px;\\n padding: 7.04px 10px 7.04px 10px;\\n margin: 0px;\\n border-radius: 6px 6px 0px 0px; }\\n\\n.start-on-new-page {\\n page-break-inside: avoid;\\n -moz-column-break-inside: avoid;\\n break-inside: avoid; }\\n\\n.margin-top-60 {\\n margin-top: 60px; }\\n\\n.print-logo {\\n margin-top: 10px; }\\n\\n@media screen {\\n .print-only {\\n display: none;\\n /* Hide image on screen */ } }\\n\\n@media print {\\n .clean-panel-heading {\\n -webkit-print-color-adjust: exact;\\n /* Ensure background colors are printed */\\n print-color-adjust: exact; }\\n @page {\\n margin: 0 !important;\\n /* Removes page margins */ }\\n .margin-top-60 {\\n margin-top: 0px !important; }\\n body {\\n margin: 0;\\n /* Removes body margins */\\n padding-top: 0 !important;\\n /* Pushes all content to the top */ }\\n .content-panel {\\n background: #FFFFFF !important;\\n box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.10196) !important; }\\n .breadcrumb-panel {\\n -webkit-print-color-adjust: exact;\\n /* Ensure background colors are printed */\\n print-color-adjust: exact;\\n margin-top: 10px !important;\\n background-color: #011542 !important;\\n background-color: var(--breadcrumb-bg) !important; }\\n .breadcrumb-panel .breadcrumb-text {\\n color: rgba(255,255,255,1) !important; }\\n .report-text {\\n color: rgba(255,255,255,1) !important;\\n print-color-adjust: exact;\\n -webkit-print-color-adjust: exact; }\\n .main-content-container {\\n background: #F6F6F6 !important; }\\n .has-top-bar .content-container {\\n padding-top: 0px !important; }\\n #content,\\n #primary-content {\\n margin-top: 0 !important;\\n /* Ensure no extra space at the top of sections */\\n padding-top: 0 !important;\\n /* Pushes all content to the top */ }\\n .no-print {\\n display: none !important;\\n /* Hide these elements when printing */ }\\n .metric-clean-chart {\\n background: rgba(209,213,220,0.30196) !important;\\n -webkit-print-color-adjust: exact;\\n /* Ensure background colors are printed */\\n print-color-adjust: exact; }\\n .btn-primary,\\n .date-picker {\\n color: rgba(255,255,255,1) !important;\\n -webkit-print-color-adjust: exact;\\n /* Ensure background colors are printed */\\n print-color-adjust: exact; }\\n .clean-panel-option-performance-filter-container {\\n right: 0px !important; }\\n div.metric-clean-chart-alt {\\n box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.2) !important;\\n -webkit-print-color-adjust: exact;\\n /* Ensure background colors are printed */\\n print-color-adjust: exact; }\\n .clean-mini-plus-alt,\\n .clean-mini-help-alt {\\n color: #50A594 !important;\\n -webkit-print-color-adjust: exact;\\n /* Ensure background colors are printed */\\n print-color-adjust: exact; }\\n .clean-mini-plus-alt:after,\\n .clean-mini-help-alt:after {\\n color: #50A594 !important;\\n -webkit-print-color-adjust: exact;\\n /* Ensure background colors are printed */\\n print-color-adjust: exact; }\\n .print-text-color {\\n color: #50A594 !important;\\n -webkit-print-color-adjust: exact;\\n /* Ensure background colors are printed */\\n print-color-adjust: exact; } }\\n\\n.clean-panel-table-heading {\\n background: rgba(80,89,123,0.6) !important;\\n height: 51px;\\n margin: 0px;\\n border-radius: 6px 6px 0px 0px; }\\n\\n.clean-panel-options {\\n height: 36.92px;\\n position: relative;\\n border-radius: 6px;\\n padding: 0px;\\n margin: 0px; }\\n\\n.clean-panel-options-text {\\n font-size: 18px;\\n font-weight: 500;\\n line-height: 21.94px;\\n text-align: left;\\n color: #FFFFFF;\\n position: absolute;\\n top: 7.42px;\\n margin: auto;\\n text-transform: uppercase; }\\n\\n.clean-panel-table-text {\\n font-size: 18px;\\n font-weight: 500;\\n line-height: 21.94px;\\n text-align: left;\\n color: #FFFFFF;\\n position: absolute;\\n top: 15px;\\n left: 30px;\\n margin: auto;\\n text-transform: uppercase; }\\n\\n.clean-panel-table-column {\\n font-weight: 500 !important; }\\n\\n.clean-panel-options-download {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n margin: auto;\\n height: 36.92px;\\n width: 36.92px;\\n background: #56DC92;\\n border: 1px solid #56DC92;\\n border-radius: 6px;\\n cursor: pointer;\\n background-image: url(\\\"/App/images/download.svg\\\");\\n /* Set the background image */ }\\n\\n.clean-panel-options-download-button {\\n position: absolute;\\n height: 14.94px;\\n right: 18px;\\n top: 7px;\\n width: 12.31px;\\n color: #FFFFFF;\\n font-weight: 200; }\\n\\n.clean-panel-option-performance-filter {\\n border: none;\\n background: none;\\n font-size: 18px;\\n font-weight: 500; }\\n\\n.clean-panel-option-performance-filter:hover {\\n background: none !important;\\n border: none !important; }\\n\\n.clean-panel-option-performance-filter:active {\\n background: none !important;\\n border: none !important; }\\n\\n.clean-panel-option-performance-filter:focus {\\n background: none !important;\\n border: none !important;\\n outline: none; }\\n\\n.clean-panel-option-calendar-container {\\n position: absolute; }\\n\\n.clean-panel-option-calendar {\\n border: none;\\n background: none;\\n font-size: 18px;\\n font-weight: 500;\\n padding-left: 5px; }\\n\\n.clean-panel-option-calendar:hover {\\n background: none !important;\\n border: none !important; }\\n\\n.clean-panel-option-calendar:focus {\\n background: none !important;\\n border: none !important;\\n outline: none; }\\n\\n.clean-panel-option-performance-filter-container {\\n position: absolute;\\n right: 44px; }\\n\\n.corporate-logo-text {\\n color: #011542 !important;\\n color: var(--secondary) !important;\\n float: left;\\n margin-top: 5px; }\\n\\n.corporate-dashboard-logo {\\n float: left;\\n margin-right: 10px; }\\n\\n@media (max-width: 610px) {\\n .clean-panel-heading {\\n height: 140px; }\\n .clean-panel-options {\\n height: 130px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center; }\\n .clean-panel-option-calendar-container {\\n position: relative; }\\n .clean-panel-option-performance-filter-container {\\n position: relative;\\n right: 0px; }\\n .clean-panel-options-download {\\n position: relative;\\n background-repeat: no-repeat;\\n background-position: center;\\n width: 90%; } }\\n\\n@media (max-width: 799px) {\\n #login-carousel {\\n display: none !important; } }\\n\\n#auth-content {\\n overflow: hidden; }\\n\\n.login-container.block {\\n white-space: normal !important;\\n margin-left: 110px !important;\\n display: flex;\\n justify-content: center;\\n height: auto;\\n margin-top: 5% !important; }\\n @media (max-width: 767px) {\\n .login-container.block {\\n margin-left: 0px !important; } }\\n\\n.login-container.block.sso {\\n white-space: normal !important;\\n margin-left: 110px !important;\\n padding-top: 200px; }\\n @media (max-width: 767px) {\\n .login-container.block.sso {\\n margin-left: 0px !important; } }\\n\\n.confirmation-container .row {\\n margin-bottom: 19px !important; }\\n\\n.confirmation {\\n padding: 40px; }\\n .confirmation .btn {\\n margin-top: 26px; }\\n .confirmation .confirmation-content {\\n text-align: center;\\n padding: 2rem 2rem 5rem 2rem;\\n box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.15);\\n max-width: 600px;\\n margin: auto;\\n background: #ffffff; }\\n .confirmation .fa-5x {\\n font-size: 15rem;\\n color: #6CC38B;\\n color: var(--primary);\\n padding-bottom: 3rem; }\\n\\n.missing-metrics {\\n padding: 12px; }\\n .missing-metrics .btn {\\n float: right;\\n margin-bottom: 2px; }\\n .missing-metrics .missing-metrics-content {\\n color: #011542; }\\n .missing-metrics .fa-2x {\\n color: #011542;\\n padding-right: 10px;\\n vertical-align: middle; }\\n .missing-metrics .info-icon {\\n margin: 0px 10px 2px 5px; }\\n .missing-metrics .info-text {\\n font-size: 16px;\\n line-height: 19.5px;\\n font-weight: 500; }\\n\\n.missing-metrics-graph {\\n padding: 36px; }\\n .missing-metrics-graph .missing-metrics-content {\\n color: grey;\\n text-align: center;\\n max-width: 600px;\\n margin: auto; }\\n .missing-metrics-graph .missing-metrics-content .mainText {\\n font-size: 16px; }\\n .missing-metrics-graph .missing-metrics-content .subText {\\n font-size: 12px; }\\n .missing-metrics-graph .fa-3x {\\n color: grey;\\n padding-bottom: 1rem; }\\n\\n.missing-metrics-card {\\n max-height: 83px;\\n background: #eaeaea;\\n cursor: default;\\n box-shadow: none; }\\n .missing-metrics-card:hover {\\n box-shadow: none; }\\n .missing-metrics-card.nolink {\\n cursor: default;\\n box-shadow: none; }\\n .missing-metrics-card .metric-icon {\\n color: white !important;\\n background: grey;\\n border: 3px solid grey !important; }\\n .missing-metrics-card .metric-inner h4 {\\n color: grey; }\\n .missing-metrics-card .metric-inner h5 {\\n color: grey; }\\n .missing-metrics-card .metric-inner span {\\n color: grey;\\n font-size: 13px;\\n font-weight: 500; }\\n .missing-metrics-card .metric-inner span.title {\\n color: grey; }\\n\\n.dismis {\\n display: none; }\\n\\n.dashboard-notifications {\\n width: 100%;\\n color: white;\\n border-bottom: 0px;\\n padding-left: 15px;\\n padding-right: 15px; }\\n .dashboard-notifications .col-md-3 {\\n align-content: center; }\\n .dashboard-notifications .panel {\\n margin-bottom: 10px; }\\n .dashboard-notifications .panel-title {\\n width: 100%;\\n border-bottom: 0px; }\\n .dashboard-notifications .panel-heading {\\n border-radius: 3px; }\\n .dashboard-notifications .notifications-warning {\\n background-color: #d9534f; }\\n .dashboard-notifications .notifications-alert {\\n background-color: #f0ad4e; }\\n .dashboard-notifications .btn {\\n line-height: 8px;\\n background-color: white;\\n color: #4c4c4c;\\n border-radius: 4px;\\n box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.15);\\n margin-right: 20px;\\n margin-top: -6px; }\\n .dashboard-notifications .btn:focus, .dashboard-notifications .btn:hover {\\n background-color: #e1e1e1;\\n border-color: #cbcbcb; }\\n .dashboard-notifications .fa-2x {\\n padding-right: 10px;\\n vertical-align: middle; }\\n .dashboard-notifications .close {\\n padding-right: 6px; }\\n .dashboard-notifications h3 {\\n text-transform: none; }\\n\\ndiv.metric-chart-profit .metric-icon {\\n color: #DE6E4B;\\n border-color: #DE6E4B; }\\n div.metric-chart-profit .metric-icon.active, div.metric-chart-profit .metric-icon:not(.nolink):hover {\\n background-color: #DE6E4B;\\n color: #fff; }\\n\\ndiv.metric-chart-revenue .metric-icon {\\n color: #339683;\\n border-color: #339683; }\\n div.metric-chart-revenue .metric-icon.active, div.metric-chart-revenue .metric-icon:not(.nolink):hover {\\n background-color: #339683;\\n color: #fff; }\\n\\ndiv.metric-chart-procurement .metric-icon {\\n color: #F1D900;\\n border-color: #F1D900; }\\n div.metric-chart-procurement .metric-icon.active, div.metric-chart-procurement .metric-icon:not(.nolink):hover {\\n background-color: #F1D900;\\n color: #fff; }\\n\\ndiv.metric-chart-headcount .metric-icon {\\n color: #294294;\\n border-color: #294294; }\\n div.metric-chart-headcount .metric-icon.active, div.metric-chart-headcount .metric-icon:not(.nolink):hover {\\n background-color: #294294;\\n color: #fff; }\\n\\ndiv.metric-chart-capitaldeployed .metric-icon {\\n color: #622567;\\n border-color: #622567; }\\n div.metric-chart-capitaldeployed .metric-icon.active, div.metric-chart-capitaldeployed .metric-icon:not(.nolink):hover {\\n background-color: #622567;\\n color: #fff; }\\n\\ndiv.metric.nolink {\\n box-shadow: none; }\\n div.metric.nolink.shadow {\\n /*box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.15);*/ }\\n\\n.rating-container {\\n position: absolute; }\\n .rating-container .rating-text-poor {\\n float: left; }\\n .rating-container .rating-text-excellent {\\n float: right; }\\n\\n.rating-display {\\n color: white;\\n border-radius: 25px;\\n padding: 8px 12px; }\\n\\n/* Custom Slider */\\n/*DELETE ALL THIS CODE*/\\n.switch {\\n position: relative;\\n display: inline-block;\\n width: 60px;\\n height: 34px;\\n margin-left: 8px; }\\n\\n.switch input {\\n display: none; }\\n\\n.toggleSlide {\\n position: absolute;\\n cursor: pointer;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background-color: #60bd68;\\n transition: .4s; }\\n\\n.toggleSlide:before {\\n position: absolute;\\n content: \\\"\\\";\\n height: 26px;\\n width: 26px;\\n left: 4px;\\n bottom: 4px;\\n background-color: white;\\n transition: .4s; }\\n\\ninput:checked + .toggleSlide {\\n background-color: #ccc; }\\n\\ninput:focus + .toggleSlide {\\n box-shadow: 0 0 1px #60bd68; }\\n\\ninput:checked + .toggleSlide:before {\\n transform: translateX(26px); }\\n\\n/* Rounded sliders */\\n.toggleSlide.round {\\n border-radius: 34px; }\\n\\n.toggleSlide.round:before {\\n border-radius: 50%; }\\n\\n.toggleContainer {\\n width: 120px; }\\n .toggleContainer .yesLabel {\\n float: left;\\n margin-top: 6px; }\\n .toggleContainer .noLabel {\\n float: right;\\n margin-top: 6px; }\\n\\n/*DELETE ALL THIS CODE*/\\n/*#assign-mentor-modal {\\r\\n .modal-dialog {\\r\\n width: 1200px;\\r\\n }\\r\\n}\\r\\n\\r\\n#assign-enterprise-modal {\\r\\n .modal-dialog {\\r\\n width: 1200px;\\r\\n }\\r\\n}\\r\\n\\r\\n#assign-corporate-modal {\\r\\n .modal-dialog {\\r\\n width: 1200px;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n#assign-pm-modal {\\r\\n .modal-dialog {\\r\\n width: 1200px;\\r\\n }\\r\\n}*/\\n@media (min-width: 1200px) {\\n .modal-dialog {\\n width: 1200px;\\n z-index: 1500; } }\\n\\nbody::after {\\n opacity: 0; }\\n\\nbody.shepherd-active::after {\\n content: \\\"\\\";\\n display: block;\\n background-color: #000000;\\n opacity: 0.8;\\n position: fixed;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n z-index: 1000; }\\n\\n.shepherd-element.shepherd-open,\\n.shepherd-target.shepherd-enabled {\\n z-index: 1001;\\n position: relative; }\\n\\n.elevated-z-index {\\n z-index: 1001 !important; }\\n\\n.shepherd-start-tour-button.shepherd-theme-square {\\n background: #6CC38B !important;\\n background: var(--primary) !important; }\\n\\n.shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li .shepherd-button {\\n background: #6CC38B !important;\\n background: var(--primary) !important;\\n display: inline-block;\\n margin-bottom: 0;\\n font-weight: normal;\\n text-align: center;\\n vertical-align: middle;\\n touch-action: manipulation;\\n cursor: pointer;\\n background-image: none;\\n white-space: nowrap;\\n padding: 6px 12px;\\n line-height: 1.42857;\\n border-radius: 0px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none; }\\n\\n.shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary {\\n background: #e6e6e6; }\\n\\n.tour-guide-help {\\n background: none;\\n border: none;\\n color: #777777;\\n position: absolute;\\n right: 25px; }\\n .tour-guide-help:after {\\n font-family: fontawesome;\\n content: '\\\\F059';\\n line-height: 1;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .tour-guide-help:hover:after {\\n color: #6CC38B;\\n color: var(--primary);\\n cursor: pointer; }\\n\\n.tour-guide-help {\\n top: 20px; }\\n .tour-guide-help:after {\\n content: '\\\\F059'; }\\n\\n.helper-icon {\\n float: left;\\n margin-left: 0px; }\\n\\n.shepherd-element.shepherd-theme-square .shepherd-content header h3 {\\n font-family: \\\"Montserrat\\\", Arial, sans-serif;\\n font-weight: 700; }\\n\\n.shepherd-element.shepherd-theme-square.shepherd-has-title .shepherd-content header {\\n background: #D1D5DC; }\\n\\n.shepherd-element.shepherd-theme-square .shepherd-content {\\n font-size: 14px; }\\n\\n.btn-file {\\n position: relative;\\n overflow: hidden; }\\n\\n.btn-file input[type=file] {\\n position: absolute;\\n top: 0;\\n right: 0;\\n min-width: 100%;\\n min-height: 100%;\\n font-size: 100px;\\n text-align: right;\\n filter: alpha(opacity=0);\\n opacity: 0;\\n outline: none;\\n background: white;\\n cursor: inherit;\\n display: block; }\\n\\nfooter {\\n bottom: 0;\\n height: 56px; }\\n\\n.primary-footer-container {\\n background: rgba(209, 213, 220, 0.3);\\n fill: rgba(209, 213, 220, 0.3);\\n line-height: 56px; }\\n\\n.primary-footer-container .d-inline {\\n display: inline !important; }\\n\\n.primary-footer-container .float-right {\\n float: right; }\\n\\n.primary-footer-container .help-button {\\n margin-right: 40px;\\n width: 81px;\\n height: 38px;\\n flex-shrink: 0;\\n border-radius: 3px;\\n background: #56DC92;\\n color: #fff;\\n border: none;\\n line-height: 30px; }\\n\\n.primary-footer-container .footer-links {\\n margin-left: 81px; }\\n\\n.primary-footer-container .footer-link {\\n font-size: 18px;\\n font-weight: 600;\\n position: relative;\\n padding: 0 1rem; }\\n\\n.primary-footer-container .footer-link:not(:last-child)::after {\\n content: \\\"|\\\";\\n position: absolute;\\n right: -5px;\\n top: 50%;\\n transform: translateY(-50%); }\\n\\n.mfa-challenge-container h4 {\\n font-size: 16px;\\n padding-bottom: 10px; }\\n\\n.mt-4 {\\n margin-top: 2.5em; }\\n\\n.mb-4 {\\n margin-bottom: 2.5em; }\\n\\n.mb-2 {\\n margin-bottom: 1em; }\\n\\n.mfa-container {\\n background: #f5f5f5;\\n padding: 36px;\\n border-top: 1px solid #ededed;\\n padding-top: 15px;\\n padding-bottom: 15px; }\\n .mfa-container button {\\n text-wrap: auto; }\\n .mfa-container p, .mfa-container span {\\n color: #011542; }\\n .mfa-container .btn-link {\\n text-decoration: underline; }\\n\\n.mfa-registration-link {\\n text-wrap: auto;\\n color: #011542;\\n font-weight: bold;\\n text-decoration: underline;\\n font-size: 12px; }\\n\\n.text-italic {\\n font-style: italic; }\\n\", \"\"]);\n\n// exports\n","var escape = require(\"../../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"@charset \\\"UTF-8\\\";\\n:root {\\n --primary: #6CC38B;\\n --secondary: #011542;\\n --primaryv2: #56DC92;\\n --breadcrumb-bg: #011542;\\n --metric-active-bg: #56DC92; }\\n\\n.alert {\\n padding: 15px;\\n margin-bottom: 20px;\\n border: 1px solid transparent;\\n border-radius: 0px; }\\n .alert h4 {\\n margin-top: 0;\\n color: inherit; }\\n .alert .alert-link {\\n font-weight: bold; }\\n .alert > p,\\n .alert > ul {\\n margin-bottom: 0; }\\n .alert > p + p {\\n margin-top: 5px; }\\n\\n.alert-dismissable,\\n.alert-dismissible {\\n padding-right: 35px; }\\n .alert-dismissable .close,\\n .alert-dismissible .close {\\n position: relative;\\n top: -2px;\\n right: -21px;\\n color: inherit; }\\n\\n.alert-success {\\n color: #3c763d;\\n background-color: #dff0d8;\\n border-color: #d6e9c6; }\\n .alert-success hr {\\n border-top-color: #c9e2b3; }\\n .alert-success .alert-link {\\n color: #2b542c; }\\n\\n.alert-info {\\n color: #31708f;\\n background-color: #d9edf7;\\n border-color: #bce8f1; }\\n .alert-info hr {\\n border-top-color: #a6e1ec; }\\n .alert-info .alert-link {\\n color: #245269; }\\n\\n.alert-warning {\\n color: #8a6d3b;\\n background-color: #fcf8e3;\\n border-color: #faebcc; }\\n .alert-warning hr {\\n border-top-color: #f7e1b5; }\\n .alert-warning .alert-link {\\n color: #66512c; }\\n\\n.alert-danger {\\n color: #a94442;\\n background-color: #f2dede;\\n border-color: #ebccd1; }\\n .alert-danger hr {\\n border-top-color: #e4b9c0; }\\n .alert-danger .alert-link {\\n color: #843534; }\\n\\n.badge {\\n display: inline-block;\\n min-width: 10px;\\n padding: 3px 7px;\\n font-size: 12px;\\n font-weight: bold;\\n line-height: 1;\\n color: #fff;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: middle;\\n background-color: #777777;\\n border-radius: 10px; }\\n .badge:empty {\\n display: none; }\\n .btn .badge {\\n position: relative;\\n top: -1px; }\\n .btn-xs .badge, .btn-group-xs > .btn .badge,\\n .btn-group-xs > .btn .badge {\\n top: 0;\\n padding: 1px 5px; }\\n .list-group-item.active > .badge,\\n .nav-pills > .active > a > .badge {\\n color: #6CC38B;\\n background-color: #fff; }\\n .list-group-item > .badge {\\n float: right; }\\n .list-group-item > .badge + .badge {\\n margin-right: 5px; }\\n .nav-pills > li > a > .badge {\\n margin-left: 3px; }\\n\\na.badge:hover, a.badge:focus {\\n color: #fff;\\n text-decoration: none;\\n cursor: pointer; }\\n\\n.breadcrumb {\\n padding: 8px 15px;\\n margin-bottom: 20px;\\n list-style: none;\\n background-color: #011542;\\n background-color: var(--breadcrumb-bg);\\n border-radius: 0px; }\\n .breadcrumb > li {\\n display: inline-block; }\\n .breadcrumb > li + li:before {\\n padding: 0 5px;\\n color: #ccc;\\n content: \\\"/\\\\A0\\\"; }\\n .breadcrumb > .active {\\n color: #777777; }\\n\\n.btn-group,\\n.btn-group-vertical {\\n position: relative;\\n display: inline-block;\\n vertical-align: middle; }\\n .btn-group > .btn,\\n .btn-group-vertical > .btn {\\n position: relative;\\n float: left; }\\n .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\\n .btn-group-vertical > .btn:hover,\\n .btn-group-vertical > .btn:focus,\\n .btn-group-vertical > .btn:active,\\n .btn-group-vertical > .btn.active {\\n z-index: 2; }\\n\\n.btn-group .btn + .btn,\\n.btn-group .btn + .btn-group,\\n.btn-group .btn-group + .btn,\\n.btn-group .btn-group + .btn-group {\\n margin-left: -1px; }\\n\\n.btn-toolbar {\\n margin-left: -5px; }\\n .btn-toolbar:before, .btn-toolbar:after {\\n display: table;\\n content: \\\" \\\"; }\\n .btn-toolbar:after {\\n clear: both; }\\n .btn-toolbar .btn,\\n .btn-toolbar .btn-group,\\n .btn-toolbar .input-group {\\n float: left; }\\n .btn-toolbar > .btn,\\n .btn-toolbar > .btn-group,\\n .btn-toolbar > .input-group {\\n margin-left: 5px; }\\n\\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\\n border-radius: 0; }\\n\\n.btn-group > .btn:first-child {\\n margin-left: 0; }\\n .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n\\n.btn-group > .btn:last-child:not(:first-child),\\n.btn-group > .dropdown-toggle:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.btn-group > .btn-group {\\n float: left; }\\n\\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\\n border-radius: 0; }\\n\\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n\\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.btn-group .dropdown-toggle:active,\\n.btn-group.open .dropdown-toggle {\\n outline: 0; }\\n\\n.btn-group > .btn + .dropdown-toggle {\\n padding-right: 8px;\\n padding-left: 8px; }\\n\\n.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {\\n padding-right: 12px;\\n padding-left: 12px; }\\n\\n.btn-group.open .dropdown-toggle {\\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n .btn-group.open .dropdown-toggle.btn-link {\\n box-shadow: none; }\\n\\n.btn .caret {\\n margin-left: 0; }\\n\\n.btn-lg .caret, .btn-group-lg > .btn .caret {\\n border-width: 5px 5px 0;\\n border-bottom-width: 0; }\\n\\n.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {\\n border-width: 0 5px 5px; }\\n\\n.btn-group-vertical > .btn,\\n.btn-group-vertical > .btn-group,\\n.btn-group-vertical > .btn-group > .btn {\\n display: block;\\n float: none;\\n width: 100%;\\n max-width: 100%; }\\n\\n.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after {\\n display: table;\\n content: \\\" \\\"; }\\n\\n.btn-group-vertical > .btn-group:after {\\n clear: both; }\\n\\n.btn-group-vertical > .btn-group > .btn {\\n float: none; }\\n\\n.btn-group-vertical > .btn + .btn,\\n.btn-group-vertical > .btn + .btn-group,\\n.btn-group-vertical > .btn-group + .btn,\\n.btn-group-vertical > .btn-group + .btn-group {\\n margin-top: -1px;\\n margin-left: 0; }\\n\\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\\n border-radius: 0; }\\n\\n.btn-group-vertical > .btn:first-child:not(:last-child) {\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.btn-group-vertical > .btn:last-child:not(:first-child) {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 4px;\\n border-bottom-left-radius: 4px; }\\n\\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\\n border-radius: 0; }\\n\\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0; }\\n\\n.btn-group-justified {\\n display: table;\\n width: 100%;\\n table-layout: fixed;\\n border-collapse: separate; }\\n .btn-group-justified > .btn,\\n .btn-group-justified > .btn-group {\\n display: table-cell;\\n float: none;\\n width: 1%; }\\n .btn-group-justified > .btn-group .btn {\\n width: 100%; }\\n .btn-group-justified > .btn-group .dropdown-menu {\\n left: auto; }\\n\\n[data-toggle=\\\"buttons\\\"] > .btn input[type=\\\"radio\\\"],\\n[data-toggle=\\\"buttons\\\"] > .btn input[type=\\\"checkbox\\\"],\\n[data-toggle=\\\"buttons\\\"] > .btn-group > .btn input[type=\\\"radio\\\"],\\n[data-toggle=\\\"buttons\\\"] > .btn-group > .btn input[type=\\\"checkbox\\\"] {\\n position: absolute;\\n clip: rect(0, 0, 0, 0);\\n pointer-events: none; }\\n\\n.btn {\\n display: inline-block;\\n margin-bottom: 0;\\n font-weight: normal;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: middle;\\n touch-action: manipulation;\\n cursor: pointer;\\n background-image: none;\\n border: 1px solid transparent;\\n padding: 6px 12px;\\n font-size: 14px;\\n line-height: 1.42857;\\n border-radius: 4px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none; }\\n .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {\\n outline: 5px auto -webkit-focus-ring-color;\\n outline-offset: -2px; }\\n .btn:hover, .btn:focus, .btn.focus {\\n color: #333;\\n text-decoration: none; }\\n .btn:active, .btn.active {\\n background-image: none;\\n outline: 0;\\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n .btn.disabled, .btn[disabled],\\n fieldset[disabled] .btn {\\n cursor: not-allowed;\\n filter: alpha(opacity=65);\\n opacity: 0.65;\\n box-shadow: none; }\\n\\na.btn.disabled,\\nfieldset[disabled] a.btn {\\n pointer-events: none; }\\n\\n.btn-default {\\n color: #333;\\n background-color: #fff;\\n border-color: rgba(0, 0, 0, 0.1); }\\n .btn-default:focus, .btn-default.focus {\\n color: #333;\\n background-color: #e6e6e6;\\n border-color: rgba(0, 0, 0, 0.1); }\\n .btn-default:hover {\\n color: #333;\\n background-color: #e6e6e6;\\n border-color: rgba(0, 0, 0, 0.1); }\\n .btn-default:active, .btn-default.active,\\n .open > .btn-default.dropdown-toggle {\\n color: #333;\\n background-color: #e6e6e6;\\n background-image: none;\\n border-color: rgba(0, 0, 0, 0.1); }\\n .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus,\\n .open > .btn-default.dropdown-toggle:hover,\\n .open > .btn-default.dropdown-toggle:focus,\\n .open > .btn-default.dropdown-toggle.focus {\\n color: #333;\\n background-color: #d4d4d4;\\n border-color: rgba(0, 0, 0, 0.1); }\\n .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus,\\n fieldset[disabled] .btn-default:hover,\\n fieldset[disabled] .btn-default:focus,\\n fieldset[disabled] .btn-default.focus {\\n background-color: #fff;\\n border-color: rgba(0, 0, 0, 0.1); }\\n .btn-default .badge {\\n color: #fff;\\n background-color: #333; }\\n\\n.btn-primary {\\n color: #fff;\\n background-color: #6CC38B;\\n border-color: #65c085; }\\n .btn-primary:focus, .btn-primary.focus {\\n color: #fff;\\n background-color: #49b36f;\\n border-color: #307549; }\\n .btn-primary:hover {\\n color: #fff;\\n background-color: #49b36f;\\n border-color: #43a466; }\\n .btn-primary:active, .btn-primary.active,\\n .open > .btn-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #49b36f;\\n background-image: none;\\n border-color: #43a466; }\\n .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,\\n .open > .btn-primary.dropdown-toggle:hover,\\n .open > .btn-primary.dropdown-toggle:focus,\\n .open > .btn-primary.dropdown-toggle.focus {\\n color: #fff;\\n background-color: #3f9a5f;\\n border-color: #307549; }\\n .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus,\\n fieldset[disabled] .btn-primary:hover,\\n fieldset[disabled] .btn-primary:focus,\\n fieldset[disabled] .btn-primary.focus {\\n background-color: #6CC38B;\\n border-color: #65c085; }\\n .btn-primary .badge {\\n color: #6CC38B;\\n background-color: #fff; }\\n\\n.btn-success {\\n color: #fff;\\n background-color: #5cb85c;\\n border-color: #4cae4c; }\\n .btn-success:focus, .btn-success.focus {\\n color: #fff;\\n background-color: #449d44;\\n border-color: #255625; }\\n .btn-success:hover {\\n color: #fff;\\n background-color: #449d44;\\n border-color: #398439; }\\n .btn-success:active, .btn-success.active,\\n .open > .btn-success.dropdown-toggle {\\n color: #fff;\\n background-color: #449d44;\\n background-image: none;\\n border-color: #398439; }\\n .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,\\n .open > .btn-success.dropdown-toggle:hover,\\n .open > .btn-success.dropdown-toggle:focus,\\n .open > .btn-success.dropdown-toggle.focus {\\n color: #fff;\\n background-color: #398439;\\n border-color: #255625; }\\n .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus,\\n fieldset[disabled] .btn-success:hover,\\n fieldset[disabled] .btn-success:focus,\\n fieldset[disabled] .btn-success.focus {\\n background-color: #5cb85c;\\n border-color: #4cae4c; }\\n .btn-success .badge {\\n color: #5cb85c;\\n background-color: #fff; }\\n\\n.btn-info {\\n color: #fff;\\n background-color: #5bc0de;\\n border-color: #46b8da; }\\n .btn-info:focus, .btn-info.focus {\\n color: #fff;\\n background-color: #31b0d5;\\n border-color: #1b6d85; }\\n .btn-info:hover {\\n color: #fff;\\n background-color: #31b0d5;\\n border-color: #269abc; }\\n .btn-info:active, .btn-info.active,\\n .open > .btn-info.dropdown-toggle {\\n color: #fff;\\n background-color: #31b0d5;\\n background-image: none;\\n border-color: #269abc; }\\n .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,\\n .open > .btn-info.dropdown-toggle:hover,\\n .open > .btn-info.dropdown-toggle:focus,\\n .open > .btn-info.dropdown-toggle.focus {\\n color: #fff;\\n background-color: #269abc;\\n border-color: #1b6d85; }\\n .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus,\\n fieldset[disabled] .btn-info:hover,\\n fieldset[disabled] .btn-info:focus,\\n fieldset[disabled] .btn-info.focus {\\n background-color: #5bc0de;\\n border-color: #46b8da; }\\n .btn-info .badge {\\n color: #5bc0de;\\n background-color: #fff; }\\n\\n.btn-warning {\\n color: #fff;\\n background-color: #f0ad4e;\\n border-color: #eea236; }\\n .btn-warning:focus, .btn-warning.focus {\\n color: #fff;\\n background-color: #ec971f;\\n border-color: #985f0d; }\\n .btn-warning:hover {\\n color: #fff;\\n background-color: #ec971f;\\n border-color: #d58512; }\\n .btn-warning:active, .btn-warning.active,\\n .open > .btn-warning.dropdown-toggle {\\n color: #fff;\\n background-color: #ec971f;\\n background-image: none;\\n border-color: #d58512; }\\n .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,\\n .open > .btn-warning.dropdown-toggle:hover,\\n .open > .btn-warning.dropdown-toggle:focus,\\n .open > .btn-warning.dropdown-toggle.focus {\\n color: #fff;\\n background-color: #d58512;\\n border-color: #985f0d; }\\n .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus,\\n fieldset[disabled] .btn-warning:hover,\\n fieldset[disabled] .btn-warning:focus,\\n fieldset[disabled] .btn-warning.focus {\\n background-color: #f0ad4e;\\n border-color: #eea236; }\\n .btn-warning .badge {\\n color: #f0ad4e;\\n background-color: #fff; }\\n\\n.btn-danger {\\n color: #fff;\\n background-color: #d9534f;\\n border-color: #d43f3a; }\\n .btn-danger:focus, .btn-danger.focus {\\n color: #fff;\\n background-color: #c9302c;\\n border-color: #761c19; }\\n .btn-danger:hover {\\n color: #fff;\\n background-color: #c9302c;\\n border-color: #ac2925; }\\n .btn-danger:active, .btn-danger.active,\\n .open > .btn-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #c9302c;\\n background-image: none;\\n border-color: #ac2925; }\\n .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,\\n .open > .btn-danger.dropdown-toggle:hover,\\n .open > .btn-danger.dropdown-toggle:focus,\\n .open > .btn-danger.dropdown-toggle.focus {\\n color: #fff;\\n background-color: #ac2925;\\n border-color: #761c19; }\\n .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus,\\n fieldset[disabled] .btn-danger:hover,\\n fieldset[disabled] .btn-danger:focus,\\n fieldset[disabled] .btn-danger.focus {\\n background-color: #d9534f;\\n border-color: #d43f3a; }\\n .btn-danger .badge {\\n color: #d9534f;\\n background-color: #fff; }\\n\\n.btn-link {\\n font-weight: 400;\\n color: #6CC38B;\\n border-radius: 0; }\\n .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled],\\n fieldset[disabled] .btn-link {\\n background-color: transparent;\\n box-shadow: none; }\\n .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {\\n border-color: transparent; }\\n .btn-link:hover, .btn-link:focus {\\n color: #42a164;\\n text-decoration: underline;\\n background-color: transparent; }\\n .btn-link[disabled]:hover, .btn-link[disabled]:focus,\\n fieldset[disabled] .btn-link:hover,\\n fieldset[disabled] .btn-link:focus {\\n color: #777777;\\n text-decoration: none; }\\n\\n.btn-lg, .btn-group-lg > .btn {\\n padding: 10px 16px;\\n font-size: 18px;\\n line-height: 1.33333;\\n border-radius: 0px; }\\n\\n.btn-sm, .btn-group-sm > .btn {\\n padding: 5px 10px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 4px; }\\n\\n.btn-xs, .btn-group-xs > .btn {\\n padding: 1px 5px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 4px; }\\n\\n.btn-block {\\n display: block;\\n width: 100%; }\\n\\n.btn-block + .btn-block {\\n margin-top: 5px; }\\n\\ninput[type=\\\"submit\\\"].btn-block,\\ninput[type=\\\"reset\\\"].btn-block,\\ninput[type=\\\"button\\\"].btn-block {\\n width: 100%; }\\n\\n.carousel {\\n position: relative; }\\n\\n.carousel-inner {\\n position: relative;\\n width: 100%;\\n overflow: hidden; }\\n .carousel-inner > .item {\\n position: relative;\\n display: none;\\n transition: 0.6s ease-in-out left; }\\n .carousel-inner > .item > img,\\n .carousel-inner > .item > a > img {\\n display: block;\\n max-width: 100%;\\n height: auto;\\n line-height: 1; }\\n @media all and (transform-3d), (-webkit-transform-3d) {\\n .carousel-inner > .item {\\n transition: transform 0.6s ease-in-out;\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n perspective: 1000px; }\\n .carousel-inner > .item.next, .carousel-inner > .item.active.right {\\n transform: translate3d(100%, 0, 0);\\n left: 0; }\\n .carousel-inner > .item.prev, .carousel-inner > .item.active.left {\\n transform: translate3d(-100%, 0, 0);\\n left: 0; }\\n .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active {\\n transform: translate3d(0, 0, 0);\\n left: 0; } }\\n .carousel-inner > .active,\\n .carousel-inner > .next,\\n .carousel-inner > .prev {\\n display: block; }\\n .carousel-inner > .active {\\n left: 0; }\\n .carousel-inner > .next,\\n .carousel-inner > .prev {\\n position: absolute;\\n top: 0;\\n width: 100%; }\\n .carousel-inner > .next {\\n left: 100%; }\\n .carousel-inner > .prev {\\n left: -100%; }\\n .carousel-inner > .next.left,\\n .carousel-inner > .prev.right {\\n left: 0; }\\n .carousel-inner > .active.left {\\n left: -100%; }\\n .carousel-inner > .active.right {\\n left: 100%; }\\n\\n.carousel-control {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 15%;\\n font-size: 20px;\\n color: #fff;\\n text-align: center;\\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\\n background-color: rgba(0, 0, 0, 0);\\n filter: alpha(opacity=50);\\n opacity: 0.5; }\\n .carousel-control.left {\\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\\n background-repeat: repeat-x; }\\n .carousel-control.right {\\n right: 0;\\n left: auto;\\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\\n background-repeat: repeat-x; }\\n .carousel-control:hover, .carousel-control:focus {\\n color: #fff;\\n text-decoration: none;\\n outline: 0;\\n filter: alpha(opacity=90);\\n opacity: 0.9; }\\n .carousel-control .icon-prev,\\n .carousel-control .icon-next,\\n .carousel-control .glyphicon-chevron-left,\\n .carousel-control .glyphicon-chevron-right {\\n position: absolute;\\n top: 50%;\\n z-index: 5;\\n display: inline-block;\\n margin-top: -10px; }\\n .carousel-control .icon-prev,\\n .carousel-control .glyphicon-chevron-left {\\n left: 50%;\\n margin-left: -10px; }\\n .carousel-control .icon-next,\\n .carousel-control .glyphicon-chevron-right {\\n right: 50%;\\n margin-right: -10px; }\\n .carousel-control .icon-prev,\\n .carousel-control .icon-next {\\n width: 20px;\\n height: 20px;\\n font-family: serif;\\n line-height: 1; }\\n .carousel-control .icon-prev:before {\\n content: \\\"\\\\2039\\\"; }\\n .carousel-control .icon-next:before {\\n content: \\\"\\\\203A\\\"; }\\n\\n.carousel-indicators {\\n position: absolute;\\n bottom: 10px;\\n left: 50%;\\n z-index: 15;\\n width: 60%;\\n padding-left: 0;\\n margin-left: -30%;\\n text-align: center;\\n list-style: none; }\\n .carousel-indicators li {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n margin: 1px;\\n text-indent: -999px;\\n cursor: pointer;\\n background-color: #000 \\\\9;\\n background-color: rgba(0, 0, 0, 0);\\n border: 1px solid #fff;\\n border-radius: 10px; }\\n .carousel-indicators .active {\\n width: 12px;\\n height: 12px;\\n margin: 0;\\n background-color: #fff; }\\n\\n.carousel-caption {\\n position: absolute;\\n right: 15%;\\n bottom: 20px;\\n left: 15%;\\n z-index: 10;\\n padding-top: 20px;\\n padding-bottom: 20px;\\n color: #fff;\\n text-align: center;\\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }\\n .carousel-caption .btn {\\n text-shadow: none; }\\n\\n@media screen and (min-width: 800px) {\\n .carousel-control .glyphicon-chevron-left,\\n .carousel-control .glyphicon-chevron-right,\\n .carousel-control .icon-prev,\\n .carousel-control .icon-next {\\n width: 30px;\\n height: 30px;\\n margin-top: -10px;\\n font-size: 30px; }\\n .carousel-control .glyphicon-chevron-left,\\n .carousel-control .icon-prev {\\n margin-left: -10px; }\\n .carousel-control .glyphicon-chevron-right,\\n .carousel-control .icon-next {\\n margin-right: -10px; }\\n .carousel-caption {\\n right: 20%;\\n left: 20%;\\n padding-bottom: 30px; }\\n .carousel-indicators {\\n bottom: 20px; } }\\n\\n.close {\\n float: right;\\n font-size: 21px;\\n font-weight: bold;\\n line-height: 1;\\n color: #000;\\n text-shadow: 0 1px 0 #fff;\\n filter: alpha(opacity=20);\\n opacity: 0.2; }\\n .close:hover, .close:focus {\\n color: #000;\\n text-decoration: none;\\n cursor: pointer;\\n filter: alpha(opacity=50);\\n opacity: 0.5; }\\n\\nbutton.close {\\n padding: 0;\\n cursor: pointer;\\n background: transparent;\\n border: 0;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none; }\\n\\ncode,\\nkbd,\\npre,\\nsamp {\\n font-family: Menlo, Monaco, Consolas, \\\"Courier New\\\", monospace; }\\n\\ncode {\\n padding: 2px 4px;\\n font-size: 90%;\\n color: #c7254e;\\n background-color: #f9f2f4;\\n border-radius: 0px; }\\n\\nkbd {\\n padding: 2px 4px;\\n font-size: 90%;\\n color: #fff;\\n background-color: #333;\\n border-radius: 2px;\\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }\\n kbd kbd {\\n padding: 0;\\n font-size: 100%;\\n font-weight: 700;\\n box-shadow: none; }\\n\\npre {\\n display: block;\\n padding: 9.5px;\\n margin: 0 0 10px;\\n font-size: 13px;\\n line-height: 1.42857;\\n color: #333333;\\n word-break: break-all;\\n word-wrap: break-word;\\n background-color: #f5f5f5;\\n border: 1px solid #ccc;\\n border-radius: 0px; }\\n pre code {\\n padding: 0;\\n font-size: inherit;\\n color: inherit;\\n white-space: pre-wrap;\\n background-color: transparent;\\n border-radius: 0; }\\n\\n.pre-scrollable {\\n max-height: 340px;\\n overflow-y: scroll; }\\n\\n.fade {\\n opacity: 0;\\n transition: opacity 0.15s linear; }\\n .fade.in {\\n opacity: 1; }\\n\\n.collapse {\\n display: none; }\\n .collapse.in {\\n display: block; }\\n\\ntr.collapse.in {\\n display: table-row; }\\n\\ntbody.collapse.in {\\n display: table-row-group; }\\n\\n.collapsing {\\n position: relative;\\n height: 0;\\n overflow: hidden;\\n transition-property: height, visibility;\\n transition-duration: 0.35s;\\n transition-timing-function: ease; }\\n\\n.caret {\\n display: inline-block;\\n width: 0;\\n height: 0;\\n margin-left: 2px;\\n vertical-align: middle;\\n border-top: 4px dashed;\\n border-top: 4px solid \\\\9;\\n border-right: 4px solid transparent;\\n border-left: 4px solid transparent; }\\n\\n.dropup,\\n.dropdown {\\n position: relative; }\\n\\n.dropdown-toggle:focus {\\n outline: 0; }\\n\\n.dropdown-menu {\\n position: absolute;\\n top: 100%;\\n left: 0;\\n z-index: 1000;\\n display: none;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #d9d9d9;\\n border: 1px solid #d9d9d9;\\n border-radius: 0px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); }\\n .dropdown-menu.pull-right {\\n right: 0;\\n left: auto; }\\n .dropdown-menu .divider {\\n height: 1px;\\n margin: 9px 0;\\n overflow: hidden;\\n background-color: #ededed; }\\n .dropdown-menu > li > a {\\n display: block;\\n padding: 3px 20px;\\n clear: both;\\n font-weight: 400;\\n line-height: 1.42857;\\n color: #999999;\\n white-space: nowrap; }\\n .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {\\n color: #262626;\\n text-decoration: none;\\n background-color: #ededed; }\\n\\n.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {\\n color: #fff;\\n text-decoration: none;\\n background-color: #6CC38B;\\n outline: 0; }\\n\\n.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {\\n color: #777777; }\\n\\n.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {\\n text-decoration: none;\\n cursor: not-allowed;\\n background-color: transparent;\\n background-image: none;\\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); }\\n\\n.open > .dropdown-menu {\\n display: block; }\\n\\n.open > a {\\n outline: 0; }\\n\\n.dropdown-menu-right {\\n right: 0;\\n left: auto; }\\n\\n.dropdown-menu-left {\\n right: auto;\\n left: 0; }\\n\\n.dropdown-header {\\n display: block;\\n padding: 3px 20px;\\n font-size: 12px;\\n line-height: 1.42857;\\n color: #777777;\\n white-space: nowrap; }\\n\\n.dropdown-backdrop {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 990; }\\n\\n.pull-right > .dropdown-menu {\\n right: 0;\\n left: auto; }\\n\\n.dropup .caret,\\n.navbar-fixed-bottom .dropdown .caret {\\n content: \\\"\\\";\\n border-top: 0;\\n border-bottom: 4px dashed;\\n border-bottom: 4px solid \\\\9; }\\n\\n.dropup .dropdown-menu,\\n.navbar-fixed-bottom .dropdown .dropdown-menu {\\n top: auto;\\n bottom: 100%;\\n margin-bottom: 2px; }\\n\\n@media (min-width: 800px) {\\n .navbar-right .dropdown-menu {\\n right: 0;\\n left: auto; }\\n .navbar-right .dropdown-menu-left {\\n left: 0;\\n right: auto; } }\\n\\nfieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0; }\\n\\nlegend {\\n display: block;\\n width: 100%;\\n padding: 0;\\n margin-bottom: 20px;\\n font-size: 21px;\\n line-height: inherit;\\n color: #333333;\\n border: 0;\\n border-bottom: 1px solid #e5e5e5; }\\n\\nlabel {\\n display: inline-block;\\n max-width: 100%;\\n margin-bottom: 5px;\\n font-weight: 700; }\\n\\ninput[type=\\\"search\\\"] {\\n box-sizing: border-box;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none; }\\n\\ninput[type=\\\"radio\\\"],\\ninput[type=\\\"checkbox\\\"] {\\n margin: 4px 0 0;\\n margin-top: 1px \\\\9;\\n line-height: normal; }\\n input[type=\\\"radio\\\"][disabled], input[type=\\\"radio\\\"].disabled,\\n fieldset[disabled] input[type=\\\"radio\\\"],\\n input[type=\\\"checkbox\\\"][disabled],\\n input[type=\\\"checkbox\\\"].disabled,\\n fieldset[disabled]\\n input[type=\\\"checkbox\\\"] {\\n cursor: not-allowed; }\\n\\ninput[type=\\\"file\\\"] {\\n display: block; }\\n\\ninput[type=\\\"range\\\"] {\\n display: block;\\n width: 100%; }\\n\\nselect[multiple],\\nselect[size] {\\n height: auto; }\\n\\ninput[type=\\\"file\\\"]:focus,\\ninput[type=\\\"radio\\\"]:focus,\\ninput[type=\\\"checkbox\\\"]:focus {\\n outline: 5px auto -webkit-focus-ring-color;\\n outline-offset: -2px; }\\n\\noutput {\\n display: block;\\n padding-top: 7px;\\n font-size: 14px;\\n line-height: 1.42857;\\n color: #555555; }\\n\\n.form-control {\\n display: block;\\n width: 100%;\\n height: 34px;\\n padding: 6px 12px;\\n font-size: 14px;\\n line-height: 1.42857;\\n color: #555555;\\n background-color: #f5f5f5;\\n background-image: none;\\n border: 1px solid #b8b3b0;\\n border-radius: 0px;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }\\n .form-control:focus {\\n border-color: #6CC38B;\\n outline: 0;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(108, 195, 139, 0.6); }\\n .form-control::-moz-placeholder {\\n color: #999;\\n opacity: 1; }\\n .form-control:-ms-input-placeholder {\\n color: #999; }\\n .form-control::-webkit-input-placeholder {\\n color: #999; }\\n .form-control::-ms-expand {\\n background-color: transparent;\\n border: 0; }\\n .form-control[disabled], .form-control[readonly],\\n fieldset[disabled] .form-control {\\n background-color: #ededed;\\n opacity: 1; }\\n .form-control[disabled],\\n fieldset[disabled] .form-control {\\n cursor: not-allowed; }\\n\\ntextarea.form-control {\\n height: auto; }\\n\\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\\n input[type=\\\"date\\\"].form-control,\\n input[type=\\\"time\\\"].form-control,\\n input[type=\\\"datetime-local\\\"].form-control,\\n input[type=\\\"month\\\"].form-control {\\n line-height: 34px; }\\n input[type=\\\"date\\\"].input-sm, .input-group-sm > input.form-control[type=\\\"date\\\"],\\n .input-group-sm > input.input-group-addon[type=\\\"date\\\"],\\n .input-group-sm > .input-group-btn > input.btn[type=\\\"date\\\"],\\n .input-group-sm input[type=\\\"date\\\"],\\n input[type=\\\"time\\\"].input-sm,\\n .input-group-sm > input.form-control[type=\\\"time\\\"],\\n .input-group-sm > input.input-group-addon[type=\\\"time\\\"],\\n .input-group-sm > .input-group-btn > input.btn[type=\\\"time\\\"],\\n .input-group-sm\\n input[type=\\\"time\\\"],\\n input[type=\\\"datetime-local\\\"].input-sm,\\n .input-group-sm > input.form-control[type=\\\"datetime-local\\\"],\\n .input-group-sm > input.input-group-addon[type=\\\"datetime-local\\\"],\\n .input-group-sm > .input-group-btn > input.btn[type=\\\"datetime-local\\\"],\\n .input-group-sm\\n input[type=\\\"datetime-local\\\"],\\n input[type=\\\"month\\\"].input-sm,\\n .input-group-sm > input.form-control[type=\\\"month\\\"],\\n .input-group-sm > input.input-group-addon[type=\\\"month\\\"],\\n .input-group-sm > .input-group-btn > input.btn[type=\\\"month\\\"],\\n .input-group-sm\\n input[type=\\\"month\\\"] {\\n line-height: 30px; }\\n input[type=\\\"date\\\"].input-lg, .input-group-lg > input.form-control[type=\\\"date\\\"],\\n .input-group-lg > input.input-group-addon[type=\\\"date\\\"],\\n .input-group-lg > .input-group-btn > input.btn[type=\\\"date\\\"],\\n .input-group-lg input[type=\\\"date\\\"],\\n input[type=\\\"time\\\"].input-lg,\\n .input-group-lg > input.form-control[type=\\\"time\\\"],\\n .input-group-lg > input.input-group-addon[type=\\\"time\\\"],\\n .input-group-lg > .input-group-btn > input.btn[type=\\\"time\\\"],\\n .input-group-lg\\n input[type=\\\"time\\\"],\\n input[type=\\\"datetime-local\\\"].input-lg,\\n .input-group-lg > input.form-control[type=\\\"datetime-local\\\"],\\n .input-group-lg > input.input-group-addon[type=\\\"datetime-local\\\"],\\n .input-group-lg > .input-group-btn > input.btn[type=\\\"datetime-local\\\"],\\n .input-group-lg\\n input[type=\\\"datetime-local\\\"],\\n input[type=\\\"month\\\"].input-lg,\\n .input-group-lg > input.form-control[type=\\\"month\\\"],\\n .input-group-lg > input.input-group-addon[type=\\\"month\\\"],\\n .input-group-lg > .input-group-btn > input.btn[type=\\\"month\\\"],\\n .input-group-lg\\n input[type=\\\"month\\\"] {\\n line-height: 46px; } }\\n\\n.form-group {\\n margin-bottom: 15px; }\\n\\n.radio,\\n.checkbox {\\n position: relative;\\n display: block;\\n margin-top: 10px;\\n margin-bottom: 10px; }\\n .radio.disabled label,\\n fieldset[disabled] .radio label,\\n .checkbox.disabled label,\\n fieldset[disabled]\\n .checkbox label {\\n cursor: not-allowed; }\\n .radio label,\\n .checkbox label {\\n min-height: 20px;\\n padding-left: 20px;\\n margin-bottom: 0;\\n font-weight: 400;\\n cursor: pointer; }\\n\\n.radio input[type=\\\"radio\\\"],\\n.radio-inline input[type=\\\"radio\\\"],\\n.checkbox input[type=\\\"checkbox\\\"],\\n.checkbox-inline input[type=\\\"checkbox\\\"] {\\n position: absolute;\\n margin-top: 4px \\\\9;\\n margin-left: -20px; }\\n\\n.radio + .radio,\\n.checkbox + .checkbox {\\n margin-top: -5px; }\\n\\n.radio-inline,\\n.checkbox-inline {\\n position: relative;\\n display: inline-block;\\n padding-left: 20px;\\n margin-bottom: 0;\\n font-weight: 400;\\n vertical-align: middle;\\n cursor: pointer; }\\n .radio-inline.disabled,\\n fieldset[disabled] .radio-inline,\\n .checkbox-inline.disabled,\\n fieldset[disabled]\\n .checkbox-inline {\\n cursor: not-allowed; }\\n\\n.radio-inline + .radio-inline,\\n.checkbox-inline + .checkbox-inline {\\n margin-top: 0;\\n margin-left: 10px; }\\n\\n.form-control-static {\\n min-height: 34px;\\n padding-top: 7px;\\n padding-bottom: 7px;\\n margin-bottom: 0; }\\n .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,\\n .input-group-lg > .form-control-static.input-group-addon,\\n .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,\\n .input-group-sm > .form-control-static.input-group-addon,\\n .input-group-sm > .input-group-btn > .form-control-static.btn {\\n padding-right: 0;\\n padding-left: 0; }\\n\\n.input-sm, .input-group-sm > .form-control,\\n.input-group-sm > .input-group-addon,\\n.input-group-sm > .input-group-btn > .btn {\\n height: 30px;\\n padding: 5px 10px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 2px; }\\n\\nselect.input-sm, .input-group-sm > select.form-control,\\n.input-group-sm > select.input-group-addon,\\n.input-group-sm > .input-group-btn > select.btn {\\n height: 30px;\\n line-height: 30px; }\\n\\ntextarea.input-sm, .input-group-sm > textarea.form-control,\\n.input-group-sm > textarea.input-group-addon,\\n.input-group-sm > .input-group-btn > textarea.btn,\\nselect[multiple].input-sm,\\n.input-group-sm > select.form-control[multiple],\\n.input-group-sm > select.input-group-addon[multiple],\\n.input-group-sm > .input-group-btn > select.btn[multiple] {\\n height: auto; }\\n\\n.form-group-sm .form-control {\\n height: 30px;\\n padding: 5px 10px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 2px; }\\n\\n.form-group-sm select.form-control {\\n height: 30px;\\n line-height: 30px; }\\n\\n.form-group-sm textarea.form-control,\\n.form-group-sm select[multiple].form-control {\\n height: auto; }\\n\\n.form-group-sm .form-control-static {\\n height: 30px;\\n min-height: 32px;\\n padding: 6px 10px;\\n font-size: 12px;\\n line-height: 1.5; }\\n\\n.input-lg, .input-group-lg > .form-control,\\n.input-group-lg > .input-group-addon,\\n.input-group-lg > .input-group-btn > .btn {\\n height: 46px;\\n padding: 10px 16px;\\n font-size: 18px;\\n line-height: 1.33333;\\n border-radius: 0px; }\\n\\nselect.input-lg, .input-group-lg > select.form-control,\\n.input-group-lg > select.input-group-addon,\\n.input-group-lg > .input-group-btn > select.btn {\\n height: 46px;\\n line-height: 46px; }\\n\\ntextarea.input-lg, .input-group-lg > textarea.form-control,\\n.input-group-lg > textarea.input-group-addon,\\n.input-group-lg > .input-group-btn > textarea.btn,\\nselect[multiple].input-lg,\\n.input-group-lg > select.form-control[multiple],\\n.input-group-lg > select.input-group-addon[multiple],\\n.input-group-lg > .input-group-btn > select.btn[multiple] {\\n height: auto; }\\n\\n.form-group-lg .form-control {\\n height: 46px;\\n padding: 10px 16px;\\n font-size: 18px;\\n line-height: 1.33333;\\n border-radius: 0px; }\\n\\n.form-group-lg select.form-control {\\n height: 46px;\\n line-height: 46px; }\\n\\n.form-group-lg textarea.form-control,\\n.form-group-lg select[multiple].form-control {\\n height: auto; }\\n\\n.form-group-lg .form-control-static {\\n height: 46px;\\n min-height: 38px;\\n padding: 11px 16px;\\n font-size: 18px;\\n line-height: 1.33333; }\\n\\n.has-feedback {\\n position: relative; }\\n .has-feedback .form-control {\\n padding-right: 42.5px; }\\n\\n.form-control-feedback {\\n position: absolute;\\n top: 0;\\n right: 0;\\n z-index: 2;\\n display: block;\\n width: 34px;\\n height: 34px;\\n line-height: 34px;\\n text-align: center;\\n pointer-events: none; }\\n\\n.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback,\\n.input-group-lg + .form-control-feedback,\\n.form-group-lg .form-control + .form-control-feedback {\\n width: 46px;\\n height: 46px;\\n line-height: 46px; }\\n\\n.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback,\\n.input-group-sm + .form-control-feedback,\\n.form-group-sm .form-control + .form-control-feedback {\\n width: 30px;\\n height: 30px;\\n line-height: 30px; }\\n\\n.has-success .help-block,\\n.has-success .control-label,\\n.has-success .radio,\\n.has-success .checkbox,\\n.has-success .radio-inline,\\n.has-success .checkbox-inline,\\n.has-success.radio label,\\n.has-success.checkbox label,\\n.has-success.radio-inline label,\\n.has-success.checkbox-inline label {\\n color: #3c763d; }\\n\\n.has-success .form-control {\\n border-color: #3c763d;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\\n .has-success .form-control:focus {\\n border-color: #2b542c;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }\\n\\n.has-success .input-group-addon {\\n color: #3c763d;\\n background-color: #dff0d8;\\n border-color: #3c763d; }\\n\\n.has-success .form-control-feedback {\\n color: #3c763d; }\\n\\n.has-warning .help-block,\\n.has-warning .control-label,\\n.has-warning .radio,\\n.has-warning .checkbox,\\n.has-warning .radio-inline,\\n.has-warning .checkbox-inline,\\n.has-warning.radio label,\\n.has-warning.checkbox label,\\n.has-warning.radio-inline label,\\n.has-warning.checkbox-inline label {\\n color: #8a6d3b; }\\n\\n.has-warning .form-control {\\n border-color: #8a6d3b;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\\n .has-warning .form-control:focus {\\n border-color: #66512c;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }\\n\\n.has-warning .input-group-addon {\\n color: #8a6d3b;\\n background-color: #fcf8e3;\\n border-color: #8a6d3b; }\\n\\n.has-warning .form-control-feedback {\\n color: #8a6d3b; }\\n\\n.has-error .help-block,\\n.has-error .control-label,\\n.has-error .radio,\\n.has-error .checkbox,\\n.has-error .radio-inline,\\n.has-error .checkbox-inline,\\n.has-error.radio label,\\n.has-error.checkbox label,\\n.has-error.radio-inline label,\\n.has-error.checkbox-inline label {\\n color: #a94442; }\\n\\n.has-error .form-control {\\n border-color: #a94442;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\\n .has-error .form-control:focus {\\n border-color: #843534;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }\\n\\n.has-error .input-group-addon {\\n color: #a94442;\\n background-color: #f2dede;\\n border-color: #a94442; }\\n\\n.has-error .form-control-feedback {\\n color: #a94442; }\\n\\n.has-feedback label ~ .form-control-feedback {\\n top: 25px; }\\n\\n.has-feedback label.sr-only ~ .form-control-feedback {\\n top: 0; }\\n\\n.help-block {\\n display: block;\\n margin-top: 5px;\\n margin-bottom: 10px;\\n color: #8c8c8c; }\\n\\n@media (min-width: 800px) {\\n .form-inline .form-group {\\n display: inline-block;\\n margin-bottom: 0;\\n vertical-align: middle; }\\n .form-inline .form-control {\\n display: inline-block;\\n width: auto;\\n vertical-align: middle; }\\n .form-inline .form-control-static {\\n display: inline-block; }\\n .form-inline .input-group {\\n display: inline-table;\\n vertical-align: middle; }\\n .form-inline .input-group .input-group-addon,\\n .form-inline .input-group .input-group-btn,\\n .form-inline .input-group .form-control {\\n width: auto; }\\n .form-inline .input-group > .form-control {\\n width: 100%; }\\n .form-inline .control-label {\\n margin-bottom: 0;\\n vertical-align: middle; }\\n .form-inline .radio,\\n .form-inline .checkbox {\\n display: inline-block;\\n margin-top: 0;\\n margin-bottom: 0;\\n vertical-align: middle; }\\n .form-inline .radio label,\\n .form-inline .checkbox label {\\n padding-left: 0; }\\n .form-inline .radio input[type=\\\"radio\\\"],\\n .form-inline .checkbox input[type=\\\"checkbox\\\"] {\\n position: relative;\\n margin-left: 0; }\\n .form-inline .has-feedback .form-control-feedback {\\n top: 0; } }\\n\\n.form-horizontal .radio,\\n.form-horizontal .checkbox,\\n.form-horizontal .radio-inline,\\n.form-horizontal .checkbox-inline {\\n padding-top: 7px;\\n margin-top: 0;\\n margin-bottom: 0; }\\n\\n.form-horizontal .radio,\\n.form-horizontal .checkbox {\\n min-height: 27px; }\\n\\n.form-horizontal .form-group {\\n margin-right: -15px;\\n margin-left: -15px; }\\n .form-horizontal .form-group:before, .form-horizontal .form-group:after {\\n display: table;\\n content: \\\" \\\"; }\\n .form-horizontal .form-group:after {\\n clear: both; }\\n\\n@media (min-width: 800px) {\\n .form-horizontal .control-label {\\n padding-top: 7px;\\n margin-bottom: 0;\\n text-align: right; } }\\n\\n.form-horizontal .has-feedback .form-control-feedback {\\n right: 15px; }\\n\\n@media (min-width: 800px) {\\n .form-horizontal .form-group-lg .control-label {\\n padding-top: 11px;\\n font-size: 18px; } }\\n\\n@media (min-width: 800px) {\\n .form-horizontal .form-group-sm .control-label {\\n padding-top: 6px;\\n font-size: 12px; } }\\n\\n@font-face {\\n font-family: \\\"Glyphicons Halflings\\\";\\n src: url(\" + escape(require(\"../fonts/bootstrap/glyphicons-halflings-regular.eot\")) + \");\\n src: url(\" + escape(require(\"../fonts/bootstrap/glyphicons-halflings-regular.eot\")) + \"?#iefix) format(\\\"embedded-opentype\\\"), url(\" + escape(require(\"../fonts/bootstrap/glyphicons-halflings-regular.woff2\")) + \") format(\\\"woff2\\\"), url(\" + escape(require(\"../fonts/bootstrap/glyphicons-halflings-regular.woff\")) + \") format(\\\"woff\\\"), url(\" + escape(require(\"../fonts/bootstrap/glyphicons-halflings-regular.ttf\")) + \") format(\\\"truetype\\\"), url(\" + escape(require(\"../fonts/bootstrap/glyphicons-halflings-regular.svg\")) + \"#glyphicons_halflingsregular) format(\\\"svg\\\"); }\\n\\n.glyphicon {\\n position: relative;\\n top: 1px;\\n display: inline-block;\\n font-family: \\\"Glyphicons Halflings\\\";\\n font-style: normal;\\n font-weight: 400;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n\\n.glyphicon-asterisk:before {\\n content: \\\"*\\\"; }\\n\\n.glyphicon-plus:before {\\n content: \\\"+\\\"; }\\n\\n.glyphicon-euro:before,\\n.glyphicon-eur:before {\\n content: \\\"\\\\20AC\\\"; }\\n\\n.glyphicon-minus:before {\\n content: \\\"\\\\2212\\\"; }\\n\\n.glyphicon-cloud:before {\\n content: \\\"\\\\2601\\\"; }\\n\\n.glyphicon-envelope:before {\\n content: \\\"\\\\2709\\\"; }\\n\\n.glyphicon-pencil:before {\\n content: \\\"\\\\270F\\\"; }\\n\\n.glyphicon-glass:before {\\n content: \\\"\\\\E001\\\"; }\\n\\n.glyphicon-music:before {\\n content: \\\"\\\\E002\\\"; }\\n\\n.glyphicon-search:before {\\n content: \\\"\\\\E003\\\"; }\\n\\n.glyphicon-heart:before {\\n content: \\\"\\\\E005\\\"; }\\n\\n.glyphicon-star:before {\\n content: \\\"\\\\E006\\\"; }\\n\\n.glyphicon-star-empty:before {\\n content: \\\"\\\\E007\\\"; }\\n\\n.glyphicon-user:before {\\n content: \\\"\\\\E008\\\"; }\\n\\n.glyphicon-film:before {\\n content: \\\"\\\\E009\\\"; }\\n\\n.glyphicon-th-large:before {\\n content: \\\"\\\\E010\\\"; }\\n\\n.glyphicon-th:before {\\n content: \\\"\\\\E011\\\"; }\\n\\n.glyphicon-th-list:before {\\n content: \\\"\\\\E012\\\"; }\\n\\n.glyphicon-ok:before {\\n content: \\\"\\\\E013\\\"; }\\n\\n.glyphicon-remove:before {\\n content: \\\"\\\\E014\\\"; }\\n\\n.glyphicon-zoom-in:before {\\n content: \\\"\\\\E015\\\"; }\\n\\n.glyphicon-zoom-out:before {\\n content: \\\"\\\\E016\\\"; }\\n\\n.glyphicon-off:before {\\n content: \\\"\\\\E017\\\"; }\\n\\n.glyphicon-signal:before {\\n content: \\\"\\\\E018\\\"; }\\n\\n.glyphicon-cog:before {\\n content: \\\"\\\\E019\\\"; }\\n\\n.glyphicon-trash:before {\\n content: \\\"\\\\E020\\\"; }\\n\\n.glyphicon-home:before {\\n content: \\\"\\\\E021\\\"; }\\n\\n.glyphicon-file:before {\\n content: \\\"\\\\E022\\\"; }\\n\\n.glyphicon-time:before {\\n content: \\\"\\\\E023\\\"; }\\n\\n.glyphicon-road:before {\\n content: \\\"\\\\E024\\\"; }\\n\\n.glyphicon-download-alt:before {\\n content: \\\"\\\\E025\\\"; }\\n\\n.glyphicon-download:before {\\n content: \\\"\\\\E026\\\"; }\\n\\n.glyphicon-upload:before {\\n content: \\\"\\\\E027\\\"; }\\n\\n.glyphicon-inbox:before {\\n content: \\\"\\\\E028\\\"; }\\n\\n.glyphicon-play-circle:before {\\n content: \\\"\\\\E029\\\"; }\\n\\n.glyphicon-repeat:before {\\n content: \\\"\\\\E030\\\"; }\\n\\n.glyphicon-refresh:before {\\n content: \\\"\\\\E031\\\"; }\\n\\n.glyphicon-list-alt:before {\\n content: \\\"\\\\E032\\\"; }\\n\\n.glyphicon-lock:before {\\n content: \\\"\\\\E033\\\"; }\\n\\n.glyphicon-flag:before {\\n content: \\\"\\\\E034\\\"; }\\n\\n.glyphicon-headphones:before {\\n content: \\\"\\\\E035\\\"; }\\n\\n.glyphicon-volume-off:before {\\n content: \\\"\\\\E036\\\"; }\\n\\n.glyphicon-volume-down:before {\\n content: \\\"\\\\E037\\\"; }\\n\\n.glyphicon-volume-up:before {\\n content: \\\"\\\\E038\\\"; }\\n\\n.glyphicon-qrcode:before {\\n content: \\\"\\\\E039\\\"; }\\n\\n.glyphicon-barcode:before {\\n content: \\\"\\\\E040\\\"; }\\n\\n.glyphicon-tag:before {\\n content: \\\"\\\\E041\\\"; }\\n\\n.glyphicon-tags:before {\\n content: \\\"\\\\E042\\\"; }\\n\\n.glyphicon-book:before {\\n content: \\\"\\\\E043\\\"; }\\n\\n.glyphicon-bookmark:before {\\n content: \\\"\\\\E044\\\"; }\\n\\n.glyphicon-print:before {\\n content: \\\"\\\\E045\\\"; }\\n\\n.glyphicon-camera:before {\\n content: \\\"\\\\E046\\\"; }\\n\\n.glyphicon-font:before {\\n content: \\\"\\\\E047\\\"; }\\n\\n.glyphicon-bold:before {\\n content: \\\"\\\\E048\\\"; }\\n\\n.glyphicon-italic:before {\\n content: \\\"\\\\E049\\\"; }\\n\\n.glyphicon-text-height:before {\\n content: \\\"\\\\E050\\\"; }\\n\\n.glyphicon-text-width:before {\\n content: \\\"\\\\E051\\\"; }\\n\\n.glyphicon-align-left:before {\\n content: \\\"\\\\E052\\\"; }\\n\\n.glyphicon-align-center:before {\\n content: \\\"\\\\E053\\\"; }\\n\\n.glyphicon-align-right:before {\\n content: \\\"\\\\E054\\\"; }\\n\\n.glyphicon-align-justify:before {\\n content: \\\"\\\\E055\\\"; }\\n\\n.glyphicon-list:before {\\n content: \\\"\\\\E056\\\"; }\\n\\n.glyphicon-indent-left:before {\\n content: \\\"\\\\E057\\\"; }\\n\\n.glyphicon-indent-right:before {\\n content: \\\"\\\\E058\\\"; }\\n\\n.glyphicon-facetime-video:before {\\n content: \\\"\\\\E059\\\"; }\\n\\n.glyphicon-picture:before {\\n content: \\\"\\\\E060\\\"; }\\n\\n.glyphicon-map-marker:before {\\n content: \\\"\\\\E062\\\"; }\\n\\n.glyphicon-adjust:before {\\n content: \\\"\\\\E063\\\"; }\\n\\n.glyphicon-tint:before {\\n content: \\\"\\\\E064\\\"; }\\n\\n.glyphicon-edit:before {\\n content: \\\"\\\\E065\\\"; }\\n\\n.glyphicon-share:before {\\n content: \\\"\\\\E066\\\"; }\\n\\n.glyphicon-check:before {\\n content: \\\"\\\\E067\\\"; }\\n\\n.glyphicon-move:before {\\n content: \\\"\\\\E068\\\"; }\\n\\n.glyphicon-step-backward:before {\\n content: \\\"\\\\E069\\\"; }\\n\\n.glyphicon-fast-backward:before {\\n content: \\\"\\\\E070\\\"; }\\n\\n.glyphicon-backward:before {\\n content: \\\"\\\\E071\\\"; }\\n\\n.glyphicon-play:before {\\n content: \\\"\\\\E072\\\"; }\\n\\n.glyphicon-pause:before {\\n content: \\\"\\\\E073\\\"; }\\n\\n.glyphicon-stop:before {\\n content: \\\"\\\\E074\\\"; }\\n\\n.glyphicon-forward:before {\\n content: \\\"\\\\E075\\\"; }\\n\\n.glyphicon-fast-forward:before {\\n content: \\\"\\\\E076\\\"; }\\n\\n.glyphicon-step-forward:before {\\n content: \\\"\\\\E077\\\"; }\\n\\n.glyphicon-eject:before {\\n content: \\\"\\\\E078\\\"; }\\n\\n.glyphicon-chevron-left:before {\\n content: \\\"\\\\E079\\\"; }\\n\\n.glyphicon-chevron-right:before {\\n content: \\\"\\\\E080\\\"; }\\n\\n.glyphicon-plus-sign:before {\\n content: \\\"\\\\E081\\\"; }\\n\\n.glyphicon-minus-sign:before {\\n content: \\\"\\\\E082\\\"; }\\n\\n.glyphicon-remove-sign:before {\\n content: \\\"\\\\E083\\\"; }\\n\\n.glyphicon-ok-sign:before {\\n content: \\\"\\\\E084\\\"; }\\n\\n.glyphicon-question-sign:before {\\n content: \\\"\\\\E085\\\"; }\\n\\n.glyphicon-info-sign:before {\\n content: \\\"\\\\E086\\\"; }\\n\\n.glyphicon-screenshot:before {\\n content: \\\"\\\\E087\\\"; }\\n\\n.glyphicon-remove-circle:before {\\n content: \\\"\\\\E088\\\"; }\\n\\n.glyphicon-ok-circle:before {\\n content: \\\"\\\\E089\\\"; }\\n\\n.glyphicon-ban-circle:before {\\n content: \\\"\\\\E090\\\"; }\\n\\n.glyphicon-arrow-left:before {\\n content: \\\"\\\\E091\\\"; }\\n\\n.glyphicon-arrow-right:before {\\n content: \\\"\\\\E092\\\"; }\\n\\n.glyphicon-arrow-up:before {\\n content: \\\"\\\\E093\\\"; }\\n\\n.glyphicon-arrow-down:before {\\n content: \\\"\\\\E094\\\"; }\\n\\n.glyphicon-share-alt:before {\\n content: \\\"\\\\E095\\\"; }\\n\\n.glyphicon-resize-full:before {\\n content: \\\"\\\\E096\\\"; }\\n\\n.glyphicon-resize-small:before {\\n content: \\\"\\\\E097\\\"; }\\n\\n.glyphicon-exclamation-sign:before {\\n content: \\\"\\\\E101\\\"; }\\n\\n.glyphicon-gift:before {\\n content: \\\"\\\\E102\\\"; }\\n\\n.glyphicon-leaf:before {\\n content: \\\"\\\\E103\\\"; }\\n\\n.glyphicon-fire:before {\\n content: \\\"\\\\E104\\\"; }\\n\\n.glyphicon-eye-open:before {\\n content: \\\"\\\\E105\\\"; }\\n\\n.glyphicon-eye-close:before {\\n content: \\\"\\\\E106\\\"; }\\n\\n.glyphicon-warning-sign:before {\\n content: \\\"\\\\E107\\\"; }\\n\\n.glyphicon-plane:before {\\n content: \\\"\\\\E108\\\"; }\\n\\n.glyphicon-calendar:before {\\n content: \\\"\\\\E109\\\"; }\\n\\n.glyphicon-random:before {\\n content: \\\"\\\\E110\\\"; }\\n\\n.glyphicon-comment:before {\\n content: \\\"\\\\E111\\\"; }\\n\\n.glyphicon-magnet:before {\\n content: \\\"\\\\E112\\\"; }\\n\\n.glyphicon-chevron-up:before {\\n content: \\\"\\\\E113\\\"; }\\n\\n.glyphicon-chevron-down:before {\\n content: \\\"\\\\E114\\\"; }\\n\\n.glyphicon-retweet:before {\\n content: \\\"\\\\E115\\\"; }\\n\\n.glyphicon-shopping-cart:before {\\n content: \\\"\\\\E116\\\"; }\\n\\n.glyphicon-folder-close:before {\\n content: \\\"\\\\E117\\\"; }\\n\\n.glyphicon-folder-open:before {\\n content: \\\"\\\\E118\\\"; }\\n\\n.glyphicon-resize-vertical:before {\\n content: \\\"\\\\E119\\\"; }\\n\\n.glyphicon-resize-horizontal:before {\\n content: \\\"\\\\E120\\\"; }\\n\\n.glyphicon-hdd:before {\\n content: \\\"\\\\E121\\\"; }\\n\\n.glyphicon-bullhorn:before {\\n content: \\\"\\\\E122\\\"; }\\n\\n.glyphicon-bell:before {\\n content: \\\"\\\\E123\\\"; }\\n\\n.glyphicon-certificate:before {\\n content: \\\"\\\\E124\\\"; }\\n\\n.glyphicon-thumbs-up:before {\\n content: \\\"\\\\E125\\\"; }\\n\\n.glyphicon-thumbs-down:before {\\n content: \\\"\\\\E126\\\"; }\\n\\n.glyphicon-hand-right:before {\\n content: \\\"\\\\E127\\\"; }\\n\\n.glyphicon-hand-left:before {\\n content: \\\"\\\\E128\\\"; }\\n\\n.glyphicon-hand-up:before {\\n content: \\\"\\\\E129\\\"; }\\n\\n.glyphicon-hand-down:before {\\n content: \\\"\\\\E130\\\"; }\\n\\n.glyphicon-circle-arrow-right:before {\\n content: \\\"\\\\E131\\\"; }\\n\\n.glyphicon-circle-arrow-left:before {\\n content: \\\"\\\\E132\\\"; }\\n\\n.glyphicon-circle-arrow-up:before {\\n content: \\\"\\\\E133\\\"; }\\n\\n.glyphicon-circle-arrow-down:before {\\n content: \\\"\\\\E134\\\"; }\\n\\n.glyphicon-globe:before {\\n content: \\\"\\\\E135\\\"; }\\n\\n.glyphicon-wrench:before {\\n content: \\\"\\\\E136\\\"; }\\n\\n.glyphicon-tasks:before {\\n content: \\\"\\\\E137\\\"; }\\n\\n.glyphicon-filter:before {\\n content: \\\"\\\\E138\\\"; }\\n\\n.glyphicon-briefcase:before {\\n content: \\\"\\\\E139\\\"; }\\n\\n.glyphicon-fullscreen:before {\\n content: \\\"\\\\E140\\\"; }\\n\\n.glyphicon-dashboard:before {\\n content: \\\"\\\\E141\\\"; }\\n\\n.glyphicon-paperclip:before {\\n content: \\\"\\\\E142\\\"; }\\n\\n.glyphicon-heart-empty:before {\\n content: \\\"\\\\E143\\\"; }\\n\\n.glyphicon-link:before {\\n content: \\\"\\\\E144\\\"; }\\n\\n.glyphicon-phone:before {\\n content: \\\"\\\\E145\\\"; }\\n\\n.glyphicon-pushpin:before {\\n content: \\\"\\\\E146\\\"; }\\n\\n.glyphicon-usd:before {\\n content: \\\"\\\\E148\\\"; }\\n\\n.glyphicon-gbp:before {\\n content: \\\"\\\\E149\\\"; }\\n\\n.glyphicon-sort:before {\\n content: \\\"\\\\E150\\\"; }\\n\\n.glyphicon-sort-by-alphabet:before {\\n content: \\\"\\\\E151\\\"; }\\n\\n.glyphicon-sort-by-alphabet-alt:before {\\n content: \\\"\\\\E152\\\"; }\\n\\n.glyphicon-sort-by-order:before {\\n content: \\\"\\\\E153\\\"; }\\n\\n.glyphicon-sort-by-order-alt:before {\\n content: \\\"\\\\E154\\\"; }\\n\\n.glyphicon-sort-by-attributes:before {\\n content: \\\"\\\\E155\\\"; }\\n\\n.glyphicon-sort-by-attributes-alt:before {\\n content: \\\"\\\\E156\\\"; }\\n\\n.glyphicon-unchecked:before {\\n content: \\\"\\\\E157\\\"; }\\n\\n.glyphicon-expand:before {\\n content: \\\"\\\\E158\\\"; }\\n\\n.glyphicon-collapse-down:before {\\n content: \\\"\\\\E159\\\"; }\\n\\n.glyphicon-collapse-up:before {\\n content: \\\"\\\\E160\\\"; }\\n\\n.glyphicon-log-in:before {\\n content: \\\"\\\\E161\\\"; }\\n\\n.glyphicon-flash:before {\\n content: \\\"\\\\E162\\\"; }\\n\\n.glyphicon-log-out:before {\\n content: \\\"\\\\E163\\\"; }\\n\\n.glyphicon-new-window:before {\\n content: \\\"\\\\E164\\\"; }\\n\\n.glyphicon-record:before {\\n content: \\\"\\\\E165\\\"; }\\n\\n.glyphicon-save:before {\\n content: \\\"\\\\E166\\\"; }\\n\\n.glyphicon-open:before {\\n content: \\\"\\\\E167\\\"; }\\n\\n.glyphicon-saved:before {\\n content: \\\"\\\\E168\\\"; }\\n\\n.glyphicon-import:before {\\n content: \\\"\\\\E169\\\"; }\\n\\n.glyphicon-export:before {\\n content: \\\"\\\\E170\\\"; }\\n\\n.glyphicon-send:before {\\n content: \\\"\\\\E171\\\"; }\\n\\n.glyphicon-floppy-disk:before {\\n content: \\\"\\\\E172\\\"; }\\n\\n.glyphicon-floppy-saved:before {\\n content: \\\"\\\\E173\\\"; }\\n\\n.glyphicon-floppy-remove:before {\\n content: \\\"\\\\E174\\\"; }\\n\\n.glyphicon-floppy-save:before {\\n content: \\\"\\\\E175\\\"; }\\n\\n.glyphicon-floppy-open:before {\\n content: \\\"\\\\E176\\\"; }\\n\\n.glyphicon-credit-card:before {\\n content: \\\"\\\\E177\\\"; }\\n\\n.glyphicon-transfer:before {\\n content: \\\"\\\\E178\\\"; }\\n\\n.glyphicon-cutlery:before {\\n content: \\\"\\\\E179\\\"; }\\n\\n.glyphicon-header:before {\\n content: \\\"\\\\E180\\\"; }\\n\\n.glyphicon-compressed:before {\\n content: \\\"\\\\E181\\\"; }\\n\\n.glyphicon-earphone:before {\\n content: \\\"\\\\E182\\\"; }\\n\\n.glyphicon-phone-alt:before {\\n content: \\\"\\\\E183\\\"; }\\n\\n.glyphicon-tower:before {\\n content: \\\"\\\\E184\\\"; }\\n\\n.glyphicon-stats:before {\\n content: \\\"\\\\E185\\\"; }\\n\\n.glyphicon-sd-video:before {\\n content: \\\"\\\\E186\\\"; }\\n\\n.glyphicon-hd-video:before {\\n content: \\\"\\\\E187\\\"; }\\n\\n.glyphicon-subtitles:before {\\n content: \\\"\\\\E188\\\"; }\\n\\n.glyphicon-sound-stereo:before {\\n content: \\\"\\\\E189\\\"; }\\n\\n.glyphicon-sound-dolby:before {\\n content: \\\"\\\\E190\\\"; }\\n\\n.glyphicon-sound-5-1:before {\\n content: \\\"\\\\E191\\\"; }\\n\\n.glyphicon-sound-6-1:before {\\n content: \\\"\\\\E192\\\"; }\\n\\n.glyphicon-sound-7-1:before {\\n content: \\\"\\\\E193\\\"; }\\n\\n.glyphicon-copyright-mark:before {\\n content: \\\"\\\\E194\\\"; }\\n\\n.glyphicon-registration-mark:before {\\n content: \\\"\\\\E195\\\"; }\\n\\n.glyphicon-cloud-download:before {\\n content: \\\"\\\\E197\\\"; }\\n\\n.glyphicon-cloud-upload:before {\\n content: \\\"\\\\E198\\\"; }\\n\\n.glyphicon-tree-conifer:before {\\n content: \\\"\\\\E199\\\"; }\\n\\n.glyphicon-tree-deciduous:before {\\n content: \\\"\\\\E200\\\"; }\\n\\n.glyphicon-cd:before {\\n content: \\\"\\\\E201\\\"; }\\n\\n.glyphicon-save-file:before {\\n content: \\\"\\\\E202\\\"; }\\n\\n.glyphicon-open-file:before {\\n content: \\\"\\\\E203\\\"; }\\n\\n.glyphicon-level-up:before {\\n content: \\\"\\\\E204\\\"; }\\n\\n.glyphicon-copy:before {\\n content: \\\"\\\\E205\\\"; }\\n\\n.glyphicon-paste:before {\\n content: \\\"\\\\E206\\\"; }\\n\\n.glyphicon-alert:before {\\n content: \\\"\\\\E209\\\"; }\\n\\n.glyphicon-equalizer:before {\\n content: \\\"\\\\E210\\\"; }\\n\\n.glyphicon-king:before {\\n content: \\\"\\\\E211\\\"; }\\n\\n.glyphicon-queen:before {\\n content: \\\"\\\\E212\\\"; }\\n\\n.glyphicon-pawn:before {\\n content: \\\"\\\\E213\\\"; }\\n\\n.glyphicon-bishop:before {\\n content: \\\"\\\\E214\\\"; }\\n\\n.glyphicon-knight:before {\\n content: \\\"\\\\E215\\\"; }\\n\\n.glyphicon-baby-formula:before {\\n content: \\\"\\\\E216\\\"; }\\n\\n.glyphicon-tent:before {\\n content: \\\"\\\\26FA\\\"; }\\n\\n.glyphicon-blackboard:before {\\n content: \\\"\\\\E218\\\"; }\\n\\n.glyphicon-bed:before {\\n content: \\\"\\\\E219\\\"; }\\n\\n.glyphicon-apple:before {\\n content: \\\"\\\\F8FF\\\"; }\\n\\n.glyphicon-erase:before {\\n content: \\\"\\\\E221\\\"; }\\n\\n.glyphicon-hourglass:before {\\n content: \\\"\\\\231B\\\"; }\\n\\n.glyphicon-lamp:before {\\n content: \\\"\\\\E223\\\"; }\\n\\n.glyphicon-duplicate:before {\\n content: \\\"\\\\E224\\\"; }\\n\\n.glyphicon-piggy-bank:before {\\n content: \\\"\\\\E225\\\"; }\\n\\n.glyphicon-scissors:before {\\n content: \\\"\\\\E226\\\"; }\\n\\n.glyphicon-bitcoin:before {\\n content: \\\"\\\\E227\\\"; }\\n\\n.glyphicon-btc:before {\\n content: \\\"\\\\E227\\\"; }\\n\\n.glyphicon-xbt:before {\\n content: \\\"\\\\E227\\\"; }\\n\\n.glyphicon-yen:before {\\n content: \\\"\\\\A5\\\"; }\\n\\n.glyphicon-jpy:before {\\n content: \\\"\\\\A5\\\"; }\\n\\n.glyphicon-ruble:before {\\n content: \\\"\\\\20BD\\\"; }\\n\\n.glyphicon-rub:before {\\n content: \\\"\\\\20BD\\\"; }\\n\\n.glyphicon-scale:before {\\n content: \\\"\\\\E230\\\"; }\\n\\n.glyphicon-ice-lolly:before {\\n content: \\\"\\\\E231\\\"; }\\n\\n.glyphicon-ice-lolly-tasted:before {\\n content: \\\"\\\\E232\\\"; }\\n\\n.glyphicon-education:before {\\n content: \\\"\\\\E233\\\"; }\\n\\n.glyphicon-option-horizontal:before {\\n content: \\\"\\\\E234\\\"; }\\n\\n.glyphicon-option-vertical:before {\\n content: \\\"\\\\E235\\\"; }\\n\\n.glyphicon-menu-hamburger:before {\\n content: \\\"\\\\E236\\\"; }\\n\\n.glyphicon-modal-window:before {\\n content: \\\"\\\\E237\\\"; }\\n\\n.glyphicon-oil:before {\\n content: \\\"\\\\E238\\\"; }\\n\\n.glyphicon-grain:before {\\n content: \\\"\\\\E239\\\"; }\\n\\n.glyphicon-sunglasses:before {\\n content: \\\"\\\\E240\\\"; }\\n\\n.glyphicon-text-size:before {\\n content: \\\"\\\\E241\\\"; }\\n\\n.glyphicon-text-color:before {\\n content: \\\"\\\\E242\\\"; }\\n\\n.glyphicon-text-background:before {\\n content: \\\"\\\\E243\\\"; }\\n\\n.glyphicon-object-align-top:before {\\n content: \\\"\\\\E244\\\"; }\\n\\n.glyphicon-object-align-bottom:before {\\n content: \\\"\\\\E245\\\"; }\\n\\n.glyphicon-object-align-horizontal:before {\\n content: \\\"\\\\E246\\\"; }\\n\\n.glyphicon-object-align-left:before {\\n content: \\\"\\\\E247\\\"; }\\n\\n.glyphicon-object-align-vertical:before {\\n content: \\\"\\\\E248\\\"; }\\n\\n.glyphicon-object-align-right:before {\\n content: \\\"\\\\E249\\\"; }\\n\\n.glyphicon-triangle-right:before {\\n content: \\\"\\\\E250\\\"; }\\n\\n.glyphicon-triangle-left:before {\\n content: \\\"\\\\E251\\\"; }\\n\\n.glyphicon-triangle-bottom:before {\\n content: \\\"\\\\E252\\\"; }\\n\\n.glyphicon-triangle-top:before {\\n content: \\\"\\\\E253\\\"; }\\n\\n.glyphicon-console:before {\\n content: \\\"\\\\E254\\\"; }\\n\\n.glyphicon-superscript:before {\\n content: \\\"\\\\E255\\\"; }\\n\\n.glyphicon-subscript:before {\\n content: \\\"\\\\E256\\\"; }\\n\\n.glyphicon-menu-left:before {\\n content: \\\"\\\\E257\\\"; }\\n\\n.glyphicon-menu-right:before {\\n content: \\\"\\\\E258\\\"; }\\n\\n.glyphicon-menu-down:before {\\n content: \\\"\\\\E259\\\"; }\\n\\n.glyphicon-menu-up:before {\\n content: \\\"\\\\E260\\\"; }\\n\\n.container {\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto; }\\n .container:before, .container:after {\\n display: table;\\n content: \\\" \\\"; }\\n .container:after {\\n clear: both; }\\n @media (min-width: 800px) {\\n .container {\\n width: 750px; } }\\n @media (min-width: 1130px) {\\n .container {\\n width: 970px; } }\\n @media (min-width: 1200px) {\\n .container {\\n width: 1170px; } }\\n\\n.container-fluid {\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto; }\\n .container-fluid:before, .container-fluid:after {\\n display: table;\\n content: \\\" \\\"; }\\n .container-fluid:after {\\n clear: both; }\\n\\n.row {\\n margin-right: -15px;\\n margin-left: -15px; }\\n .row:before, .row:after {\\n display: table;\\n content: \\\" \\\"; }\\n .row:after {\\n clear: both; }\\n\\n.row-no-gutters {\\n margin-right: 0;\\n margin-left: 0; }\\n .row-no-gutters [class*=\\\"col-\\\"] {\\n padding-right: 0;\\n padding-left: 0; }\\n\\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\\n position: relative;\\n min-height: 1px;\\n padding-right: 15px;\\n padding-left: 15px; }\\n\\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\\n float: left; }\\n\\n.col-xs-1 {\\n width: 8.33333%; }\\n\\n.col-xs-2 {\\n width: 16.66667%; }\\n\\n.col-xs-3 {\\n width: 25%; }\\n\\n.col-xs-4 {\\n width: 33.33333%; }\\n\\n.col-xs-5 {\\n width: 41.66667%; }\\n\\n.col-xs-6 {\\n width: 50%; }\\n\\n.col-xs-7 {\\n width: 58.33333%; }\\n\\n.col-xs-8 {\\n width: 66.66667%; }\\n\\n.col-xs-9 {\\n width: 75%; }\\n\\n.col-xs-10 {\\n width: 83.33333%; }\\n\\n.col-xs-11 {\\n width: 91.66667%; }\\n\\n.col-xs-12 {\\n width: 100%; }\\n\\n.col-xs-pull-0 {\\n right: auto; }\\n\\n.col-xs-pull-1 {\\n right: 8.33333%; }\\n\\n.col-xs-pull-2 {\\n right: 16.66667%; }\\n\\n.col-xs-pull-3 {\\n right: 25%; }\\n\\n.col-xs-pull-4 {\\n right: 33.33333%; }\\n\\n.col-xs-pull-5 {\\n right: 41.66667%; }\\n\\n.col-xs-pull-6 {\\n right: 50%; }\\n\\n.col-xs-pull-7 {\\n right: 58.33333%; }\\n\\n.col-xs-pull-8 {\\n right: 66.66667%; }\\n\\n.col-xs-pull-9 {\\n right: 75%; }\\n\\n.col-xs-pull-10 {\\n right: 83.33333%; }\\n\\n.col-xs-pull-11 {\\n right: 91.66667%; }\\n\\n.col-xs-pull-12 {\\n right: 100%; }\\n\\n.col-xs-push-0 {\\n left: auto; }\\n\\n.col-xs-push-1 {\\n left: 8.33333%; }\\n\\n.col-xs-push-2 {\\n left: 16.66667%; }\\n\\n.col-xs-push-3 {\\n left: 25%; }\\n\\n.col-xs-push-4 {\\n left: 33.33333%; }\\n\\n.col-xs-push-5 {\\n left: 41.66667%; }\\n\\n.col-xs-push-6 {\\n left: 50%; }\\n\\n.col-xs-push-7 {\\n left: 58.33333%; }\\n\\n.col-xs-push-8 {\\n left: 66.66667%; }\\n\\n.col-xs-push-9 {\\n left: 75%; }\\n\\n.col-xs-push-10 {\\n left: 83.33333%; }\\n\\n.col-xs-push-11 {\\n left: 91.66667%; }\\n\\n.col-xs-push-12 {\\n left: 100%; }\\n\\n.col-xs-offset-0 {\\n margin-left: 0%; }\\n\\n.col-xs-offset-1 {\\n margin-left: 8.33333%; }\\n\\n.col-xs-offset-2 {\\n margin-left: 16.66667%; }\\n\\n.col-xs-offset-3 {\\n margin-left: 25%; }\\n\\n.col-xs-offset-4 {\\n margin-left: 33.33333%; }\\n\\n.col-xs-offset-5 {\\n margin-left: 41.66667%; }\\n\\n.col-xs-offset-6 {\\n margin-left: 50%; }\\n\\n.col-xs-offset-7 {\\n margin-left: 58.33333%; }\\n\\n.col-xs-offset-8 {\\n margin-left: 66.66667%; }\\n\\n.col-xs-offset-9 {\\n margin-left: 75%; }\\n\\n.col-xs-offset-10 {\\n margin-left: 83.33333%; }\\n\\n.col-xs-offset-11 {\\n margin-left: 91.66667%; }\\n\\n.col-xs-offset-12 {\\n margin-left: 100%; }\\n\\n@media (min-width: 800px) {\\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\\n float: left; }\\n .col-sm-1 {\\n width: 8.33333%; }\\n .col-sm-2 {\\n width: 16.66667%; }\\n .col-sm-3 {\\n width: 25%; }\\n .col-sm-4 {\\n width: 33.33333%; }\\n .col-sm-5 {\\n width: 41.66667%; }\\n .col-sm-6 {\\n width: 50%; }\\n .col-sm-7 {\\n width: 58.33333%; }\\n .col-sm-8 {\\n width: 66.66667%; }\\n .col-sm-9 {\\n width: 75%; }\\n .col-sm-10 {\\n width: 83.33333%; }\\n .col-sm-11 {\\n width: 91.66667%; }\\n .col-sm-12 {\\n width: 100%; }\\n .col-sm-pull-0 {\\n right: auto; }\\n .col-sm-pull-1 {\\n right: 8.33333%; }\\n .col-sm-pull-2 {\\n right: 16.66667%; }\\n .col-sm-pull-3 {\\n right: 25%; }\\n .col-sm-pull-4 {\\n right: 33.33333%; }\\n .col-sm-pull-5 {\\n right: 41.66667%; }\\n .col-sm-pull-6 {\\n right: 50%; }\\n .col-sm-pull-7 {\\n right: 58.33333%; }\\n .col-sm-pull-8 {\\n right: 66.66667%; }\\n .col-sm-pull-9 {\\n right: 75%; }\\n .col-sm-pull-10 {\\n right: 83.33333%; }\\n .col-sm-pull-11 {\\n right: 91.66667%; }\\n .col-sm-pull-12 {\\n right: 100%; }\\n .col-sm-push-0 {\\n left: auto; }\\n .col-sm-push-1 {\\n left: 8.33333%; }\\n .col-sm-push-2 {\\n left: 16.66667%; }\\n .col-sm-push-3 {\\n left: 25%; }\\n .col-sm-push-4 {\\n left: 33.33333%; }\\n .col-sm-push-5 {\\n left: 41.66667%; }\\n .col-sm-push-6 {\\n left: 50%; }\\n .col-sm-push-7 {\\n left: 58.33333%; }\\n .col-sm-push-8 {\\n left: 66.66667%; }\\n .col-sm-push-9 {\\n left: 75%; }\\n .col-sm-push-10 {\\n left: 83.33333%; }\\n .col-sm-push-11 {\\n left: 91.66667%; }\\n .col-sm-push-12 {\\n left: 100%; }\\n .col-sm-offset-0 {\\n margin-left: 0%; }\\n .col-sm-offset-1 {\\n margin-left: 8.33333%; }\\n .col-sm-offset-2 {\\n margin-left: 16.66667%; }\\n .col-sm-offset-3 {\\n margin-left: 25%; }\\n .col-sm-offset-4 {\\n margin-left: 33.33333%; }\\n .col-sm-offset-5 {\\n margin-left: 41.66667%; }\\n .col-sm-offset-6 {\\n margin-left: 50%; }\\n .col-sm-offset-7 {\\n margin-left: 58.33333%; }\\n .col-sm-offset-8 {\\n margin-left: 66.66667%; }\\n .col-sm-offset-9 {\\n margin-left: 75%; }\\n .col-sm-offset-10 {\\n margin-left: 83.33333%; }\\n .col-sm-offset-11 {\\n margin-left: 91.66667%; }\\n .col-sm-offset-12 {\\n margin-left: 100%; } }\\n\\n@media (min-width: 1130px) {\\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\\n float: left; }\\n .col-md-1 {\\n width: 8.33333%; }\\n .col-md-2 {\\n width: 16.66667%; }\\n .col-md-3 {\\n width: 25%; }\\n .col-md-4 {\\n width: 33.33333%; }\\n .col-md-5 {\\n width: 41.66667%; }\\n .col-md-6 {\\n width: 50%; }\\n .col-md-7 {\\n width: 58.33333%; }\\n .col-md-8 {\\n width: 66.66667%; }\\n .col-md-9 {\\n width: 75%; }\\n .col-md-10 {\\n width: 83.33333%; }\\n .col-md-11 {\\n width: 91.66667%; }\\n .col-md-12 {\\n width: 100%; }\\n .col-md-pull-0 {\\n right: auto; }\\n .col-md-pull-1 {\\n right: 8.33333%; }\\n .col-md-pull-2 {\\n right: 16.66667%; }\\n .col-md-pull-3 {\\n right: 25%; }\\n .col-md-pull-4 {\\n right: 33.33333%; }\\n .col-md-pull-5 {\\n right: 41.66667%; }\\n .col-md-pull-6 {\\n right: 50%; }\\n .col-md-pull-7 {\\n right: 58.33333%; }\\n .col-md-pull-8 {\\n right: 66.66667%; }\\n .col-md-pull-9 {\\n right: 75%; }\\n .col-md-pull-10 {\\n right: 83.33333%; }\\n .col-md-pull-11 {\\n right: 91.66667%; }\\n .col-md-pull-12 {\\n right: 100%; }\\n .col-md-push-0 {\\n left: auto; }\\n .col-md-push-1 {\\n left: 8.33333%; }\\n .col-md-push-2 {\\n left: 16.66667%; }\\n .col-md-push-3 {\\n left: 25%; }\\n .col-md-push-4 {\\n left: 33.33333%; }\\n .col-md-push-5 {\\n left: 41.66667%; }\\n .col-md-push-6 {\\n left: 50%; }\\n .col-md-push-7 {\\n left: 58.33333%; }\\n .col-md-push-8 {\\n left: 66.66667%; }\\n .col-md-push-9 {\\n left: 75%; }\\n .col-md-push-10 {\\n left: 83.33333%; }\\n .col-md-push-11 {\\n left: 91.66667%; }\\n .col-md-push-12 {\\n left: 100%; }\\n .col-md-offset-0 {\\n margin-left: 0%; }\\n .col-md-offset-1 {\\n margin-left: 8.33333%; }\\n .col-md-offset-2 {\\n margin-left: 16.66667%; }\\n .col-md-offset-3 {\\n margin-left: 25%; }\\n .col-md-offset-4 {\\n margin-left: 33.33333%; }\\n .col-md-offset-5 {\\n margin-left: 41.66667%; }\\n .col-md-offset-6 {\\n margin-left: 50%; }\\n .col-md-offset-7 {\\n margin-left: 58.33333%; }\\n .col-md-offset-8 {\\n margin-left: 66.66667%; }\\n .col-md-offset-9 {\\n margin-left: 75%; }\\n .col-md-offset-10 {\\n margin-left: 83.33333%; }\\n .col-md-offset-11 {\\n margin-left: 91.66667%; }\\n .col-md-offset-12 {\\n margin-left: 100%; } }\\n\\n@media (min-width: 1200px) {\\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\\n float: left; }\\n .col-lg-1 {\\n width: 8.33333%; }\\n .col-lg-2 {\\n width: 16.66667%; }\\n .col-lg-3 {\\n width: 25%; }\\n .col-lg-4 {\\n width: 33.33333%; }\\n .col-lg-5 {\\n width: 41.66667%; }\\n .col-lg-6 {\\n width: 50%; }\\n .col-lg-7 {\\n width: 58.33333%; }\\n .col-lg-8 {\\n width: 66.66667%; }\\n .col-lg-9 {\\n width: 75%; }\\n .col-lg-10 {\\n width: 83.33333%; }\\n .col-lg-11 {\\n width: 91.66667%; }\\n .col-lg-12 {\\n width: 100%; }\\n .col-lg-pull-0 {\\n right: auto; }\\n .col-lg-pull-1 {\\n right: 8.33333%; }\\n .col-lg-pull-2 {\\n right: 16.66667%; }\\n .col-lg-pull-3 {\\n right: 25%; }\\n .col-lg-pull-4 {\\n right: 33.33333%; }\\n .col-lg-pull-5 {\\n right: 41.66667%; }\\n .col-lg-pull-6 {\\n right: 50%; }\\n .col-lg-pull-7 {\\n right: 58.33333%; }\\n .col-lg-pull-8 {\\n right: 66.66667%; }\\n .col-lg-pull-9 {\\n right: 75%; }\\n .col-lg-pull-10 {\\n right: 83.33333%; }\\n .col-lg-pull-11 {\\n right: 91.66667%; }\\n .col-lg-pull-12 {\\n right: 100%; }\\n .col-lg-push-0 {\\n left: auto; }\\n .col-lg-push-1 {\\n left: 8.33333%; }\\n .col-lg-push-2 {\\n left: 16.66667%; }\\n .col-lg-push-3 {\\n left: 25%; }\\n .col-lg-push-4 {\\n left: 33.33333%; }\\n .col-lg-push-5 {\\n left: 41.66667%; }\\n .col-lg-push-6 {\\n left: 50%; }\\n .col-lg-push-7 {\\n left: 58.33333%; }\\n .col-lg-push-8 {\\n left: 66.66667%; }\\n .col-lg-push-9 {\\n left: 75%; }\\n .col-lg-push-10 {\\n left: 83.33333%; }\\n .col-lg-push-11 {\\n left: 91.66667%; }\\n .col-lg-push-12 {\\n left: 100%; }\\n .col-lg-offset-0 {\\n margin-left: 0%; }\\n .col-lg-offset-1 {\\n margin-left: 8.33333%; }\\n .col-lg-offset-2 {\\n margin-left: 16.66667%; }\\n .col-lg-offset-3 {\\n margin-left: 25%; }\\n .col-lg-offset-4 {\\n margin-left: 33.33333%; }\\n .col-lg-offset-5 {\\n margin-left: 41.66667%; }\\n .col-lg-offset-6 {\\n margin-left: 50%; }\\n .col-lg-offset-7 {\\n margin-left: 58.33333%; }\\n .col-lg-offset-8 {\\n margin-left: 66.66667%; }\\n .col-lg-offset-9 {\\n margin-left: 75%; }\\n .col-lg-offset-10 {\\n margin-left: 83.33333%; }\\n .col-lg-offset-11 {\\n margin-left: 91.66667%; }\\n .col-lg-offset-12 {\\n margin-left: 100%; } }\\n\\n.input-group {\\n position: relative;\\n display: table;\\n border-collapse: separate; }\\n .input-group[class*=\\\"col-\\\"] {\\n float: none;\\n padding-right: 0;\\n padding-left: 0; }\\n .input-group .form-control {\\n position: relative;\\n z-index: 2;\\n float: left;\\n width: 100%;\\n margin-bottom: 0; }\\n .input-group .form-control:focus {\\n z-index: 3; }\\n\\n.input-group-addon,\\n.input-group-btn,\\n.input-group .form-control {\\n display: table-cell; }\\n .input-group-addon:not(:first-child):not(:last-child),\\n .input-group-btn:not(:first-child):not(:last-child),\\n .input-group .form-control:not(:first-child):not(:last-child) {\\n border-radius: 0; }\\n\\n.input-group-addon,\\n.input-group-btn {\\n width: 1%;\\n white-space: nowrap;\\n vertical-align: middle; }\\n\\n.input-group-addon {\\n padding: 6px 12px;\\n font-size: 14px;\\n font-weight: 400;\\n line-height: 1;\\n color: #555555;\\n text-align: center;\\n background-color: #ededed;\\n border: 1px solid #b8b3b0;\\n border-radius: 0px; }\\n .input-group-addon.input-sm,\\n .input-group-sm > .input-group-addon,\\n .input-group-sm > .input-group-btn > .input-group-addon.btn {\\n padding: 5px 10px;\\n font-size: 12px;\\n border-radius: 2px; }\\n .input-group-addon.input-lg,\\n .input-group-lg > .input-group-addon,\\n .input-group-lg > .input-group-btn > .input-group-addon.btn {\\n padding: 10px 16px;\\n font-size: 18px;\\n border-radius: 0px; }\\n .input-group-addon input[type=\\\"radio\\\"],\\n .input-group-addon input[type=\\\"checkbox\\\"] {\\n margin-top: 0; }\\n\\n.input-group .form-control:first-child,\\n.input-group-addon:first-child,\\n.input-group-btn:first-child > .btn,\\n.input-group-btn:first-child > .btn-group > .btn,\\n.input-group-btn:first-child > .dropdown-toggle,\\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n\\n.input-group-addon:first-child {\\n border-right: 0; }\\n\\n.input-group .form-control:last-child,\\n.input-group-addon:last-child,\\n.input-group-btn:last-child > .btn,\\n.input-group-btn:last-child > .btn-group > .btn,\\n.input-group-btn:last-child > .dropdown-toggle,\\n.input-group-btn:first-child > .btn:not(:first-child),\\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.input-group-addon:last-child {\\n border-left: 0; }\\n\\n.input-group-btn {\\n position: relative;\\n font-size: 0;\\n white-space: nowrap; }\\n .input-group-btn > .btn {\\n position: relative; }\\n .input-group-btn > .btn + .btn {\\n margin-left: -1px; }\\n .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active {\\n z-index: 2; }\\n .input-group-btn:first-child > .btn,\\n .input-group-btn:first-child > .btn-group {\\n margin-right: -1px; }\\n .input-group-btn:last-child > .btn,\\n .input-group-btn:last-child > .btn-group {\\n z-index: 2;\\n margin-left: -1px; }\\n\\n.jumbotron {\\n padding-top: 30px;\\n padding-bottom: 30px;\\n margin-bottom: 30px;\\n color: inherit;\\n background-color: #ededed; }\\n .jumbotron h1,\\n .jumbotron .h1 {\\n color: inherit; }\\n .jumbotron p {\\n margin-bottom: 15px;\\n font-size: 21px;\\n font-weight: 200; }\\n .jumbotron > hr {\\n border-top-color: #d4d4d4; }\\n .container .jumbotron,\\n .container-fluid .jumbotron {\\n padding-right: 15px;\\n padding-left: 15px;\\n border-radius: 4px; }\\n .jumbotron .container {\\n max-width: 100%; }\\n @media screen and (min-width: 800px) {\\n .jumbotron {\\n padding-top: 48px;\\n padding-bottom: 48px; }\\n .container .jumbotron,\\n .container-fluid .jumbotron {\\n padding-right: 60px;\\n padding-left: 60px; }\\n .jumbotron h1,\\n .jumbotron .h1 {\\n font-size: 63px; } }\\n\\n.label {\\n display: inline;\\n padding: .2em .6em .3em;\\n font-size: 75%;\\n font-weight: 700;\\n line-height: 1;\\n color: #fff;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: baseline;\\n border-radius: .25em; }\\n .label:empty {\\n display: none; }\\n .btn .label {\\n position: relative;\\n top: -1px; }\\n\\na.label:hover, a.label:focus {\\n color: #fff;\\n text-decoration: none;\\n cursor: pointer; }\\n\\n.label-default {\\n background-color: #777777; }\\n .label-default[href]:hover, .label-default[href]:focus {\\n background-color: #5e5e5e; }\\n\\n.label-primary {\\n background-color: #6CC38B; }\\n .label-primary[href]:hover, .label-primary[href]:focus {\\n background-color: #49b36f; }\\n\\n.label-success {\\n background-color: #5cb85c; }\\n .label-success[href]:hover, .label-success[href]:focus {\\n background-color: #449d44; }\\n\\n.label-info {\\n background-color: #5bc0de; }\\n .label-info[href]:hover, .label-info[href]:focus {\\n background-color: #31b0d5; }\\n\\n.label-warning {\\n background-color: #f0ad4e; }\\n .label-warning[href]:hover, .label-warning[href]:focus {\\n background-color: #ec971f; }\\n\\n.label-danger {\\n background-color: #d9534f; }\\n .label-danger[href]:hover, .label-danger[href]:focus {\\n background-color: #c9302c; }\\n\\n.list-group {\\n padding-left: 0;\\n margin-bottom: 20px; }\\n\\n.list-group-item {\\n position: relative;\\n display: block;\\n padding: 10px 15px;\\n margin-bottom: -1px;\\n background-color: #fff;\\n border: 1px solid #ddd; }\\n .list-group-item:first-child {\\n border-top-left-radius: 0px;\\n border-top-right-radius: 0px; }\\n .list-group-item:last-child {\\n margin-bottom: 0;\\n border-bottom-right-radius: 0px;\\n border-bottom-left-radius: 0px; }\\n .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {\\n color: #777777;\\n cursor: not-allowed;\\n background-color: #ededed; }\\n .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {\\n color: inherit; }\\n .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {\\n color: #777777; }\\n .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {\\n z-index: 2;\\n color: #fff;\\n background-color: #6CC38B;\\n border-color: #6CC38B; }\\n .list-group-item.active .list-group-item-heading,\\n .list-group-item.active .list-group-item-heading > small,\\n .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,\\n .list-group-item.active:hover .list-group-item-heading > small,\\n .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,\\n .list-group-item.active:focus .list-group-item-heading > small,\\n .list-group-item.active:focus .list-group-item-heading > .small {\\n color: inherit; }\\n .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {\\n color: #fdfefd; }\\n\\na.list-group-item,\\nbutton.list-group-item {\\n color: #555; }\\n a.list-group-item .list-group-item-heading,\\n button.list-group-item .list-group-item-heading {\\n color: #333; }\\n a.list-group-item:hover, a.list-group-item:focus,\\n button.list-group-item:hover,\\n button.list-group-item:focus {\\n color: #555;\\n text-decoration: none;\\n background-color: #f5f5f5; }\\n\\nbutton.list-group-item {\\n width: 100%;\\n text-align: left; }\\n\\n.list-group-item-success {\\n color: #3c763d;\\n background-color: #dff0d8; }\\n\\na.list-group-item-success,\\nbutton.list-group-item-success {\\n color: #3c763d; }\\n a.list-group-item-success .list-group-item-heading,\\n button.list-group-item-success .list-group-item-heading {\\n color: inherit; }\\n a.list-group-item-success:hover, a.list-group-item-success:focus,\\n button.list-group-item-success:hover,\\n button.list-group-item-success:focus {\\n color: #3c763d;\\n background-color: #d0e9c6; }\\n a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,\\n button.list-group-item-success.active,\\n button.list-group-item-success.active:hover,\\n button.list-group-item-success.active:focus {\\n color: #fff;\\n background-color: #3c763d;\\n border-color: #3c763d; }\\n\\n.list-group-item-info {\\n color: #31708f;\\n background-color: #d9edf7; }\\n\\na.list-group-item-info,\\nbutton.list-group-item-info {\\n color: #31708f; }\\n a.list-group-item-info .list-group-item-heading,\\n button.list-group-item-info .list-group-item-heading {\\n color: inherit; }\\n a.list-group-item-info:hover, a.list-group-item-info:focus,\\n button.list-group-item-info:hover,\\n button.list-group-item-info:focus {\\n color: #31708f;\\n background-color: #c4e3f3; }\\n a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,\\n button.list-group-item-info.active,\\n button.list-group-item-info.active:hover,\\n button.list-group-item-info.active:focus {\\n color: #fff;\\n background-color: #31708f;\\n border-color: #31708f; }\\n\\n.list-group-item-warning {\\n color: #8a6d3b;\\n background-color: #fcf8e3; }\\n\\na.list-group-item-warning,\\nbutton.list-group-item-warning {\\n color: #8a6d3b; }\\n a.list-group-item-warning .list-group-item-heading,\\n button.list-group-item-warning .list-group-item-heading {\\n color: inherit; }\\n a.list-group-item-warning:hover, a.list-group-item-warning:focus,\\n button.list-group-item-warning:hover,\\n button.list-group-item-warning:focus {\\n color: #8a6d3b;\\n background-color: #faf2cc; }\\n a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,\\n button.list-group-item-warning.active,\\n button.list-group-item-warning.active:hover,\\n button.list-group-item-warning.active:focus {\\n color: #fff;\\n background-color: #8a6d3b;\\n border-color: #8a6d3b; }\\n\\n.list-group-item-danger {\\n color: #a94442;\\n background-color: #f2dede; }\\n\\na.list-group-item-danger,\\nbutton.list-group-item-danger {\\n color: #a94442; }\\n a.list-group-item-danger .list-group-item-heading,\\n button.list-group-item-danger .list-group-item-heading {\\n color: inherit; }\\n a.list-group-item-danger:hover, a.list-group-item-danger:focus,\\n button.list-group-item-danger:hover,\\n button.list-group-item-danger:focus {\\n color: #a94442;\\n background-color: #ebcccc; }\\n a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,\\n button.list-group-item-danger.active,\\n button.list-group-item-danger.active:hover,\\n button.list-group-item-danger.active:focus {\\n color: #fff;\\n background-color: #a94442;\\n border-color: #a94442; }\\n\\n.list-group-item-heading {\\n margin-top: 0;\\n margin-bottom: 5px; }\\n\\n.list-group-item-text {\\n margin-bottom: 0;\\n line-height: 1.3; }\\n\\n.media {\\n margin-top: 15px; }\\n .media:first-child {\\n margin-top: 0; }\\n\\n.media,\\n.media-body {\\n overflow: hidden;\\n zoom: 1; }\\n\\n.media-body {\\n width: 10000px; }\\n\\n.media-object {\\n display: block; }\\n .media-object.img-thumbnail {\\n max-width: none; }\\n\\n.media-right,\\n.media > .pull-right {\\n padding-left: 10px; }\\n\\n.media-left,\\n.media > .pull-left {\\n padding-right: 10px; }\\n\\n.media-left,\\n.media-right,\\n.media-body {\\n display: table-cell;\\n vertical-align: top; }\\n\\n.media-middle {\\n vertical-align: middle; }\\n\\n.media-bottom {\\n vertical-align: bottom; }\\n\\n.media-heading {\\n margin-top: 0;\\n margin-bottom: 5px; }\\n\\n.media-list {\\n padding-left: 0;\\n list-style: none; }\\n\\n.modal-open {\\n overflow: hidden; }\\n\\n.modal {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1050;\\n display: none;\\n overflow: hidden;\\n -webkit-overflow-scrolling: touch;\\n outline: 0; }\\n .modal.fade .modal-dialog {\\n transform: translate(0, -25%);\\n transition: transform 0.3s ease-out; }\\n .modal.in .modal-dialog {\\n transform: translate(0, 0); }\\n\\n.modal-open .modal {\\n overflow-x: hidden;\\n overflow-y: auto; }\\n\\n.modal-dialog {\\n position: relative;\\n width: auto;\\n margin: 10px; }\\n\\n.modal-content {\\n position: relative;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #999;\\n border: 1px solid #d9d9d9;\\n border-radius: 4px;\\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\\n outline: 0; }\\n\\n.modal-backdrop {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1040;\\n background-color: #000; }\\n .modal-backdrop.fade {\\n filter: alpha(opacity=0);\\n opacity: 0; }\\n .modal-backdrop.in {\\n filter: alpha(opacity=70);\\n opacity: 0.7; }\\n\\n.modal-header {\\n padding: 15px;\\n border-bottom: 1px solid #d9d9d9; }\\n .modal-header:before, .modal-header:after {\\n display: table;\\n content: \\\" \\\"; }\\n .modal-header:after {\\n clear: both; }\\n\\n.modal-header .close {\\n margin-top: -2px; }\\n\\n.modal-title {\\n margin: 0;\\n line-height: 1.42857; }\\n\\n.modal-body {\\n position: relative;\\n padding: 30px; }\\n\\n.modal-footer {\\n padding: 30px;\\n text-align: right;\\n border-top: 1px solid #d9d9d9; }\\n .modal-footer:before, .modal-footer:after {\\n display: table;\\n content: \\\" \\\"; }\\n .modal-footer:after {\\n clear: both; }\\n .modal-footer .btn + .btn {\\n margin-bottom: 0;\\n margin-left: 5px; }\\n .modal-footer .btn-group .btn + .btn {\\n margin-left: -1px; }\\n .modal-footer .btn-block + .btn-block {\\n margin-left: 0; }\\n\\n.modal-scrollbar-measure {\\n position: absolute;\\n top: -9999px;\\n width: 50px;\\n height: 50px;\\n overflow: scroll; }\\n\\n@media (min-width: 800px) {\\n .modal-dialog {\\n width: 600px;\\n margin: 30px auto; }\\n .modal-content {\\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); }\\n .modal-sm {\\n width: 300px; } }\\n\\n@media (min-width: 1130px) {\\n .modal-lg {\\n width: 900px; } }\\n\\n.nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none; }\\n .nav:before, .nav:after {\\n display: table;\\n content: \\\" \\\"; }\\n .nav:after {\\n clear: both; }\\n .nav > li {\\n position: relative;\\n display: block; }\\n .nav > li > a {\\n position: relative;\\n display: block;\\n padding: 10px 15px; }\\n .nav > li > a:hover, .nav > li > a:focus {\\n text-decoration: none;\\n background-color: #ededed; }\\n .nav > li.disabled > a {\\n color: #777777; }\\n .nav > li.disabled > a:hover, .nav > li.disabled > a:focus {\\n color: #777777;\\n text-decoration: none;\\n cursor: not-allowed;\\n background-color: transparent; }\\n .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {\\n background-color: #ededed;\\n border-color: #6CC38B; }\\n .nav .nav-divider {\\n height: 1px;\\n margin: 9px 0;\\n overflow: hidden;\\n background-color: #e5e5e5; }\\n .nav > li > a > img {\\n max-width: none; }\\n\\n.nav-tabs {\\n border-bottom: 1px solid #ddd; }\\n .nav-tabs > li {\\n float: left;\\n margin-bottom: -1px; }\\n .nav-tabs > li > a {\\n margin-right: 2px;\\n line-height: 1.42857;\\n border: 1px solid transparent;\\n border-radius: 0px 0px 0 0; }\\n .nav-tabs > li > a:hover {\\n border-color: #ededed #ededed #ddd; }\\n .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {\\n color: #555555;\\n cursor: default;\\n background-color: #ededed;\\n border: 1px solid #ddd;\\n border-bottom-color: transparent; }\\n\\n.nav-pills > li {\\n float: left; }\\n .nav-pills > li > a {\\n border-radius: 0px; }\\n .nav-pills > li + li {\\n margin-left: 2px; }\\n .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {\\n color: #fff;\\n background-color: #6CC38B; }\\n\\n.nav-stacked > li {\\n float: none; }\\n .nav-stacked > li + li {\\n margin-top: 2px;\\n margin-left: 0; }\\n\\n.nav-justified, .nav-tabs.nav-justified {\\n width: 100%; }\\n .nav-justified > li, .nav-tabs.nav-justified > li {\\n float: none; }\\n .nav-justified > li > a, .nav-tabs.nav-justified > li > a {\\n margin-bottom: 5px;\\n text-align: center; }\\n .nav-justified > .dropdown .dropdown-menu {\\n top: auto;\\n left: auto; }\\n @media (min-width: 800px) {\\n .nav-justified > li, .nav-tabs.nav-justified > li {\\n display: table-cell;\\n width: 1%; }\\n .nav-justified > li > a, .nav-tabs.nav-justified > li > a {\\n margin-bottom: 0; } }\\n\\n.nav-tabs-justified, .nav-tabs.nav-justified {\\n border-bottom: 0; }\\n .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {\\n margin-right: 0;\\n border-radius: 0px; }\\n .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,\\n .nav-tabs-justified > .active > a:hover,\\n .nav-tabs.nav-justified > .active > a:hover,\\n .nav-tabs-justified > .active > a:focus,\\n .nav-tabs.nav-justified > .active > a:focus {\\n border: 1px solid #ddd; }\\n @media (min-width: 800px) {\\n .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {\\n border-bottom: 1px solid #ddd;\\n border-radius: 0px 0px 0 0; }\\n .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,\\n .nav-tabs-justified > .active > a:hover,\\n .nav-tabs.nav-justified > .active > a:hover,\\n .nav-tabs-justified > .active > a:focus,\\n .nav-tabs.nav-justified > .active > a:focus {\\n border-bottom-color: #ededed; } }\\n\\n.tab-content > .tab-pane {\\n display: none; }\\n\\n.tab-content > .active {\\n display: block; }\\n\\n.nav-tabs .dropdown-menu {\\n margin-top: -1px;\\n border-top-left-radius: 0;\\n border-top-right-radius: 0; }\\n\\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\\nhtml {\\n font-family: sans-serif;\\n -ms-text-size-adjust: 100%;\\n -webkit-text-size-adjust: 100%; }\\n\\nbody {\\n margin: 0; }\\n\\narticle,\\naside,\\ndetails,\\nfigcaption,\\nfigure,\\nfooter,\\nheader,\\nhgroup,\\nmain,\\nmenu,\\nnav,\\nsection,\\nsummary {\\n display: block; }\\n\\naudio,\\ncanvas,\\nprogress,\\nvideo {\\n display: inline-block;\\n vertical-align: baseline; }\\n\\naudio:not([controls]) {\\n display: none;\\n height: 0; }\\n\\n[hidden],\\ntemplate {\\n display: none; }\\n\\na {\\n background-color: transparent; }\\n\\na:active,\\na:hover {\\n outline: 0; }\\n\\nabbr[title] {\\n border-bottom: none;\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted; }\\n\\nb,\\nstrong {\\n font-weight: bold; }\\n\\ndfn {\\n font-style: italic; }\\n\\nh1 {\\n font-size: 2em;\\n margin: 0.67em 0; }\\n\\nmark {\\n background: #ff0;\\n color: #000; }\\n\\nsmall {\\n font-size: 80%; }\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline; }\\n\\nsup {\\n top: -0.5em; }\\n\\nsub {\\n bottom: -0.25em; }\\n\\nimg {\\n border: 0; }\\n\\nsvg:not(:root) {\\n overflow: hidden; }\\n\\nfigure {\\n margin: 1em 40px; }\\n\\nhr {\\n box-sizing: content-box;\\n height: 0; }\\n\\npre {\\n overflow: auto; }\\n\\ncode,\\nkbd,\\npre,\\nsamp {\\n font-family: monospace, monospace;\\n font-size: 1em; }\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n color: inherit;\\n font: inherit;\\n margin: 0; }\\n\\nbutton {\\n overflow: visible; }\\n\\nbutton,\\nselect {\\n text-transform: none; }\\n\\nbutton,\\nhtml input[type=\\\"button\\\"],\\ninput[type=\\\"reset\\\"],\\ninput[type=\\\"submit\\\"] {\\n -webkit-appearance: button;\\n cursor: pointer; }\\n\\nbutton[disabled],\\nhtml input[disabled] {\\n cursor: default; }\\n\\nbutton::-moz-focus-inner,\\ninput::-moz-focus-inner {\\n border: 0;\\n padding: 0; }\\n\\ninput {\\n line-height: normal; }\\n\\ninput[type=\\\"checkbox\\\"],\\ninput[type=\\\"radio\\\"] {\\n box-sizing: border-box;\\n padding: 0; }\\n\\ninput[type=\\\"number\\\"]::-webkit-inner-spin-button,\\ninput[type=\\\"number\\\"]::-webkit-outer-spin-button {\\n height: auto; }\\n\\ninput[type=\\\"search\\\"] {\\n -webkit-appearance: textfield;\\n box-sizing: content-box; }\\n\\ninput[type=\\\"search\\\"]::-webkit-search-cancel-button,\\ninput[type=\\\"search\\\"]::-webkit-search-decoration {\\n -webkit-appearance: none; }\\n\\nfieldset {\\n border: 1px solid #c0c0c0;\\n margin: 0 2px;\\n padding: 0.35em 0.625em 0.75em; }\\n\\nlegend {\\n border: 0;\\n padding: 0; }\\n\\ntextarea {\\n overflow: auto; }\\n\\noptgroup {\\n font-weight: bold; }\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0; }\\n\\ntd,\\nth {\\n padding: 0; }\\n\\n.pager {\\n padding-left: 0;\\n margin: 20px 0;\\n text-align: center;\\n list-style: none; }\\n .pager:before, .pager:after {\\n display: table;\\n content: \\\" \\\"; }\\n .pager:after {\\n clear: both; }\\n .pager li {\\n display: inline; }\\n .pager li > a,\\n .pager li > span {\\n display: inline-block;\\n padding: 5px 14px;\\n background-color: #fff;\\n border: 1px solid #ddd;\\n border-radius: 15px; }\\n .pager li > a:hover,\\n .pager li > a:focus {\\n text-decoration: none;\\n background-color: #ededed; }\\n .pager .next > a,\\n .pager .next > span {\\n float: right; }\\n .pager .previous > a,\\n .pager .previous > span {\\n float: left; }\\n .pager .disabled > a,\\n .pager .disabled > a:hover,\\n .pager .disabled > a:focus,\\n .pager .disabled > span {\\n color: #777777;\\n cursor: not-allowed;\\n background-color: #fff; }\\n\\n.pagination {\\n display: inline-block;\\n padding-left: 0;\\n margin: 20px 0;\\n border-radius: 0px; }\\n .pagination > li {\\n display: inline; }\\n .pagination > li > a,\\n .pagination > li > span {\\n position: relative;\\n float: left;\\n padding: 6px 12px;\\n margin-left: -1px;\\n line-height: 1.42857;\\n color: #6CC38B;\\n text-decoration: none;\\n background-color: #fff;\\n border: 1px solid #ddd; }\\n .pagination > li > a:hover, .pagination > li > a:focus,\\n .pagination > li > span:hover,\\n .pagination > li > span:focus {\\n z-index: 2;\\n color: #42a164;\\n background-color: #ededed;\\n border-color: #ddd; }\\n .pagination > li:first-child > a,\\n .pagination > li:first-child > span {\\n margin-left: 0;\\n border-top-left-radius: 0px;\\n border-bottom-left-radius: 0px; }\\n .pagination > li:last-child > a,\\n .pagination > li:last-child > span {\\n border-top-right-radius: 0px;\\n border-bottom-right-radius: 0px; }\\n .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,\\n .pagination > .active > span,\\n .pagination > .active > span:hover,\\n .pagination > .active > span:focus {\\n z-index: 3;\\n color: #fff;\\n cursor: default;\\n background-color: #6CC38B;\\n border-color: #6CC38B; }\\n .pagination > .disabled > span,\\n .pagination > .disabled > span:hover,\\n .pagination > .disabled > span:focus,\\n .pagination > .disabled > a,\\n .pagination > .disabled > a:hover,\\n .pagination > .disabled > a:focus {\\n color: #777777;\\n cursor: not-allowed;\\n background-color: #fff;\\n border-color: #ddd; }\\n\\n.pagination-lg > li > a,\\n.pagination-lg > li > span {\\n padding: 10px 16px;\\n font-size: 18px;\\n line-height: 1.33333; }\\n\\n.pagination-lg > li:first-child > a,\\n.pagination-lg > li:first-child > span {\\n border-top-left-radius: 4px;\\n border-bottom-left-radius: 4px; }\\n\\n.pagination-lg > li:last-child > a,\\n.pagination-lg > li:last-child > span {\\n border-top-right-radius: 4px;\\n border-bottom-right-radius: 4px; }\\n\\n.pagination-sm > li > a,\\n.pagination-sm > li > span {\\n padding: 5px 10px;\\n font-size: 12px;\\n line-height: 1.5; }\\n\\n.pagination-sm > li:first-child > a,\\n.pagination-sm > li:first-child > span {\\n border-top-left-radius: 2px;\\n border-bottom-left-radius: 2px; }\\n\\n.pagination-sm > li:last-child > a,\\n.pagination-sm > li:last-child > span {\\n border-top-right-radius: 2px;\\n border-bottom-right-radius: 2px; }\\n\\n.panel {\\n margin-bottom: 20px;\\n background-color: #fff;\\n border: 1px solid transparent;\\n border-radius: 0px;\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }\\n\\n.panel-body {\\n padding: 15px; }\\n .panel-body:before, .panel-body:after {\\n display: table;\\n content: \\\" \\\"; }\\n .panel-body:after {\\n clear: both; }\\n\\n.panel-heading {\\n padding: 15px 15px;\\n border-bottom: 1px solid transparent;\\n border-top-left-radius: -1px;\\n border-top-right-radius: -1px; }\\n .panel-heading > .dropdown .dropdown-toggle {\\n color: inherit; }\\n\\n.panel-title {\\n margin-top: 0;\\n margin-bottom: 0;\\n font-size: 16px;\\n color: inherit; }\\n .panel-title > a,\\n .panel-title > small,\\n .panel-title > .small,\\n .panel-title > small > a,\\n .panel-title > .small > a {\\n color: inherit; }\\n\\n.panel-footer {\\n padding: 15px 15px;\\n background-color: #f5f5f5;\\n border-top: 1px solid #d9d9d9;\\n border-bottom-right-radius: -1px;\\n border-bottom-left-radius: -1px; }\\n\\n.panel > .list-group,\\n.panel > .panel-collapse > .list-group {\\n margin-bottom: 0; }\\n .panel > .list-group .list-group-item,\\n .panel > .panel-collapse > .list-group .list-group-item {\\n border-width: 1px 0;\\n border-radius: 0; }\\n .panel > .list-group:first-child .list-group-item:first-child,\\n .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\\n border-top: 0;\\n border-top-left-radius: -1px;\\n border-top-right-radius: -1px; }\\n .panel > .list-group:last-child .list-group-item:last-child,\\n .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\\n border-bottom: 0;\\n border-bottom-right-radius: -1px;\\n border-bottom-left-radius: -1px; }\\n\\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0; }\\n\\n.panel-heading + .list-group .list-group-item:first-child {\\n border-top-width: 0; }\\n\\n.list-group + .panel-footer {\\n border-top-width: 0; }\\n\\n.panel > .table,\\n.panel > .table-responsive > .table,\\n.panel > .panel-collapse > .table {\\n margin-bottom: 0; }\\n .panel > .table caption,\\n .panel > .table-responsive > .table caption,\\n .panel > .panel-collapse > .table caption {\\n padding-right: 15px;\\n padding-left: 15px; }\\n\\n.panel > .table:first-child,\\n.panel > .table-responsive:first-child > .table:first-child {\\n border-top-left-radius: -1px;\\n border-top-right-radius: -1px; }\\n .panel > .table:first-child > thead:first-child > tr:first-child,\\n .panel > .table:first-child > tbody:first-child > tr:first-child,\\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\\n border-top-left-radius: -1px;\\n border-top-right-radius: -1px; }\\n .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\\n .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\\n .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\\n .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\\n border-top-left-radius: -1px; }\\n .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\\n .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\\n .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\\n .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\\n border-top-right-radius: -1px; }\\n\\n.panel > .table:last-child,\\n.panel > .table-responsive:last-child > .table:last-child {\\n border-bottom-right-radius: -1px;\\n border-bottom-left-radius: -1px; }\\n .panel > .table:last-child > tbody:last-child > tr:last-child,\\n .panel > .table:last-child > tfoot:last-child > tr:last-child,\\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\\n border-bottom-right-radius: -1px;\\n border-bottom-left-radius: -1px; }\\n .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\\n .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\\n border-bottom-left-radius: -1px; }\\n .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\\n .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\\n border-bottom-right-radius: -1px; }\\n\\n.panel > .panel-body + .table,\\n.panel > .panel-body + .table-responsive,\\n.panel > .table + .panel-body,\\n.panel > .table-responsive + .panel-body {\\n border-top: 1px solid #ddd; }\\n\\n.panel > .table > tbody:first-child > tr:first-child th,\\n.panel > .table > tbody:first-child > tr:first-child td {\\n border-top: 0; }\\n\\n.panel > .table-bordered,\\n.panel > .table-responsive > .table-bordered {\\n border: 0; }\\n .panel > .table-bordered > thead > tr > th:first-child,\\n .panel > .table-bordered > thead > tr > td:first-child,\\n .panel > .table-bordered > tbody > tr > th:first-child,\\n .panel > .table-bordered > tbody > tr > td:first-child,\\n .panel > .table-bordered > tfoot > tr > th:first-child,\\n .panel > .table-bordered > tfoot > tr > td:first-child,\\n .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\\n .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\\n .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\\n .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\\n border-left: 0; }\\n .panel > .table-bordered > thead > tr > th:last-child,\\n .panel > .table-bordered > thead > tr > td:last-child,\\n .panel > .table-bordered > tbody > tr > th:last-child,\\n .panel > .table-bordered > tbody > tr > td:last-child,\\n .panel > .table-bordered > tfoot > tr > th:last-child,\\n .panel > .table-bordered > tfoot > tr > td:last-child,\\n .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\\n .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\\n .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\\n .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\\n border-right: 0; }\\n .panel > .table-bordered > thead > tr:first-child > td,\\n .panel > .table-bordered > thead > tr:first-child > th,\\n .panel > .table-bordered > tbody > tr:first-child > td,\\n .panel > .table-bordered > tbody > tr:first-child > th,\\n .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\\n .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\\n .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\\n .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\\n border-bottom: 0; }\\n .panel > .table-bordered > tbody > tr:last-child > td,\\n .panel > .table-bordered > tbody > tr:last-child > th,\\n .panel > .table-bordered > tfoot > tr:last-child > td,\\n .panel > .table-bordered > tfoot > tr:last-child > th,\\n .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\\n .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\\n .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\\n .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\\n border-bottom: 0; }\\n\\n.panel > .table-responsive {\\n margin-bottom: 0;\\n border: 0; }\\n\\n.panel-group {\\n margin-bottom: 20px; }\\n .panel-group .panel {\\n margin-bottom: 0;\\n border-radius: 0px; }\\n .panel-group .panel + .panel {\\n margin-top: 5px; }\\n .panel-group .panel-heading {\\n border-bottom: 0; }\\n .panel-group .panel-heading + .panel-collapse > .panel-body,\\n .panel-group .panel-heading + .panel-collapse > .list-group {\\n border-top: 1px solid #d9d9d9; }\\n .panel-group .panel-footer {\\n border-top: 0; }\\n .panel-group .panel-footer + .panel-collapse .panel-body {\\n border-bottom: 1px solid #d9d9d9; }\\n\\n.panel-default {\\n border-color: #d9d9d9; }\\n .panel-default > .panel-heading {\\n color: #333333;\\n background-color: #f5f5f5;\\n border-color: #d9d9d9; }\\n .panel-default > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #d9d9d9; }\\n .panel-default > .panel-heading .badge {\\n color: #f5f5f5;\\n background-color: #333333; }\\n .panel-default > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #d9d9d9; }\\n\\n.panel-primary {\\n border-color: #d9d9d9; }\\n .panel-primary > .panel-heading {\\n color: #fff;\\n background-color: #6CC38B;\\n border-color: #d9d9d9; }\\n .panel-primary > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #d9d9d9; }\\n .panel-primary > .panel-heading .badge {\\n color: #6CC38B;\\n background-color: #fff; }\\n .panel-primary > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #d9d9d9; }\\n\\n.panel-success {\\n border-color: #d6e9c6; }\\n .panel-success > .panel-heading {\\n color: #3c763d;\\n background-color: #dff0d8;\\n border-color: #d6e9c6; }\\n .panel-success > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #d6e9c6; }\\n .panel-success > .panel-heading .badge {\\n color: #dff0d8;\\n background-color: #3c763d; }\\n .panel-success > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #d6e9c6; }\\n\\n.panel-info {\\n border-color: #bce8f1; }\\n .panel-info > .panel-heading {\\n color: #31708f;\\n background-color: #d9edf7;\\n border-color: #bce8f1; }\\n .panel-info > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #bce8f1; }\\n .panel-info > .panel-heading .badge {\\n color: #d9edf7;\\n background-color: #31708f; }\\n .panel-info > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #bce8f1; }\\n\\n.panel-warning {\\n border-color: #faebcc; }\\n .panel-warning > .panel-heading {\\n color: #8a6d3b;\\n background-color: #fcf8e3;\\n border-color: #faebcc; }\\n .panel-warning > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #faebcc; }\\n .panel-warning > .panel-heading .badge {\\n color: #fcf8e3;\\n background-color: #8a6d3b; }\\n .panel-warning > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #faebcc; }\\n\\n.panel-danger {\\n border-color: #ebccd1; }\\n .panel-danger > .panel-heading {\\n color: #a94442;\\n background-color: #f2dede;\\n border-color: #ebccd1; }\\n .panel-danger > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #ebccd1; }\\n .panel-danger > .panel-heading .badge {\\n color: #f2dede;\\n background-color: #a94442; }\\n .panel-danger > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #ebccd1; }\\n\\n[dir=\\\"ltr\\\"] .popover{\\n text-align: left; }\\n\\n[dir=\\\"rtl\\\"] .popover{\\n text-align: right; }\\n\\n.popover {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 1060;\\n display: none;\\n max-width: 276px;\\n padding: 1px;\\n font-family: \\\"Montserrat\\\", Arial, sans-serif;\\n font-style: normal;\\n font-weight: 400;\\n line-height: 1.42857;\\n line-break: auto;\\n text-align: left;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n word-spacing: normal;\\n word-wrap: normal;\\n white-space: normal;\\n font-size: 14px;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ccc;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }\\n .popover.top {\\n margin-top: -10px; }\\n .popover.right {\\n margin-left: 10px; }\\n .popover.bottom {\\n margin-top: 10px; }\\n .popover.left {\\n margin-left: -10px; }\\n .popover > .arrow {\\n border-width: 11px; }\\n .popover > .arrow, .popover > .arrow:after {\\n position: absolute;\\n display: block;\\n width: 0;\\n height: 0;\\n border-color: transparent;\\n border-style: solid; }\\n .popover > .arrow:after {\\n content: \\\"\\\";\\n border-width: 10px; }\\n .popover.top > .arrow {\\n bottom: -11px;\\n left: 50%;\\n margin-left: -11px;\\n border-top-color: #999999;\\n border-top-color: rgba(0, 0, 0, 0.25);\\n border-bottom-width: 0; }\\n .popover.top > .arrow:after {\\n bottom: 1px;\\n margin-left: -10px;\\n content: \\\" \\\";\\n border-top-color: #fff;\\n border-bottom-width: 0; }\\n .popover.right > .arrow {\\n top: 50%;\\n left: -11px;\\n margin-top: -11px;\\n border-right-color: #999999;\\n border-right-color: rgba(0, 0, 0, 0.25);\\n border-left-width: 0; }\\n .popover.right > .arrow:after {\\n bottom: -10px;\\n left: 1px;\\n content: \\\" \\\";\\n border-right-color: #fff;\\n border-left-width: 0; }\\n .popover.bottom > .arrow {\\n top: -11px;\\n left: 50%;\\n margin-left: -11px;\\n border-top-width: 0;\\n border-bottom-color: #999999;\\n border-bottom-color: rgba(0, 0, 0, 0.25); }\\n .popover.bottom > .arrow:after {\\n top: 1px;\\n margin-left: -10px;\\n content: \\\" \\\";\\n border-top-width: 0;\\n border-bottom-color: #fff; }\\n .popover.left > .arrow {\\n top: 50%;\\n right: -11px;\\n margin-top: -11px;\\n border-right-width: 0;\\n border-left-color: #999999;\\n border-left-color: rgba(0, 0, 0, 0.25); }\\n .popover.left > .arrow:after {\\n right: 1px;\\n bottom: -10px;\\n content: \\\" \\\";\\n border-right-width: 0;\\n border-left-color: #fff; }\\n\\n.popover-title {\\n padding: 8px 14px;\\n margin: 0;\\n font-size: 14px;\\n background-color: #f7f7f7;\\n border-bottom: 1px solid #ebebeb;\\n border-radius: 3px 3px 0 0; }\\n\\n.popover-content {\\n padding: 9px 14px; }\\n\\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\\n@media print {\\n *,\\n *:before,\\n *:after {\\n color: #000 !important;\\n text-shadow: none !important;\\n background: transparent !important;\\n box-shadow: none !important; }\\n a,\\n a:visited {\\n text-decoration: underline; }\\n a[href]:after {\\n content: \\\" (\\\" attr(href) \\\")\\\"; }\\n abbr[title]:after {\\n content: \\\" (\\\" attr(title) \\\")\\\"; }\\n a[href^=\\\"#\\\"]:after,\\n a[href^=\\\"javascript:\\\"]:after {\\n content: \\\"\\\"; }\\n pre,\\n blockquote {\\n border: 1px solid #999;\\n page-break-inside: avoid; }\\n thead {\\n display: table-header-group; }\\n tr,\\n img {\\n page-break-inside: avoid; }\\n img {\\n max-width: 100% !important; }\\n p,\\n h2,\\n h3 {\\n orphans: 3;\\n widows: 3; }\\n h2,\\n h3 {\\n page-break-after: avoid; }\\n .navbar {\\n display: none; }\\n .btn > .caret,\\n .dropup > .btn > .caret {\\n border-top-color: #000 !important; }\\n .label {\\n border: 1px solid #000; }\\n .table {\\n border-collapse: collapse !important; }\\n .table td,\\n .table th {\\n background-color: #fff !important; }\\n .table-bordered th,\\n .table-bordered td {\\n border: 1px solid #ddd !important; } }\\n\\n@-webkit-keyframes progress-bar-stripes {\\n from {\\n background-position: 40px 0; }\\n to {\\n background-position: 0 0; } }\\n\\n@keyframes progress-bar-stripes {\\n from {\\n background-position: 40px 0; }\\n to {\\n background-position: 0 0; } }\\n\\n.progress {\\n height: 20px;\\n margin-bottom: 20px;\\n overflow: hidden;\\n background-color: #f5f5f5;\\n border-radius: 0px;\\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); }\\n\\n.progress-bar {\\n float: left;\\n width: 0%;\\n height: 100%;\\n font-size: 12px;\\n line-height: 20px;\\n color: #fff;\\n text-align: center;\\n background-color: #6CC38B;\\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\\n transition: width 0.6s ease; }\\n\\n.progress-striped .progress-bar,\\n.progress-bar-striped {\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-size: 40px 40px; }\\n\\n.progress.active .progress-bar,\\n.progress-bar.active {\\n -webkit-animation: progress-bar-stripes 2s linear infinite;\\n animation: progress-bar-stripes 2s linear infinite; }\\n\\n.progress-bar-success {\\n background-color: #5cb85c; }\\n .progress-striped .progress-bar-success {\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\\n\\n.progress-bar-info {\\n background-color: #5bc0de; }\\n .progress-striped .progress-bar-info {\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\\n\\n.progress-bar-warning {\\n background-color: #f0ad4e; }\\n .progress-striped .progress-bar-warning {\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\\n\\n.progress-bar-danger {\\n background-color: #d9534f; }\\n .progress-striped .progress-bar-danger {\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\\n\\n.embed-responsive {\\n position: relative;\\n display: block;\\n height: 0;\\n padding: 0;\\n overflow: hidden; }\\n .embed-responsive .embed-responsive-item,\\n .embed-responsive iframe,\\n .embed-responsive embed,\\n .embed-responsive object,\\n .embed-responsive video {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: 0; }\\n\\n.embed-responsive-16by9 {\\n padding-bottom: 56.25%; }\\n\\n.embed-responsive-4by3 {\\n padding-bottom: 75%; }\\n\\n.visible-xs {\\n display: none !important; }\\n\\n.visible-sm {\\n display: none !important; }\\n\\n.visible-md {\\n display: none !important; }\\n\\n.visible-lg {\\n display: none !important; }\\n\\n.visible-xs-block,\\n.visible-xs-inline,\\n.visible-xs-inline-block,\\n.visible-sm-block,\\n.visible-sm-inline,\\n.visible-sm-inline-block,\\n.visible-md-block,\\n.visible-md-inline,\\n.visible-md-inline-block,\\n.visible-lg-block,\\n.visible-lg-inline,\\n.visible-lg-inline-block {\\n display: none !important; }\\n\\n@media (max-width: 799px) {\\n .visible-xs {\\n display: block !important; }\\n table.visible-xs {\\n display: table !important; }\\n tr.visible-xs {\\n display: table-row !important; }\\n th.visible-xs,\\n td.visible-xs {\\n display: table-cell !important; } }\\n\\n@media (max-width: 799px) {\\n .visible-xs-block {\\n display: block !important; } }\\n\\n@media (max-width: 799px) {\\n .visible-xs-inline {\\n display: inline !important; } }\\n\\n@media (max-width: 799px) {\\n .visible-xs-inline-block {\\n display: inline-block !important; } }\\n\\n@media (min-width: 800px) and (max-width: 1129px) {\\n .visible-sm {\\n display: block !important; }\\n table.visible-sm {\\n display: table !important; }\\n tr.visible-sm {\\n display: table-row !important; }\\n th.visible-sm,\\n td.visible-sm {\\n display: table-cell !important; } }\\n\\n@media (min-width: 800px) and (max-width: 1129px) {\\n .visible-sm-block {\\n display: block !important; } }\\n\\n@media (min-width: 800px) and (max-width: 1129px) {\\n .visible-sm-inline {\\n display: inline !important; } }\\n\\n@media (min-width: 800px) and (max-width: 1129px) {\\n .visible-sm-inline-block {\\n display: inline-block !important; } }\\n\\n@media (min-width: 1130px) and (max-width: 1199px) {\\n .visible-md {\\n display: block !important; }\\n table.visible-md {\\n display: table !important; }\\n tr.visible-md {\\n display: table-row !important; }\\n th.visible-md,\\n td.visible-md {\\n display: table-cell !important; } }\\n\\n@media (min-width: 1130px) and (max-width: 1199px) {\\n .visible-md-block {\\n display: block !important; } }\\n\\n@media (min-width: 1130px) and (max-width: 1199px) {\\n .visible-md-inline {\\n display: inline !important; } }\\n\\n@media (min-width: 1130px) and (max-width: 1199px) {\\n .visible-md-inline-block {\\n display: inline-block !important; } }\\n\\n@media (min-width: 1200px) {\\n .visible-lg {\\n display: block !important; }\\n table.visible-lg {\\n display: table !important; }\\n tr.visible-lg {\\n display: table-row !important; }\\n th.visible-lg,\\n td.visible-lg {\\n display: table-cell !important; } }\\n\\n@media (min-width: 1200px) {\\n .visible-lg-block {\\n display: block !important; } }\\n\\n@media (min-width: 1200px) {\\n .visible-lg-inline {\\n display: inline !important; } }\\n\\n@media (min-width: 1200px) {\\n .visible-lg-inline-block {\\n display: inline-block !important; } }\\n\\n@media (max-width: 799px) {\\n .hidden-xs {\\n display: none !important; } }\\n\\n@media (min-width: 800px) and (max-width: 1129px) {\\n .hidden-sm {\\n display: none !important; } }\\n\\n@media (min-width: 1130px) and (max-width: 1199px) {\\n .hidden-md {\\n display: none !important; } }\\n\\n@media (min-width: 1200px) {\\n .hidden-lg {\\n display: none !important; } }\\n\\n.visible-print {\\n display: none !important; }\\n\\n@media print {\\n .visible-print {\\n display: block !important; }\\n table.visible-print {\\n display: table !important; }\\n tr.visible-print {\\n display: table-row !important; }\\n th.visible-print,\\n td.visible-print {\\n display: table-cell !important; } }\\n\\n.visible-print-block {\\n display: none !important; }\\n @media print {\\n .visible-print-block {\\n display: block !important; } }\\n\\n.visible-print-inline {\\n display: none !important; }\\n @media print {\\n .visible-print-inline {\\n display: inline !important; } }\\n\\n.visible-print-inline-block {\\n display: none !important; }\\n @media print {\\n .visible-print-inline-block {\\n display: inline-block !important; } }\\n\\n@media print {\\n .hidden-print {\\n display: none !important; } }\\n\\n* {\\n box-sizing: border-box; }\\n\\n*:before,\\n*:after {\\n box-sizing: border-box; }\\n\\nhtml {\\n font-size: 10px;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n\\nbody {\\n font-family: \\\"Montserrat\\\", Arial, sans-serif;\\n font-size: 14px;\\n line-height: 1.42857;\\n color: #4c4c4c;\\n background-color: #ededed; }\\n\\ninput,\\nbutton,\\nselect,\\ntextarea {\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit; }\\n\\na {\\n color: #6CC38B;\\n text-decoration: none; }\\n a:hover, a:focus {\\n color: #42a164;\\n text-decoration: underline; }\\n a:focus {\\n outline: 5px auto -webkit-focus-ring-color;\\n outline-offset: -2px; }\\n\\nfigure {\\n margin: 0; }\\n\\nimg {\\n vertical-align: middle; }\\n\\n.img-responsive {\\n display: block;\\n max-width: 100%;\\n height: auto; }\\n\\n.img-rounded {\\n border-radius: 4px; }\\n\\n.img-thumbnail {\\n padding: 4px;\\n line-height: 1.42857;\\n background-color: #ededed;\\n border: 1px solid #ddd;\\n border-radius: 0px;\\n transition: all 0.2s ease-in-out;\\n display: inline-block;\\n max-width: 100%;\\n height: auto; }\\n\\n.img-circle {\\n border-radius: 50%; }\\n\\nhr {\\n margin-top: 20px;\\n margin-bottom: 20px;\\n border: 0;\\n border-top: 1px solid #ededed; }\\n\\n.sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0; }\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n position: static;\\n width: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n clip: auto; }\\n\\n[role=\\\"button\\\"] {\\n cursor: pointer; }\\n\\ntable {\\n background-color: transparent; }\\n table col[class*=\\\"col-\\\"] {\\n position: static;\\n display: table-column;\\n float: none; }\\n table td[class*=\\\"col-\\\"],\\n table th[class*=\\\"col-\\\"] {\\n position: static;\\n display: table-cell;\\n float: none; }\\n\\ncaption {\\n padding-top: 8px;\\n padding-bottom: 8px;\\n color: #777777;\\n text-align: left; }\\n\\nth {\\n text-align: left; }\\n\\n.table {\\n width: 100%;\\n max-width: 100%;\\n margin-bottom: 20px; }\\n .table > thead > tr > th,\\n .table > thead > tr > td,\\n .table > tbody > tr > th,\\n .table > tbody > tr > td,\\n .table > tfoot > tr > th,\\n .table > tfoot > tr > td {\\n padding: 8px;\\n line-height: 1.42857;\\n vertical-align: top;\\n border-top: 1px solid #ddd; }\\n .table > thead > tr > th {\\n vertical-align: bottom;\\n border-bottom: 2px solid #ddd; }\\n .table > caption + thead > tr:first-child > th,\\n .table > caption + thead > tr:first-child > td,\\n .table > colgroup + thead > tr:first-child > th,\\n .table > colgroup + thead > tr:first-child > td,\\n .table > thead:first-child > tr:first-child > th,\\n .table > thead:first-child > tr:first-child > td {\\n border-top: 0; }\\n .table > tbody + tbody {\\n border-top: 2px solid #ddd; }\\n .table .table {\\n background-color: #ededed; }\\n\\n.table-condensed > thead > tr > th,\\n.table-condensed > thead > tr > td,\\n.table-condensed > tbody > tr > th,\\n.table-condensed > tbody > tr > td,\\n.table-condensed > tfoot > tr > th,\\n.table-condensed > tfoot > tr > td {\\n padding: 5px; }\\n\\n.table-bordered {\\n border: 1px solid #ddd; }\\n .table-bordered > thead > tr > th,\\n .table-bordered > thead > tr > td,\\n .table-bordered > tbody > tr > th,\\n .table-bordered > tbody > tr > td,\\n .table-bordered > tfoot > tr > th,\\n .table-bordered > tfoot > tr > td {\\n border: 1px solid #ddd; }\\n .table-bordered > thead > tr > th,\\n .table-bordered > thead > tr > td {\\n border-bottom-width: 2px; }\\n\\n.table-striped > tbody > tr:nth-of-type(odd) {\\n background-color: #f9f9f9; }\\n\\n.table-hover > tbody > tr:hover {\\n background-color: #f5f5f5; }\\n\\n.table > thead > tr > td.active,\\n.table > thead > tr > th.active,\\n.table > thead > tr.active > td,\\n.table > thead > tr.active > th,\\n.table > tbody > tr > td.active,\\n.table > tbody > tr > th.active,\\n.table > tbody > tr.active > td,\\n.table > tbody > tr.active > th,\\n.table > tfoot > tr > td.active,\\n.table > tfoot > tr > th.active,\\n.table > tfoot > tr.active > td,\\n.table > tfoot > tr.active > th {\\n background-color: #f5f5f5; }\\n\\n.table-hover > tbody > tr > td.active:hover,\\n.table-hover > tbody > tr > th.active:hover,\\n.table-hover > tbody > tr.active:hover > td,\\n.table-hover > tbody > tr:hover > .active,\\n.table-hover > tbody > tr.active:hover > th {\\n background-color: #e8e8e8; }\\n\\n.table > thead > tr > td.success,\\n.table > thead > tr > th.success,\\n.table > thead > tr.success > td,\\n.table > thead > tr.success > th,\\n.table > tbody > tr > td.success,\\n.table > tbody > tr > th.success,\\n.table > tbody > tr.success > td,\\n.table > tbody > tr.success > th,\\n.table > tfoot > tr > td.success,\\n.table > tfoot > tr > th.success,\\n.table > tfoot > tr.success > td,\\n.table > tfoot > tr.success > th {\\n background-color: #dff0d8; }\\n\\n.table-hover > tbody > tr > td.success:hover,\\n.table-hover > tbody > tr > th.success:hover,\\n.table-hover > tbody > tr.success:hover > td,\\n.table-hover > tbody > tr:hover > .success,\\n.table-hover > tbody > tr.success:hover > th {\\n background-color: #d0e9c6; }\\n\\n.table > thead > tr > td.info,\\n.table > thead > tr > th.info,\\n.table > thead > tr.info > td,\\n.table > thead > tr.info > th,\\n.table > tbody > tr > td.info,\\n.table > tbody > tr > th.info,\\n.table > tbody > tr.info > td,\\n.table > tbody > tr.info > th,\\n.table > tfoot > tr > td.info,\\n.table > tfoot > tr > th.info,\\n.table > tfoot > tr.info > td,\\n.table > tfoot > tr.info > th {\\n background-color: #d9edf7; }\\n\\n.table-hover > tbody > tr > td.info:hover,\\n.table-hover > tbody > tr > th.info:hover,\\n.table-hover > tbody > tr.info:hover > td,\\n.table-hover > tbody > tr:hover > .info,\\n.table-hover > tbody > tr.info:hover > th {\\n background-color: #c4e3f3; }\\n\\n.table > thead > tr > td.warning,\\n.table > thead > tr > th.warning,\\n.table > thead > tr.warning > td,\\n.table > thead > tr.warning > th,\\n.table > tbody > tr > td.warning,\\n.table > tbody > tr > th.warning,\\n.table > tbody > tr.warning > td,\\n.table > tbody > tr.warning > th,\\n.table > tfoot > tr > td.warning,\\n.table > tfoot > tr > th.warning,\\n.table > tfoot > tr.warning > td,\\n.table > tfoot > tr.warning > th {\\n background-color: #fcf8e3; }\\n\\n.table-hover > tbody > tr > td.warning:hover,\\n.table-hover > tbody > tr > th.warning:hover,\\n.table-hover > tbody > tr.warning:hover > td,\\n.table-hover > tbody > tr:hover > .warning,\\n.table-hover > tbody > tr.warning:hover > th {\\n background-color: #faf2cc; }\\n\\n.table > thead > tr > td.danger,\\n.table > thead > tr > th.danger,\\n.table > thead > tr.danger > td,\\n.table > thead > tr.danger > th,\\n.table > tbody > tr > td.danger,\\n.table > tbody > tr > th.danger,\\n.table > tbody > tr.danger > td,\\n.table > tbody > tr.danger > th,\\n.table > tfoot > tr > td.danger,\\n.table > tfoot > tr > th.danger,\\n.table > tfoot > tr.danger > td,\\n.table > tfoot > tr.danger > th {\\n background-color: #f2dede; }\\n\\n.table-hover > tbody > tr > td.danger:hover,\\n.table-hover > tbody > tr > th.danger:hover,\\n.table-hover > tbody > tr.danger:hover > td,\\n.table-hover > tbody > tr:hover > .danger,\\n.table-hover > tbody > tr.danger:hover > th {\\n background-color: #ebcccc; }\\n\\n.table-responsive {\\n min-height: .01%;\\n overflow-x: auto; }\\n @media screen and (max-width: 799px) {\\n .table-responsive {\\n width: 100%;\\n margin-bottom: 15px;\\n overflow-y: hidden;\\n -ms-overflow-style: -ms-autohiding-scrollbar;\\n border: 1px solid #ddd; }\\n .table-responsive > .table {\\n margin-bottom: 0; }\\n .table-responsive > .table > thead > tr > th,\\n .table-responsive > .table > thead > tr > td,\\n .table-responsive > .table > tbody > tr > th,\\n .table-responsive > .table > tbody > tr > td,\\n .table-responsive > .table > tfoot > tr > th,\\n .table-responsive > .table > tfoot > tr > td {\\n white-space: nowrap; }\\n .table-responsive > .table-bordered {\\n border: 0; }\\n .table-responsive > .table-bordered > thead > tr > th:first-child,\\n .table-responsive > .table-bordered > thead > tr > td:first-child,\\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\\n border-left: 0; }\\n .table-responsive > .table-bordered > thead > tr > th:last-child,\\n .table-responsive > .table-bordered > thead > tr > td:last-child,\\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\\n border-right: 0; }\\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\\n border-bottom: 0; } }\\n\\n.thumbnail {\\n display: block;\\n padding: 4px;\\n margin-bottom: 20px;\\n line-height: 1.42857;\\n background-color: #ededed;\\n border: 1px solid #ddd;\\n border-radius: 0px;\\n transition: border 0.2s ease-in-out; }\\n .thumbnail > img,\\n .thumbnail a > img {\\n display: block;\\n max-width: 100%;\\n height: auto;\\n margin-right: auto;\\n margin-left: auto; }\\n .thumbnail .caption {\\n padding: 9px;\\n color: #4c4c4c; }\\n\\na.thumbnail:hover,\\na.thumbnail:focus,\\na.thumbnail.active {\\n border-color: #6CC38B; }\\n\\nh1, h2, h3, h4, h5, h6,\\n.h1, .h2, .h3, .h4, .h5, .h6 {\\n font-family: inherit;\\n font-weight: 500;\\n line-height: 1.1;\\n color: inherit; }\\n h1 small,\\n h1 .small, h2 small,\\n h2 .small, h3 small,\\n h3 .small, h4 small,\\n h4 .small, h5 small,\\n h5 .small, h6 small,\\n h6 .small,\\n .h1 small,\\n .h1 .small, .h2 small,\\n .h2 .small, .h3 small,\\n .h3 .small, .h4 small,\\n .h4 .small, .h5 small,\\n .h5 .small, .h6 small,\\n .h6 .small {\\n font-weight: 400;\\n line-height: 1;\\n color: #777777; }\\n\\nh1, .h1,\\nh2, .h2,\\nh3, .h3 {\\n margin-top: 20px;\\n margin-bottom: 10px; }\\n h1 small,\\n h1 .small, .h1 small,\\n .h1 .small,\\n h2 small,\\n h2 .small, .h2 small,\\n .h2 .small,\\n h3 small,\\n h3 .small, .h3 small,\\n .h3 .small {\\n font-size: 65%; }\\n\\nh4, .h4,\\nh5, .h5,\\nh6, .h6 {\\n margin-top: 10px;\\n margin-bottom: 10px; }\\n h4 small,\\n h4 .small, .h4 small,\\n .h4 .small,\\n h5 small,\\n h5 .small, .h5 small,\\n .h5 .small,\\n h6 small,\\n h6 .small, .h6 small,\\n .h6 .small {\\n font-size: 75%; }\\n\\nh1, .h1 {\\n font-size: 36px; }\\n\\nh2, .h2 {\\n font-size: 30px; }\\n\\nh3, .h3 {\\n font-size: 24px; }\\n\\nh4, .h4 {\\n font-size: 18px; }\\n\\nh5, .h5 {\\n font-size: 14px; }\\n\\nh6, .h6 {\\n font-size: 12px; }\\n\\np {\\n margin: 0 0 10px; }\\n\\n.lead {\\n margin-bottom: 20px;\\n font-size: 16px;\\n font-weight: 300;\\n line-height: 1.4; }\\n @media (min-width: 800px) {\\n .lead {\\n font-size: 21px; } }\\n\\nsmall,\\n.small {\\n font-size: 85%; }\\n\\nmark,\\n.mark {\\n padding: .2em;\\n background-color: #fcf8e3; }\\n\\n.text-left {\\n text-align: left; }\\n\\n.text-right {\\n text-align: right; }\\n\\n.text-center {\\n text-align: center; }\\n\\n.text-justify {\\n text-align: justify; }\\n\\n.text-nowrap {\\n white-space: nowrap; }\\n\\n.text-lowercase {\\n text-transform: lowercase; }\\n\\n.text-uppercase, .initialism {\\n text-transform: uppercase; }\\n\\n.text-capitalize {\\n text-transform: capitalize; }\\n\\n.text-muted {\\n color: #777777; }\\n\\n.text-primary {\\n color: #6CC38B; }\\n\\na.text-primary:hover,\\na.text-primary:focus {\\n color: #49b36f; }\\n\\n.text-success {\\n color: #3c763d; }\\n\\na.text-success:hover,\\na.text-success:focus {\\n color: #2b542c; }\\n\\n.text-info {\\n color: #31708f; }\\n\\na.text-info:hover,\\na.text-info:focus {\\n color: #245269; }\\n\\n.text-warning {\\n color: #8a6d3b; }\\n\\na.text-warning:hover,\\na.text-warning:focus {\\n color: #66512c; }\\n\\n.text-danger {\\n color: #a94442; }\\n\\na.text-danger:hover,\\na.text-danger:focus {\\n color: #843534; }\\n\\n.bg-primary {\\n color: #fff; }\\n\\n.bg-primary {\\n background-color: #6CC38B; }\\n\\na.bg-primary:hover,\\na.bg-primary:focus {\\n background-color: #49b36f; }\\n\\n.bg-success {\\n background-color: #dff0d8; }\\n\\na.bg-success:hover,\\na.bg-success:focus {\\n background-color: #c1e2b3; }\\n\\n.bg-info {\\n background-color: #d9edf7; }\\n\\na.bg-info:hover,\\na.bg-info:focus {\\n background-color: #afd9ee; }\\n\\n.bg-warning {\\n background-color: #fcf8e3; }\\n\\na.bg-warning:hover,\\na.bg-warning:focus {\\n background-color: #f7ecb5; }\\n\\n.bg-danger {\\n background-color: #f2dede; }\\n\\na.bg-danger:hover,\\na.bg-danger:focus {\\n background-color: #e4b9b9; }\\n\\n.page-header {\\n padding-bottom: 9px;\\n margin: 40px 0 20px;\\n border-bottom: 1px solid #ededed; }\\n\\nul,\\nol {\\n margin-top: 0;\\n margin-bottom: 10px; }\\n ul ul,\\n ul ol,\\n ol ul,\\n ol ol {\\n margin-bottom: 0; }\\n\\n.list-unstyled {\\n padding-left: 0;\\n list-style: none; }\\n\\n.list-inline {\\n padding-left: 0;\\n list-style: none;\\n margin-left: -5px; }\\n .list-inline > li {\\n display: inline-block;\\n padding-right: 5px;\\n padding-left: 5px; }\\n\\ndl {\\n margin-top: 0;\\n margin-bottom: 20px; }\\n\\ndt,\\ndd {\\n line-height: 1.42857; }\\n\\ndt {\\n font-weight: 700; }\\n\\ndd {\\n margin-left: 0; }\\n\\n.dl-horizontal dd:before, .dl-horizontal dd:after {\\n display: table;\\n content: \\\" \\\"; }\\n\\n.dl-horizontal dd:after {\\n clear: both; }\\n\\n@media (min-width: 800px) {\\n .dl-horizontal dt {\\n float: left;\\n width: 160px;\\n clear: left;\\n text-align: right;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap; }\\n .dl-horizontal dd {\\n margin-left: 180px; } }\\n\\nabbr[title],\\nabbr[data-original-title] {\\n cursor: help; }\\n\\n.initialism {\\n font-size: 90%; }\\n\\nblockquote {\\n padding: 10px 20px;\\n margin: 0 0 20px;\\n font-size: 17.5px;\\n border-left: 5px solid #ededed; }\\n blockquote p:last-child,\\n blockquote ul:last-child,\\n blockquote ol:last-child {\\n margin-bottom: 0; }\\n blockquote footer,\\n blockquote small,\\n blockquote .small {\\n display: block;\\n font-size: 80%;\\n line-height: 1.42857;\\n color: #777777; }\\n blockquote footer:before,\\n blockquote small:before,\\n blockquote .small:before {\\n content: \\\"\\\\2014 \\\\A0\\\"; }\\n\\n.blockquote-reverse,\\nblockquote.pull-right {\\n padding-right: 15px;\\n padding-left: 0;\\n text-align: right;\\n border-right: 5px solid #ededed;\\n border-left: 0; }\\n .blockquote-reverse footer:before,\\n .blockquote-reverse small:before,\\n .blockquote-reverse .small:before,\\n blockquote.pull-right footer:before,\\n blockquote.pull-right small:before,\\n blockquote.pull-right .small:before {\\n content: \\\"\\\"; }\\n .blockquote-reverse footer:after,\\n .blockquote-reverse small:after,\\n .blockquote-reverse .small:after,\\n blockquote.pull-right footer:after,\\n blockquote.pull-right small:after,\\n blockquote.pull-right .small:after {\\n content: \\\"\\\\A0 \\\\2014\\\"; }\\n\\naddress {\\n margin-bottom: 20px;\\n font-style: normal;\\n line-height: 1.42857; }\\n\\n.clearfix:before, .clearfix:after {\\n display: table;\\n content: \\\" \\\"; }\\n\\n.clearfix:after {\\n clear: both; }\\n\\n.center-block {\\n display: block;\\n margin-right: auto;\\n margin-left: auto; }\\n\\n.pull-right {\\n float: right !important; }\\n\\n.pull-left {\\n float: left !important; }\\n\\n.hide {\\n display: none !important; }\\n\\n.show {\\n display: block !important; }\\n\\n.invisible {\\n visibility: hidden; }\\n\\n.text-hide {\\n font: 0/0 a;\\n color: transparent;\\n text-shadow: none;\\n background-color: transparent;\\n border: 0; }\\n\\n.hidden {\\n display: none !important; }\\n\\n.affix {\\n position: fixed; }\\n\\n.well {\\n min-height: 20px;\\n padding: 19px;\\n margin-bottom: 20px;\\n background-color: #f5f5f5;\\n border: 1px solid #e3e3e3;\\n border-radius: 0px;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }\\n .well blockquote {\\n border-color: #ddd;\\n border-color: rgba(0, 0, 0, 0.15); }\\n\\n.well-lg {\\n padding: 24px;\\n border-radius: 4px; }\\n\\n.well-sm {\\n padding: 9px;\\n border-radius: 2px; }\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \":root {\\n --primary: #6CC38B;\\n --secondary: #011542;\\n --primaryv2: #56DC92;\\n --breadcrumb-bg: #011542;\\n --metric-active-bg: #56DC92; }\\n\\n.alignment-container {\\n display: table;\\n height: 100%;\\n margin: 0 auto; }\\n .alignment-container .container {\\n display: table-cell;\\n vertical-align: middle; }\\n\\n/*!\\r\\n * Bootstrap v3.3.6 (http://getbootstrap.com)\\r\\n * Copyright 2011-2015 Twitter, Inc.\\r\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\r\\n */\\n.thumbnail,\\n.img-thumbnail {\\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); }\\n\\n.dropdown-menu > li > a:hover,\\n.dropdown-menu > li > a:focus {\\n background-image: linear-gradient(to bottom, #ededed 0%, #e0e0e0 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEDEDED', endColorstr='#FFE0E0E0', GradientType=0);\\n background-color: #e0e0e0; }\\n\\n.dropdown-menu > .active > a,\\n.dropdown-menu > .active > a:hover,\\n.dropdown-menu > .active > a:focus {\\n background-image: linear-gradient(to bottom, #6CC38B 0%, #5abc7d 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF6CC38B', endColorstr='#FF5ABC7D', GradientType=0);\\n background-color: #5abc7d; }\\n\\n.navbar-default {\\n background-image: linear-gradient(to bottom, white 0%, #f8f8f8 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF8F8F8', GradientType=0);\\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\\n border-radius: 0px;\\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); }\\n .navbar-default .navbar-nav > .open > a,\\n .navbar-default .navbar-nav > .active > a {\\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFDBDBDB', endColorstr='#FFE2E2E2', GradientType=0);\\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); }\\n\\n.navbar-brand,\\n.navbar-nav > li > a {\\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); }\\n\\n.navbar-inverse {\\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3C3C3C', endColorstr='#FF222222', GradientType=0);\\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\\n border-radius: 0px; }\\n .navbar-inverse .navbar-nav > .open > a,\\n .navbar-inverse .navbar-nav > .active > a {\\n background-image: linear-gradient(to bottom, #090909 0%, #0f0f0f 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF090909', endColorstr='#FF0F0F0F', GradientType=0);\\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); }\\n .navbar-inverse .navbar-brand,\\n .navbar-inverse .navbar-nav > li > a {\\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }\\n\\n.navbar-static-top,\\n.navbar-fixed-top,\\n.navbar-fixed-bottom {\\n border-radius: 0; }\\n\\n@media (max-width: 799px) {\\n .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\\n color: #fff;\\n background-image: linear-gradient(to bottom, #6CC38B 0%, #5abc7d 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF6CC38B', endColorstr='#FF5ABC7D', GradientType=0); } }\\n\\n.alert {\\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); }\\n\\n.alert-success {\\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFDFF0D8', endColorstr='#FFC8E5BC', GradientType=0);\\n border-color: #b2dba1; }\\n\\n.alert-info {\\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9EDF7', endColorstr='#FFB9DEF0', GradientType=0);\\n border-color: #9acfea; }\\n\\n.alert-warning {\\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFCF8E3', endColorstr='#FFF8EFC0', GradientType=0);\\n border-color: #f5e79e; }\\n\\n.alert-danger {\\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF2DEDE', endColorstr='#FFE7C3C3', GradientType=0);\\n border-color: #dca7a7; }\\n\\n.progress {\\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEBEBEB', endColorstr='#FFF5F5F5', GradientType=0); }\\n\\n.progress-bar {\\n background-image: linear-gradient(to bottom, #6CC38B 0%, #49b36f 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF6CC38B', endColorstr='#FF49B36F', GradientType=0); }\\n\\n.progress-bar-success {\\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5CB85C', endColorstr='#FF449D44', GradientType=0); }\\n\\n.progress-bar-info {\\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF31B0D5', GradientType=0); }\\n\\n.progress-bar-warning {\\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF0AD4E', endColorstr='#FFEC971F', GradientType=0); }\\n\\n.progress-bar-danger {\\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9534F', endColorstr='#FFC9302C', GradientType=0); }\\n\\n.progress-bar-striped {\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\\n\\n.list-group {\\n border-radius: 0px;\\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); }\\n\\n.list-group-item.active,\\n.list-group-item.active:hover,\\n.list-group-item.active:focus {\\n text-shadow: 0 -1px 0 #49b36f;\\n background-image: linear-gradient(to bottom, #6CC38B 0%, #51b876 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF6CC38B', endColorstr='#FF51B876', GradientType=0);\\n border-color: #51b876; }\\n .list-group-item.active .badge,\\n .list-group-item.active:hover .badge,\\n .list-group-item.active:focus .badge {\\n text-shadow: none; }\\n\\n.well {\\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFE8E8E8', endColorstr='#FFF5F5F5', GradientType=0);\\n border-color: gainsboro;\\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); }\\n\\n/* px-1: Padding of 0.25rem on both left and right */\\n.px-1 {\\n padding-right: 0.25rem !important;\\n padding-left: 0.25rem !important; }\\n\\n/* px-2: Padding of 0.5rem on both left and right */\\n.px-2 {\\n padding-right: 0.5rem !important;\\n padding-left: 0.5rem !important; }\\n\\n/* px-3: Padding of 1rem on both left and right */\\n.px-3 {\\n padding-right: 1rem !important;\\n padding-left: 1rem !important; }\\n\\n/* px-4: Padding of 1.5rem on both left and right */\\n.px-4 {\\n padding-right: 1.5rem !important;\\n padding-left: 1.5rem !important; }\\n\\n/* mx-1: Margin of 0.25rem on both left and right */\\n.mx-1 {\\n margin-right: 0.25rem !important;\\n margin-left: 0.25rem !important; }\\n\\n/* mx-2: Margin of 0.5rem on both left and right */\\n.mx-2 {\\n margin-right: 0.5rem !important;\\n margin-left: 0.5rem !important; }\\n\\n/* mx-3: Margin of 1rem on both left and right */\\n.mx-3 {\\n margin-right: 1rem !important;\\n margin-left: 1rem !important; }\\n\\n/* mx-4: Margin of 1.5rem on both left and right */\\n.mx-4 {\\n margin-right: 1.5rem !important;\\n margin-left: 1.5rem !important; }\\n\\n.mr-4 {\\n margin-right: 1.5rem !important; }\\n\\n.ml-4 {\\n margin-right: 1.5rem !important; }\\n\\n.mb-4 {\\n margin-bottom: 1.5rem !important; }\\n\\n.k-pager-numbers .k-link {\\n color: #4c4c4c; }\\n\\n.k-pager-wrap {\\n border: none;\\n border-top: 1px solid #d9d9d9; }\\n\\n.k-calendar .k-header {\\n background-color: #6CC38B;\\n background-color: var(--primary); }\\n .k-calendar .k-header .k-link {\\n color: #fff;\\n border-radius: 0; }\\n .k-calendar .k-header .k-link:hover {\\n background: #6CC38B;\\n background: var(--primary); }\\n\\n.k-calendar .k-content td {\\n border-radius: 0; }\\n\\n.k-calendar td.k-state-selected {\\n background-color: #4c4c4c;\\n color: #fff;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .k-calendar td.k-state-selected:hover {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n color: #fff; }\\n\\n.k-grid,\\n.k-pager-numbers {\\n border: none; }\\n .k-grid.grid-border,\\n .k-pager-numbers.grid-border {\\n border: 1px solid #e6e6e6; }\\n .k-grid .k-state-selected,\\n .k-pager-numbers .k-state-selected {\\n color: #6CC38B;\\n color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n\\n.k-button {\\n white-space: nowrap; }\\n .k-button:hover {\\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.15); }\\n\\ntable.k-editor {\\n border-color: #b8b3b0; }\\n table.k-editor.k-header {\\n background-color: #ededed; }\\n table.k-editor .k-editable-area {\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\\n\\n.k-list > .k-state-selected.k-state-focused {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.k-loading-image {\\n background-image: url(\\\"/dist/theme/images/ripple.gif\\\");\\n background-color: #fff;\\n opacity: .5; }\\n\\n/*!\\r\\n * animate.css -http://daneden.me/animate\\r\\n * Version - 3.5.1\\r\\n * Licensed under the MIT license - http://opensource.org/licenses/MIT\\r\\n *\\r\\n * Copyright (c) 2016 Daniel Eden\\r\\n */\\n.animated {\\n -webkit-animation-duration: 1s;\\n animation-duration: 1s;\\n -webkit-animation-fill-mode: both;\\n animation-fill-mode: both; }\\n\\n.animated.infinite {\\n -webkit-animation-iteration-count: infinite;\\n animation-iteration-count: infinite; }\\n\\n.animated.hinge {\\n -webkit-animation-duration: 2s;\\n animation-duration: 2s; }\\n\\n.animated.flipOutX,\\n.animated.flipOutY,\\n.animated.bounceIn,\\n.animated.bounceOut {\\n -webkit-animation-duration: .75s;\\n animation-duration: .75s; }\\n\\n@-webkit-keyframes bounce {\\n from, 20%, 53%, 80%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n transform: translate3d(0, 0, 0); }\\n 40%, 43% {\\n -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n transform: translate3d(0, -30px, 0); }\\n 70% {\\n -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n transform: translate3d(0, -15px, 0); }\\n 90% {\\n transform: translate3d(0, -4px, 0); } }\\n\\n@keyframes bounce {\\n from, 20%, 53%, 80%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n transform: translate3d(0, 0, 0); }\\n 40%, 43% {\\n -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n transform: translate3d(0, -30px, 0); }\\n 70% {\\n -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n transform: translate3d(0, -15px, 0); }\\n 90% {\\n transform: translate3d(0, -4px, 0); } }\\n\\n.bounce {\\n -webkit-animation-name: bounce;\\n animation-name: bounce;\\n transform-origin: center bottom; }\\n\\n@-webkit-keyframes flash {\\n from, 50%, to {\\n opacity: 1; }\\n 25%, 75% {\\n opacity: 0; } }\\n\\n@keyframes flash {\\n from, 50%, to {\\n opacity: 1; }\\n 25%, 75% {\\n opacity: 0; } }\\n\\n.flash {\\n -webkit-animation-name: flash;\\n animation-name: flash; }\\n\\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\\n@-webkit-keyframes pulse {\\n from {\\n transform: scale3d(1, 1, 1); }\\n 50% {\\n transform: scale3d(1.05, 1.05, 1.05); }\\n to {\\n transform: scale3d(1, 1, 1); } }\\n\\n@keyframes pulse {\\n from {\\n transform: scale3d(1, 1, 1); }\\n 50% {\\n transform: scale3d(1.05, 1.05, 1.05); }\\n to {\\n transform: scale3d(1, 1, 1); } }\\n\\n.pulse {\\n -webkit-animation-name: pulse;\\n animation-name: pulse; }\\n\\n@-webkit-keyframes rubberBand {\\n from {\\n transform: scale3d(1, 1, 1); }\\n 30% {\\n transform: scale3d(1.25, 0.75, 1); }\\n 40% {\\n transform: scale3d(0.75, 1.25, 1); }\\n 50% {\\n transform: scale3d(1.15, 0.85, 1); }\\n 65% {\\n transform: scale3d(0.95, 1.05, 1); }\\n 75% {\\n transform: scale3d(1.05, 0.95, 1); }\\n to {\\n transform: scale3d(1, 1, 1); } }\\n\\n@keyframes rubberBand {\\n from {\\n transform: scale3d(1, 1, 1); }\\n 30% {\\n transform: scale3d(1.25, 0.75, 1); }\\n 40% {\\n transform: scale3d(0.75, 1.25, 1); }\\n 50% {\\n transform: scale3d(1.15, 0.85, 1); }\\n 65% {\\n transform: scale3d(0.95, 1.05, 1); }\\n 75% {\\n transform: scale3d(1.05, 0.95, 1); }\\n to {\\n transform: scale3d(1, 1, 1); } }\\n\\n.rubberBand {\\n -webkit-animation-name: rubberBand;\\n animation-name: rubberBand; }\\n\\n@-webkit-keyframes shake {\\n from, to {\\n transform: translate3d(0, 0, 0); }\\n 10%, 30%, 50%, 70%, 90% {\\n transform: translate3d(-10px, 0, 0); }\\n 20%, 40%, 60%, 80% {\\n transform: translate3d(10px, 0, 0); } }\\n\\n@keyframes shake {\\n from, to {\\n transform: translate3d(0, 0, 0); }\\n 10%, 30%, 50%, 70%, 90% {\\n transform: translate3d(-10px, 0, 0); }\\n 20%, 40%, 60%, 80% {\\n transform: translate3d(10px, 0, 0); } }\\n\\n.shake {\\n -webkit-animation-name: shake;\\n animation-name: shake; }\\n\\n@-webkit-keyframes headShake {\\n 0% {\\n transform: translateX(0); }\\n 6.5% {\\n transform: translateX(-6px) rotateY(-9deg); }\\n 18.5% {\\n transform: translateX(5px) rotateY(7deg); }\\n 31.5% {\\n transform: translateX(-3px) rotateY(-5deg); }\\n 43.5% {\\n transform: translateX(2px) rotateY(3deg); }\\n 50% {\\n transform: translateX(0); } }\\n\\n@keyframes headShake {\\n 0% {\\n transform: translateX(0); }\\n 6.5% {\\n transform: translateX(-6px) rotateY(-9deg); }\\n 18.5% {\\n transform: translateX(5px) rotateY(7deg); }\\n 31.5% {\\n transform: translateX(-3px) rotateY(-5deg); }\\n 43.5% {\\n transform: translateX(2px) rotateY(3deg); }\\n 50% {\\n transform: translateX(0); } }\\n\\n.headShake {\\n -webkit-animation-timing-function: ease-in-out;\\n animation-timing-function: ease-in-out;\\n -webkit-animation-name: headShake;\\n animation-name: headShake; }\\n\\n@-webkit-keyframes swing {\\n 20% {\\n transform: rotate3d(0, 0, 1, 15deg); }\\n 40% {\\n transform: rotate3d(0, 0, 1, -10deg); }\\n 60% {\\n transform: rotate3d(0, 0, 1, 5deg); }\\n 80% {\\n transform: rotate3d(0, 0, 1, -5deg); }\\n to {\\n transform: rotate3d(0, 0, 1, 0deg); } }\\n\\n@keyframes swing {\\n 20% {\\n transform: rotate3d(0, 0, 1, 15deg); }\\n 40% {\\n transform: rotate3d(0, 0, 1, -10deg); }\\n 60% {\\n transform: rotate3d(0, 0, 1, 5deg); }\\n 80% {\\n transform: rotate3d(0, 0, 1, -5deg); }\\n to {\\n transform: rotate3d(0, 0, 1, 0deg); } }\\n\\n.swing {\\n transform-origin: top center;\\n -webkit-animation-name: swing;\\n animation-name: swing; }\\n\\n@-webkit-keyframes tada {\\n from {\\n transform: scale3d(1, 1, 1); }\\n 10%, 20% {\\n transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }\\n 30%, 50%, 70%, 90% {\\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }\\n 40%, 60%, 80% {\\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }\\n to {\\n transform: scale3d(1, 1, 1); } }\\n\\n@keyframes tada {\\n from {\\n transform: scale3d(1, 1, 1); }\\n 10%, 20% {\\n transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }\\n 30%, 50%, 70%, 90% {\\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }\\n 40%, 60%, 80% {\\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }\\n to {\\n transform: scale3d(1, 1, 1); } }\\n\\n.tada {\\n -webkit-animation-name: tada;\\n animation-name: tada; }\\n\\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\\n@-webkit-keyframes wobble {\\n from {\\n transform: none; }\\n 15% {\\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }\\n 30% {\\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }\\n 45% {\\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }\\n 60% {\\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }\\n 75% {\\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }\\n to {\\n transform: none; } }\\n\\n@keyframes wobble {\\n from {\\n transform: none; }\\n 15% {\\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }\\n 30% {\\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }\\n 45% {\\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }\\n 60% {\\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }\\n 75% {\\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }\\n to {\\n transform: none; } }\\n\\n.wobble {\\n -webkit-animation-name: wobble;\\n animation-name: wobble; }\\n\\n@-webkit-keyframes jello {\\n from, 11.1%, to {\\n transform: none; }\\n 22.2% {\\n transform: skewX(-12.5deg) skewY(-12.5deg); }\\n 33.3% {\\n transform: skewX(6.25deg) skewY(6.25deg); }\\n 44.4% {\\n transform: skewX(-3.125deg) skewY(-3.125deg); }\\n 55.5% {\\n transform: skewX(1.5625deg) skewY(1.5625deg); }\\n 66.6% {\\n transform: skewX(-0.78125deg) skewY(-0.78125deg); }\\n 77.7% {\\n transform: skewX(0.39063deg) skewY(0.39063deg); }\\n 88.8% {\\n transform: skewX(-0.19531deg) skewY(-0.19531deg); } }\\n\\n@keyframes jello {\\n from, 11.1%, to {\\n transform: none; }\\n 22.2% {\\n transform: skewX(-12.5deg) skewY(-12.5deg); }\\n 33.3% {\\n transform: skewX(6.25deg) skewY(6.25deg); }\\n 44.4% {\\n transform: skewX(-3.125deg) skewY(-3.125deg); }\\n 55.5% {\\n transform: skewX(1.5625deg) skewY(1.5625deg); }\\n 66.6% {\\n transform: skewX(-0.78125deg) skewY(-0.78125deg); }\\n 77.7% {\\n transform: skewX(0.39063deg) skewY(0.39063deg); }\\n 88.8% {\\n transform: skewX(-0.19531deg) skewY(-0.19531deg); } }\\n\\n.jello {\\n -webkit-animation-name: jello;\\n animation-name: jello;\\n transform-origin: center; }\\n\\n@-webkit-keyframes bounceIn {\\n from, 20%, 40%, 60%, 80%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n 0% {\\n opacity: 0;\\n transform: scale3d(0.3, 0.3, 0.3); }\\n 20% {\\n transform: scale3d(1.1, 1.1, 1.1); }\\n 40% {\\n transform: scale3d(0.9, 0.9, 0.9); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(1.03, 1.03, 1.03); }\\n 80% {\\n transform: scale3d(0.97, 0.97, 0.97); }\\n to {\\n opacity: 1;\\n transform: scale3d(1, 1, 1); } }\\n\\n@keyframes bounceIn {\\n from, 20%, 40%, 60%, 80%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n 0% {\\n opacity: 0;\\n transform: scale3d(0.3, 0.3, 0.3); }\\n 20% {\\n transform: scale3d(1.1, 1.1, 1.1); }\\n 40% {\\n transform: scale3d(0.9, 0.9, 0.9); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(1.03, 1.03, 1.03); }\\n 80% {\\n transform: scale3d(0.97, 0.97, 0.97); }\\n to {\\n opacity: 1;\\n transform: scale3d(1, 1, 1); } }\\n\\n.bounceIn {\\n -webkit-animation-name: bounceIn;\\n animation-name: bounceIn; }\\n\\n@-webkit-keyframes bounceInDown {\\n from, 60%, 75%, 90%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n 0% {\\n opacity: 0;\\n transform: translate3d(0, -3000px, 0); }\\n 60% {\\n opacity: 1;\\n transform: translate3d(0, 25px, 0); }\\n 75% {\\n transform: translate3d(0, -10px, 0); }\\n 90% {\\n transform: translate3d(0, 5px, 0); }\\n to {\\n transform: none; } }\\n\\n@keyframes bounceInDown {\\n from, 60%, 75%, 90%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n 0% {\\n opacity: 0;\\n transform: translate3d(0, -3000px, 0); }\\n 60% {\\n opacity: 1;\\n transform: translate3d(0, 25px, 0); }\\n 75% {\\n transform: translate3d(0, -10px, 0); }\\n 90% {\\n transform: translate3d(0, 5px, 0); }\\n to {\\n transform: none; } }\\n\\n.bounceInDown {\\n -webkit-animation-name: bounceInDown;\\n animation-name: bounceInDown; }\\n\\n@-webkit-keyframes bounceInLeft {\\n from, 60%, 75%, 90%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n 0% {\\n opacity: 0;\\n transform: translate3d(-3000px, 0, 0); }\\n 60% {\\n opacity: 1;\\n transform: translate3d(25px, 0, 0); }\\n 75% {\\n transform: translate3d(-10px, 0, 0); }\\n 90% {\\n transform: translate3d(5px, 0, 0); }\\n to {\\n transform: none; } }\\n\\n@keyframes bounceInLeft {\\n from, 60%, 75%, 90%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n 0% {\\n opacity: 0;\\n transform: translate3d(-3000px, 0, 0); }\\n 60% {\\n opacity: 1;\\n transform: translate3d(25px, 0, 0); }\\n 75% {\\n transform: translate3d(-10px, 0, 0); }\\n 90% {\\n transform: translate3d(5px, 0, 0); }\\n to {\\n transform: none; } }\\n\\n.bounceInLeft {\\n -webkit-animation-name: bounceInLeft;\\n animation-name: bounceInLeft; }\\n\\n@-webkit-keyframes bounceInRight {\\n from, 60%, 75%, 90%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n from {\\n opacity: 0;\\n transform: translate3d(3000px, 0, 0); }\\n 60% {\\n opacity: 1;\\n transform: translate3d(-25px, 0, 0); }\\n 75% {\\n transform: translate3d(10px, 0, 0); }\\n 90% {\\n transform: translate3d(-5px, 0, 0); }\\n to {\\n transform: none; } }\\n\\n@keyframes bounceInRight {\\n from, 60%, 75%, 90%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n from {\\n opacity: 0;\\n transform: translate3d(3000px, 0, 0); }\\n 60% {\\n opacity: 1;\\n transform: translate3d(-25px, 0, 0); }\\n 75% {\\n transform: translate3d(10px, 0, 0); }\\n 90% {\\n transform: translate3d(-5px, 0, 0); }\\n to {\\n transform: none; } }\\n\\n.bounceInRight {\\n -webkit-animation-name: bounceInRight;\\n animation-name: bounceInRight; }\\n\\n@-webkit-keyframes bounceInUp {\\n from, 60%, 75%, 90%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n from {\\n opacity: 0;\\n transform: translate3d(0, 3000px, 0); }\\n 60% {\\n opacity: 1;\\n transform: translate3d(0, -20px, 0); }\\n 75% {\\n transform: translate3d(0, 10px, 0); }\\n 90% {\\n transform: translate3d(0, -5px, 0); }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n@keyframes bounceInUp {\\n from, 60%, 75%, 90%, to {\\n -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n from {\\n opacity: 0;\\n transform: translate3d(0, 3000px, 0); }\\n 60% {\\n opacity: 1;\\n transform: translate3d(0, -20px, 0); }\\n 75% {\\n transform: translate3d(0, 10px, 0); }\\n 90% {\\n transform: translate3d(0, -5px, 0); }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n.bounceInUp {\\n -webkit-animation-name: bounceInUp;\\n animation-name: bounceInUp; }\\n\\n@-webkit-keyframes bounceOut {\\n 20% {\\n transform: scale3d(0.9, 0.9, 0.9); }\\n 50%, 55% {\\n opacity: 1;\\n transform: scale3d(1.1, 1.1, 1.1); }\\n to {\\n opacity: 0;\\n transform: scale3d(0.3, 0.3, 0.3); } }\\n\\n@keyframes bounceOut {\\n 20% {\\n transform: scale3d(0.9, 0.9, 0.9); }\\n 50%, 55% {\\n opacity: 1;\\n transform: scale3d(1.1, 1.1, 1.1); }\\n to {\\n opacity: 0;\\n transform: scale3d(0.3, 0.3, 0.3); } }\\n\\n.bounceOut {\\n -webkit-animation-name: bounceOut;\\n animation-name: bounceOut; }\\n\\n@-webkit-keyframes bounceOutDown {\\n 20% {\\n transform: translate3d(0, 10px, 0); }\\n 40%, 45% {\\n opacity: 1;\\n transform: translate3d(0, -20px, 0); }\\n to {\\n opacity: 0;\\n transform: translate3d(0, 2000px, 0); } }\\n\\n@keyframes bounceOutDown {\\n 20% {\\n transform: translate3d(0, 10px, 0); }\\n 40%, 45% {\\n opacity: 1;\\n transform: translate3d(0, -20px, 0); }\\n to {\\n opacity: 0;\\n transform: translate3d(0, 2000px, 0); } }\\n\\n.bounceOutDown {\\n -webkit-animation-name: bounceOutDown;\\n animation-name: bounceOutDown; }\\n\\n@-webkit-keyframes bounceOutLeft {\\n 20% {\\n opacity: 1;\\n transform: translate3d(20px, 0, 0); }\\n to {\\n opacity: 0;\\n transform: translate3d(-2000px, 0, 0); } }\\n\\n@keyframes bounceOutLeft {\\n 20% {\\n opacity: 1;\\n transform: translate3d(20px, 0, 0); }\\n to {\\n opacity: 0;\\n transform: translate3d(-2000px, 0, 0); } }\\n\\n.bounceOutLeft {\\n -webkit-animation-name: bounceOutLeft;\\n animation-name: bounceOutLeft; }\\n\\n@-webkit-keyframes bounceOutRight {\\n 20% {\\n opacity: 1;\\n transform: translate3d(-20px, 0, 0); }\\n to {\\n opacity: 0;\\n transform: translate3d(2000px, 0, 0); } }\\n\\n@keyframes bounceOutRight {\\n 20% {\\n opacity: 1;\\n transform: translate3d(-20px, 0, 0); }\\n to {\\n opacity: 0;\\n transform: translate3d(2000px, 0, 0); } }\\n\\n.bounceOutRight {\\n -webkit-animation-name: bounceOutRight;\\n animation-name: bounceOutRight; }\\n\\n@-webkit-keyframes bounceOutUp {\\n 20% {\\n transform: translate3d(0, -10px, 0); }\\n 40%, 45% {\\n opacity: 1;\\n transform: translate3d(0, 20px, 0); }\\n to {\\n opacity: 0;\\n transform: translate3d(0, -2000px, 0); } }\\n\\n@keyframes bounceOutUp {\\n 20% {\\n transform: translate3d(0, -10px, 0); }\\n 40%, 45% {\\n opacity: 1;\\n transform: translate3d(0, 20px, 0); }\\n to {\\n opacity: 0;\\n transform: translate3d(0, -2000px, 0); } }\\n\\n.bounceOutUp {\\n -webkit-animation-name: bounceOutUp;\\n animation-name: bounceOutUp; }\\n\\n@-webkit-keyframes fadeIn {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n\\n.fadeIn {\\n -webkit-animation-name: fadeIn;\\n animation-name: fadeIn; }\\n\\n@-webkit-keyframes fadeInDown {\\n from {\\n opacity: 0;\\n transform: translate3d(0, -100%, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes fadeInDown {\\n from {\\n opacity: 0;\\n transform: translate3d(0, -100%, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n.fadeInDown {\\n -webkit-animation-name: fadeInDown;\\n animation-name: fadeInDown; }\\n\\n@-webkit-keyframes fadeInDownBig {\\n from {\\n opacity: 0;\\n transform: translate3d(0, -2000px, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes fadeInDownBig {\\n from {\\n opacity: 0;\\n transform: translate3d(0, -2000px, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n.fadeInDownBig {\\n -webkit-animation-name: fadeInDownBig;\\n animation-name: fadeInDownBig; }\\n\\n@-webkit-keyframes fadeInLeft {\\n from {\\n opacity: 0;\\n transform: translate3d(-100%, 0, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes fadeInLeft {\\n from {\\n opacity: 0;\\n transform: translate3d(-100%, 0, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n.fadeInLeft {\\n -webkit-animation-name: fadeInLeft;\\n animation-name: fadeInLeft; }\\n\\n@-webkit-keyframes fadeInLeftBig {\\n from {\\n opacity: 0;\\n transform: translate3d(-2000px, 0, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes fadeInLeftBig {\\n from {\\n opacity: 0;\\n transform: translate3d(-2000px, 0, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n.fadeInLeftBig {\\n -webkit-animation-name: fadeInLeftBig;\\n animation-name: fadeInLeftBig; }\\n\\n@-webkit-keyframes fadeInRight {\\n from {\\n opacity: 0;\\n transform: translate3d(100%, 0, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes fadeInRight {\\n from {\\n opacity: 0;\\n transform: translate3d(100%, 0, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n.fadeInRight {\\n -webkit-animation-name: fadeInRight;\\n animation-name: fadeInRight; }\\n\\n@-webkit-keyframes fadeInRightBig {\\n from {\\n opacity: 0;\\n transform: translate3d(2000px, 0, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes fadeInRightBig {\\n from {\\n opacity: 0;\\n transform: translate3d(2000px, 0, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n.fadeInRightBig {\\n -webkit-animation-name: fadeInRightBig;\\n animation-name: fadeInRightBig; }\\n\\n@-webkit-keyframes fadeInUp {\\n from {\\n opacity: 0;\\n transform: translate3d(0, 100%, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes fadeInUp {\\n from {\\n opacity: 0;\\n transform: translate3d(0, 100%, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n.fadeInUp {\\n -webkit-animation-name: fadeInUp;\\n animation-name: fadeInUp; }\\n\\n@-webkit-keyframes fadeInUpBig {\\n from {\\n opacity: 0;\\n transform: translate3d(0, 2000px, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes fadeInUpBig {\\n from {\\n opacity: 0;\\n transform: translate3d(0, 2000px, 0); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n.fadeInUpBig {\\n -webkit-animation-name: fadeInUpBig;\\n animation-name: fadeInUpBig; }\\n\\n@-webkit-keyframes fadeOut {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0; } }\\n\\n@keyframes fadeOut {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0; } }\\n\\n.fadeOut {\\n -webkit-animation-name: fadeOut;\\n animation-name: fadeOut; }\\n\\n@-webkit-keyframes fadeOutDown {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(0, 100%, 0); } }\\n\\n@keyframes fadeOutDown {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(0, 100%, 0); } }\\n\\n.fadeOutDown {\\n -webkit-animation-name: fadeOutDown;\\n animation-name: fadeOutDown; }\\n\\n@-webkit-keyframes fadeOutDownBig {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(0, 2000px, 0); } }\\n\\n@keyframes fadeOutDownBig {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(0, 2000px, 0); } }\\n\\n.fadeOutDownBig {\\n -webkit-animation-name: fadeOutDownBig;\\n animation-name: fadeOutDownBig; }\\n\\n@-webkit-keyframes fadeOutLeft {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(-100%, 0, 0); } }\\n\\n@keyframes fadeOutLeft {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(-100%, 0, 0); } }\\n\\n.fadeOutLeft {\\n -webkit-animation-name: fadeOutLeft;\\n animation-name: fadeOutLeft; }\\n\\n@-webkit-keyframes fadeOutLeftBig {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(-2000px, 0, 0); } }\\n\\n@keyframes fadeOutLeftBig {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(-2000px, 0, 0); } }\\n\\n.fadeOutLeftBig {\\n -webkit-animation-name: fadeOutLeftBig;\\n animation-name: fadeOutLeftBig; }\\n\\n@-webkit-keyframes fadeOutRight {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(100%, 0, 0); } }\\n\\n@keyframes fadeOutRight {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(100%, 0, 0); } }\\n\\n.fadeOutRight {\\n -webkit-animation-name: fadeOutRight;\\n animation-name: fadeOutRight; }\\n\\n@-webkit-keyframes fadeOutRightBig {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(2000px, 0, 0); } }\\n\\n@keyframes fadeOutRightBig {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(2000px, 0, 0); } }\\n\\n.fadeOutRightBig {\\n -webkit-animation-name: fadeOutRightBig;\\n animation-name: fadeOutRightBig; }\\n\\n@-webkit-keyframes fadeOutUp {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(0, -100%, 0); } }\\n\\n@keyframes fadeOutUp {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(0, -100%, 0); } }\\n\\n.fadeOutUp {\\n -webkit-animation-name: fadeOutUp;\\n animation-name: fadeOutUp; }\\n\\n@-webkit-keyframes fadeOutUpBig {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(0, -2000px, 0); } }\\n\\n@keyframes fadeOutUpBig {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(0, -2000px, 0); } }\\n\\n.fadeOutUpBig {\\n -webkit-animation-name: fadeOutUpBig;\\n animation-name: fadeOutUpBig; }\\n\\n@-webkit-keyframes flip {\\n from {\\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\\n -webkit-animation-timing-function: ease-out;\\n animation-timing-function: ease-out; }\\n 40% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\\n -webkit-animation-timing-function: ease-out;\\n animation-timing-function: ease-out; }\\n 50% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; }\\n 80% {\\n transform: perspective(400px) scale3d(0.95, 0.95, 0.95);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; }\\n to {\\n transform: perspective(400px);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; } }\\n\\n@keyframes flip {\\n from {\\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\\n -webkit-animation-timing-function: ease-out;\\n animation-timing-function: ease-out; }\\n 40% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\\n -webkit-animation-timing-function: ease-out;\\n animation-timing-function: ease-out; }\\n 50% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; }\\n 80% {\\n transform: perspective(400px) scale3d(0.95, 0.95, 0.95);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; }\\n to {\\n transform: perspective(400px);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; } }\\n\\n.animated.flip {\\n -webkit-backface-visibility: visible;\\n backface-visibility: visible;\\n -webkit-animation-name: flip;\\n animation-name: flip; }\\n\\n@-webkit-keyframes flipInX {\\n from {\\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in;\\n opacity: 0; }\\n 40% {\\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; }\\n 60% {\\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\\n opacity: 1; }\\n 80% {\\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }\\n to {\\n transform: perspective(400px); } }\\n\\n@keyframes flipInX {\\n from {\\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in;\\n opacity: 0; }\\n 40% {\\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; }\\n 60% {\\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\\n opacity: 1; }\\n 80% {\\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }\\n to {\\n transform: perspective(400px); } }\\n\\n.flipInX {\\n -webkit-backface-visibility: visible !important;\\n backface-visibility: visible !important;\\n -webkit-animation-name: flipInX;\\n animation-name: flipInX; }\\n\\n@-webkit-keyframes flipInY {\\n from {\\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in;\\n opacity: 0; }\\n 40% {\\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; }\\n 60% {\\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\\n opacity: 1; }\\n 80% {\\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }\\n to {\\n transform: perspective(400px); } }\\n\\n@keyframes flipInY {\\n from {\\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in;\\n opacity: 0; }\\n 40% {\\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; }\\n 60% {\\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\\n opacity: 1; }\\n 80% {\\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }\\n to {\\n transform: perspective(400px); } }\\n\\n.flipInY {\\n -webkit-backface-visibility: visible !important;\\n backface-visibility: visible !important;\\n -webkit-animation-name: flipInY;\\n animation-name: flipInY; }\\n\\n@-webkit-keyframes flipOutX {\\n from {\\n transform: perspective(400px); }\\n 30% {\\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n opacity: 1; }\\n to {\\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n opacity: 0; } }\\n\\n@keyframes flipOutX {\\n from {\\n transform: perspective(400px); }\\n 30% {\\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n opacity: 1; }\\n to {\\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n opacity: 0; } }\\n\\n.flipOutX {\\n -webkit-animation-name: flipOutX;\\n animation-name: flipOutX;\\n -webkit-backface-visibility: visible !important;\\n backface-visibility: visible !important; }\\n\\n@-webkit-keyframes flipOutY {\\n from {\\n transform: perspective(400px); }\\n 30% {\\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\\n opacity: 1; }\\n to {\\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n opacity: 0; } }\\n\\n@keyframes flipOutY {\\n from {\\n transform: perspective(400px); }\\n 30% {\\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\\n opacity: 1; }\\n to {\\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n opacity: 0; } }\\n\\n.flipOutY {\\n -webkit-backface-visibility: visible !important;\\n backface-visibility: visible !important;\\n -webkit-animation-name: flipOutY;\\n animation-name: flipOutY; }\\n\\n@-webkit-keyframes lightSpeedIn {\\n from {\\n transform: translate3d(100%, 0, 0) skewX(-30deg);\\n opacity: 0; }\\n 60% {\\n transform: skewX(20deg);\\n opacity: 1; }\\n 80% {\\n transform: skewX(-5deg);\\n opacity: 1; }\\n to {\\n transform: none;\\n opacity: 1; } }\\n\\n@keyframes lightSpeedIn {\\n from {\\n transform: translate3d(100%, 0, 0) skewX(-30deg);\\n opacity: 0; }\\n 60% {\\n transform: skewX(20deg);\\n opacity: 1; }\\n 80% {\\n transform: skewX(-5deg);\\n opacity: 1; }\\n to {\\n transform: none;\\n opacity: 1; } }\\n\\n.lightSpeedIn {\\n -webkit-animation-name: lightSpeedIn;\\n animation-name: lightSpeedIn;\\n -webkit-animation-timing-function: ease-out;\\n animation-timing-function: ease-out; }\\n\\n@-webkit-keyframes lightSpeedOut {\\n from {\\n opacity: 1; }\\n to {\\n transform: translate3d(100%, 0, 0) skewX(30deg);\\n opacity: 0; } }\\n\\n@keyframes lightSpeedOut {\\n from {\\n opacity: 1; }\\n to {\\n transform: translate3d(100%, 0, 0) skewX(30deg);\\n opacity: 0; } }\\n\\n.lightSpeedOut {\\n -webkit-animation-name: lightSpeedOut;\\n animation-name: lightSpeedOut;\\n -webkit-animation-timing-function: ease-in;\\n animation-timing-function: ease-in; }\\n\\n@-webkit-keyframes rotateIn {\\n from {\\n transform-origin: center;\\n transform: rotate3d(0, 0, 1, -200deg);\\n opacity: 0; }\\n to {\\n transform-origin: center;\\n transform: none;\\n opacity: 1; } }\\n\\n@keyframes rotateIn {\\n from {\\n transform-origin: center;\\n transform: rotate3d(0, 0, 1, -200deg);\\n opacity: 0; }\\n to {\\n transform-origin: center;\\n transform: none;\\n opacity: 1; } }\\n\\n.rotateIn {\\n -webkit-animation-name: rotateIn;\\n animation-name: rotateIn; }\\n\\n@-webkit-keyframes rotateInDownLeft {\\n from {\\n transform-origin: left bottom;\\n transform: rotate3d(0, 0, 1, -45deg);\\n opacity: 0; }\\n to {\\n transform-origin: left bottom;\\n transform: none;\\n opacity: 1; } }\\n\\n@keyframes rotateInDownLeft {\\n from {\\n transform-origin: left bottom;\\n transform: rotate3d(0, 0, 1, -45deg);\\n opacity: 0; }\\n to {\\n transform-origin: left bottom;\\n transform: none;\\n opacity: 1; } }\\n\\n.rotateInDownLeft {\\n -webkit-animation-name: rotateInDownLeft;\\n animation-name: rotateInDownLeft; }\\n\\n@-webkit-keyframes rotateInDownRight {\\n from {\\n transform-origin: right bottom;\\n transform: rotate3d(0, 0, 1, 45deg);\\n opacity: 0; }\\n to {\\n transform-origin: right bottom;\\n transform: none;\\n opacity: 1; } }\\n\\n@keyframes rotateInDownRight {\\n from {\\n transform-origin: right bottom;\\n transform: rotate3d(0, 0, 1, 45deg);\\n opacity: 0; }\\n to {\\n transform-origin: right bottom;\\n transform: none;\\n opacity: 1; } }\\n\\n.rotateInDownRight {\\n -webkit-animation-name: rotateInDownRight;\\n animation-name: rotateInDownRight; }\\n\\n@-webkit-keyframes rotateInUpLeft {\\n from {\\n transform-origin: left bottom;\\n transform: rotate3d(0, 0, 1, 45deg);\\n opacity: 0; }\\n to {\\n transform-origin: left bottom;\\n transform: none;\\n opacity: 1; } }\\n\\n@keyframes rotateInUpLeft {\\n from {\\n transform-origin: left bottom;\\n transform: rotate3d(0, 0, 1, 45deg);\\n opacity: 0; }\\n to {\\n transform-origin: left bottom;\\n transform: none;\\n opacity: 1; } }\\n\\n.rotateInUpLeft {\\n -webkit-animation-name: rotateInUpLeft;\\n animation-name: rotateInUpLeft; }\\n\\n@-webkit-keyframes rotateInUpRight {\\n from {\\n transform-origin: right bottom;\\n transform: rotate3d(0, 0, 1, -90deg);\\n opacity: 0; }\\n to {\\n transform-origin: right bottom;\\n transform: none;\\n opacity: 1; } }\\n\\n@keyframes rotateInUpRight {\\n from {\\n transform-origin: right bottom;\\n transform: rotate3d(0, 0, 1, -90deg);\\n opacity: 0; }\\n to {\\n transform-origin: right bottom;\\n transform: none;\\n opacity: 1; } }\\n\\n.rotateInUpRight {\\n -webkit-animation-name: rotateInUpRight;\\n animation-name: rotateInUpRight; }\\n\\n@-webkit-keyframes rotateOut {\\n from {\\n transform-origin: center;\\n opacity: 1; }\\n to {\\n transform-origin: center;\\n transform: rotate3d(0, 0, 1, 200deg);\\n opacity: 0; } }\\n\\n@keyframes rotateOut {\\n from {\\n transform-origin: center;\\n opacity: 1; }\\n to {\\n transform-origin: center;\\n transform: rotate3d(0, 0, 1, 200deg);\\n opacity: 0; } }\\n\\n.rotateOut {\\n -webkit-animation-name: rotateOut;\\n animation-name: rotateOut; }\\n\\n@-webkit-keyframes rotateOutDownLeft {\\n from {\\n transform-origin: left bottom;\\n opacity: 1; }\\n to {\\n transform-origin: left bottom;\\n transform: rotate3d(0, 0, 1, 45deg);\\n opacity: 0; } }\\n\\n@keyframes rotateOutDownLeft {\\n from {\\n transform-origin: left bottom;\\n opacity: 1; }\\n to {\\n transform-origin: left bottom;\\n transform: rotate3d(0, 0, 1, 45deg);\\n opacity: 0; } }\\n\\n.rotateOutDownLeft {\\n -webkit-animation-name: rotateOutDownLeft;\\n animation-name: rotateOutDownLeft; }\\n\\n@-webkit-keyframes rotateOutDownRight {\\n from {\\n transform-origin: right bottom;\\n opacity: 1; }\\n to {\\n transform-origin: right bottom;\\n transform: rotate3d(0, 0, 1, -45deg);\\n opacity: 0; } }\\n\\n@keyframes rotateOutDownRight {\\n from {\\n transform-origin: right bottom;\\n opacity: 1; }\\n to {\\n transform-origin: right bottom;\\n transform: rotate3d(0, 0, 1, -45deg);\\n opacity: 0; } }\\n\\n.rotateOutDownRight {\\n -webkit-animation-name: rotateOutDownRight;\\n animation-name: rotateOutDownRight; }\\n\\n@-webkit-keyframes rotateOutUpLeft {\\n from {\\n transform-origin: left bottom;\\n opacity: 1; }\\n to {\\n transform-origin: left bottom;\\n transform: rotate3d(0, 0, 1, -45deg);\\n opacity: 0; } }\\n\\n@keyframes rotateOutUpLeft {\\n from {\\n transform-origin: left bottom;\\n opacity: 1; }\\n to {\\n transform-origin: left bottom;\\n transform: rotate3d(0, 0, 1, -45deg);\\n opacity: 0; } }\\n\\n.rotateOutUpLeft {\\n -webkit-animation-name: rotateOutUpLeft;\\n animation-name: rotateOutUpLeft; }\\n\\n@-webkit-keyframes rotateOutUpRight {\\n from {\\n transform-origin: right bottom;\\n opacity: 1; }\\n to {\\n transform-origin: right bottom;\\n transform: rotate3d(0, 0, 1, 90deg);\\n opacity: 0; } }\\n\\n@keyframes rotateOutUpRight {\\n from {\\n transform-origin: right bottom;\\n opacity: 1; }\\n to {\\n transform-origin: right bottom;\\n transform: rotate3d(0, 0, 1, 90deg);\\n opacity: 0; } }\\n\\n.rotateOutUpRight {\\n -webkit-animation-name: rotateOutUpRight;\\n animation-name: rotateOutUpRight; }\\n\\n@-webkit-keyframes hinge {\\n 0% {\\n transform-origin: top left;\\n -webkit-animation-timing-function: ease-in-out;\\n animation-timing-function: ease-in-out; }\\n 20%, 60% {\\n transform: rotate3d(0, 0, 1, 80deg);\\n transform-origin: top left;\\n -webkit-animation-timing-function: ease-in-out;\\n animation-timing-function: ease-in-out; }\\n 40%, 80% {\\n transform: rotate3d(0, 0, 1, 60deg);\\n transform-origin: top left;\\n -webkit-animation-timing-function: ease-in-out;\\n animation-timing-function: ease-in-out;\\n opacity: 1; }\\n to {\\n transform: translate3d(0, 700px, 0);\\n opacity: 0; } }\\n\\n@keyframes hinge {\\n 0% {\\n transform-origin: top left;\\n -webkit-animation-timing-function: ease-in-out;\\n animation-timing-function: ease-in-out; }\\n 20%, 60% {\\n transform: rotate3d(0, 0, 1, 80deg);\\n transform-origin: top left;\\n -webkit-animation-timing-function: ease-in-out;\\n animation-timing-function: ease-in-out; }\\n 40%, 80% {\\n transform: rotate3d(0, 0, 1, 60deg);\\n transform-origin: top left;\\n -webkit-animation-timing-function: ease-in-out;\\n animation-timing-function: ease-in-out;\\n opacity: 1; }\\n to {\\n transform: translate3d(0, 700px, 0);\\n opacity: 0; } }\\n\\n.hinge {\\n -webkit-animation-name: hinge;\\n animation-name: hinge; }\\n\\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\\n@-webkit-keyframes rollIn {\\n from {\\n opacity: 0;\\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes rollIn {\\n from {\\n opacity: 0;\\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }\\n to {\\n opacity: 1;\\n transform: none; } }\\n\\n.rollIn {\\n -webkit-animation-name: rollIn;\\n animation-name: rollIn; }\\n\\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\\n@-webkit-keyframes rollOut {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }\\n\\n@keyframes rollOut {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0;\\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }\\n\\n.rollOut {\\n -webkit-animation-name: rollOut;\\n animation-name: rollOut; }\\n\\n@-webkit-keyframes zoomIn {\\n from {\\n opacity: 0;\\n transform: scale3d(0.3, 0.3, 0.3); }\\n 50% {\\n opacity: 1; } }\\n\\n@keyframes zoomIn {\\n from {\\n opacity: 0;\\n transform: scale3d(0.3, 0.3, 0.3); }\\n 50% {\\n opacity: 1; } }\\n\\n.zoomIn {\\n -webkit-animation-name: zoomIn;\\n animation-name: zoomIn; }\\n\\n@-webkit-keyframes zoomInDown {\\n from {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomInDown {\\n from {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomInDown {\\n -webkit-animation-name: zoomInDown;\\n animation-name: zoomInDown; }\\n\\n@-webkit-keyframes zoomInLeft {\\n from {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomInLeft {\\n from {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomInLeft {\\n -webkit-animation-name: zoomInLeft;\\n animation-name: zoomInLeft; }\\n\\n@-webkit-keyframes zoomInRight {\\n from {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomInRight {\\n from {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomInRight {\\n -webkit-animation-name: zoomInRight;\\n animation-name: zoomInRight; }\\n\\n@-webkit-keyframes zoomInUp {\\n from {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomInUp {\\n from {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n 60% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomInUp {\\n -webkit-animation-name: zoomInUp;\\n animation-name: zoomInUp; }\\n\\n@-webkit-keyframes zoomOut {\\n from {\\n opacity: 1; }\\n 50% {\\n opacity: 0;\\n transform: scale3d(0.3, 0.3, 0.3); }\\n to {\\n opacity: 0; } }\\n\\n@keyframes zoomOut {\\n from {\\n opacity: 1; }\\n 50% {\\n opacity: 0;\\n transform: scale3d(0.3, 0.3, 0.3); }\\n to {\\n opacity: 0; } }\\n\\n.zoomOut {\\n -webkit-animation-name: zoomOut;\\n animation-name: zoomOut; }\\n\\n@-webkit-keyframes zoomOutDown {\\n 40% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n to {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);\\n transform-origin: center bottom;\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomOutDown {\\n 40% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n to {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);\\n transform-origin: center bottom;\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomOutDown {\\n -webkit-animation-name: zoomOutDown;\\n animation-name: zoomOutDown; }\\n\\n@-webkit-keyframes zoomOutLeft {\\n 40% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }\\n to {\\n opacity: 0;\\n transform: scale(0.1) translate3d(-2000px, 0, 0);\\n transform-origin: left center; } }\\n\\n@keyframes zoomOutLeft {\\n 40% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }\\n to {\\n opacity: 0;\\n transform: scale(0.1) translate3d(-2000px, 0, 0);\\n transform-origin: left center; } }\\n\\n.zoomOutLeft {\\n -webkit-animation-name: zoomOutLeft;\\n animation-name: zoomOutLeft; }\\n\\n@-webkit-keyframes zoomOutRight {\\n 40% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }\\n to {\\n opacity: 0;\\n transform: scale(0.1) translate3d(2000px, 0, 0);\\n transform-origin: right center; } }\\n\\n@keyframes zoomOutRight {\\n 40% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }\\n to {\\n opacity: 0;\\n transform: scale(0.1) translate3d(2000px, 0, 0);\\n transform-origin: right center; } }\\n\\n.zoomOutRight {\\n -webkit-animation-name: zoomOutRight;\\n animation-name: zoomOutRight; }\\n\\n@-webkit-keyframes zoomOutUp {\\n 40% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n to {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);\\n transform-origin: center bottom;\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomOutUp {\\n 40% {\\n opacity: 1;\\n transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n to {\\n opacity: 0;\\n transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);\\n transform-origin: center bottom;\\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomOutUp {\\n -webkit-animation-name: zoomOutUp;\\n animation-name: zoomOutUp; }\\n\\n@-webkit-keyframes slideInDown {\\n from {\\n transform: translate3d(0, -100%, 0);\\n visibility: visible; }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n@keyframes slideInDown {\\n from {\\n transform: translate3d(0, -100%, 0);\\n visibility: visible; }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n.slideInDown {\\n -webkit-animation-name: slideInDown;\\n animation-name: slideInDown; }\\n\\n@-webkit-keyframes slideInLeft {\\n from {\\n transform: translate3d(-100%, 0, 0);\\n visibility: visible; }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n@keyframes slideInLeft {\\n from {\\n transform: translate3d(-100%, 0, 0);\\n visibility: visible; }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n.slideInLeft {\\n -webkit-animation-name: slideInLeft;\\n animation-name: slideInLeft; }\\n\\n@-webkit-keyframes slideInRight {\\n from {\\n transform: translate3d(100%, 0, 0);\\n visibility: visible; }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n@keyframes slideInRight {\\n from {\\n transform: translate3d(100%, 0, 0);\\n visibility: visible; }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n.slideInRight {\\n -webkit-animation-name: slideInRight;\\n animation-name: slideInRight; }\\n\\n@-webkit-keyframes slideInUp {\\n from {\\n transform: translate3d(0, 100%, 0);\\n visibility: visible; }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n@keyframes slideInUp {\\n from {\\n transform: translate3d(0, 100%, 0);\\n visibility: visible; }\\n to {\\n transform: translate3d(0, 0, 0); } }\\n\\n.slideInUp {\\n -webkit-animation-name: slideInUp;\\n animation-name: slideInUp; }\\n\\n@-webkit-keyframes slideOutDown {\\n from {\\n transform: translate3d(0, 0, 0); }\\n to {\\n visibility: hidden;\\n transform: translate3d(0, 100%, 0); } }\\n\\n@keyframes slideOutDown {\\n from {\\n transform: translate3d(0, 0, 0); }\\n to {\\n visibility: hidden;\\n transform: translate3d(0, 100%, 0); } }\\n\\n.slideOutDown {\\n -webkit-animation-name: slideOutDown;\\n animation-name: slideOutDown; }\\n\\n@-webkit-keyframes slideOutLeft {\\n from {\\n transform: translate3d(0, 0, 0); }\\n to {\\n visibility: hidden;\\n transform: translate3d(-100%, 0, 0); } }\\n\\n@keyframes slideOutLeft {\\n from {\\n transform: translate3d(0, 0, 0); }\\n to {\\n visibility: hidden;\\n transform: translate3d(-100%, 0, 0); } }\\n\\n.slideOutLeft {\\n -webkit-animation-name: slideOutLeft;\\n animation-name: slideOutLeft; }\\n\\n@-webkit-keyframes slideOutRight {\\n from {\\n transform: translate3d(0, 0, 0); }\\n to {\\n visibility: hidden;\\n transform: translate3d(100%, 0, 0); } }\\n\\n@keyframes slideOutRight {\\n from {\\n transform: translate3d(0, 0, 0); }\\n to {\\n visibility: hidden;\\n transform: translate3d(100%, 0, 0); } }\\n\\n.slideOutRight {\\n -webkit-animation-name: slideOutRight;\\n animation-name: slideOutRight; }\\n\\n@-webkit-keyframes slideOutUp {\\n from {\\n transform: translate3d(0, 0, 0); }\\n to {\\n visibility: hidden;\\n transform: translate3d(0, -100%, 0); } }\\n\\n@keyframes slideOutUp {\\n from {\\n transform: translate3d(0, 0, 0); }\\n to {\\n visibility: hidden;\\n transform: translate3d(0, -100%, 0); } }\\n\\n.slideOutUp {\\n -webkit-animation-name: slideOutUp;\\n animation-name: slideOutUp; }\\n\\n/*\\r\\n * \\tDefault theme - Owl Carousel CSS File\\r\\n */\\n.owl-theme .owl-nav {\\n margin-top: 10px;\\n text-align: center;\\n -webkit-tap-highlight-color: transparent; }\\n .owl-theme .owl-nav [class*='owl-'] {\\n color: #FFF;\\n font-size: 14px;\\n margin: 5px;\\n padding: 4px 7px;\\n background: #D6D6D6;\\n display: inline-block;\\n cursor: pointer;\\n border-radius: 3px; }\\n .owl-theme .owl-nav [class*='owl-']:hover {\\n background: #869791;\\n color: #FFF;\\n text-decoration: none; }\\n .owl-theme .owl-nav .disabled {\\n opacity: 0.5;\\n cursor: default; }\\n\\n.owl-theme .owl-nav.disabled + .owl-dots {\\n margin-top: 10px; }\\n\\n.owl-theme .owl-dots {\\n text-align: center;\\n -webkit-tap-highlight-color: transparent; }\\n .owl-theme .owl-dots .owl-dot {\\n display: inline-block;\\n zoom: 1;\\n *display: inline; }\\n .owl-theme .owl-dots .owl-dot span {\\n width: 10px;\\n height: 10px;\\n margin: 5px 7px;\\n background: #D6D6D6;\\n display: block;\\n -webkit-backface-visibility: visible;\\n transition: opacity 200ms ease;\\n border-radius: 30px; }\\n .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {\\n background: #869791; }\\n\\n/* This parent can be any width and height */\\n.block {\\n text-align: center;\\n /* May want to do this if there is risk the container may be narrower than the element inside */\\n white-space: nowrap; }\\n\\n/* The ghost, nudged to maintain perfect centering */\\n.block:before {\\n content: '';\\n display: inline-block;\\n height: 100%;\\n vertical-align: middle;\\n margin-right: -0.25em;\\n /* Adjusts for spacing */ }\\n\\n/* The element to be centered, can also be of any width and height */\\n.centered {\\n display: inline-block;\\n vertical-align: middle;\\n width: 300px; }\\n\\n#loading-pane {\\n width: 100vw;\\n height: 100vh;\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 9999;\\n text-align: center;\\n background-color: #6CC38B;\\n background-color: var(--primary); }\\n #loading-pane .inner-wrapper {\\n width: 100%;\\n height: 100%;\\n display: table; }\\n #loading-pane .inner-wrapper .inner-wrapper-align {\\n display: table-cell;\\n vertical-align: middle; }\\n #loading-pane .inner-wrapper.active {\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);\\n opacity: 0;\\n visibility: hidden; }\\n #loading-pane.fade-in.active {\\n transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);\\n opacity: 0;\\n visibility: hidden; }\\n #loading-pane.slide-up.active {\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);\\n top: -150%; }\\n #loading-pane.slide-down.active {\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);\\n top: 100%; }\\n #loading-pane.slide-left.active {\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);\\n left: -150%; }\\n #loading-pane.slide-right.active {\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);\\n left: 100%; }\\n\\n.loading-text {\\n display: inline-block;\\n color: white;\\n font-weight: bold;\\n width: 100%; }\\n\\n.spinner {\\n margin-bottom: 20px !important; }\\n .spinner.bars {\\n width: 50px;\\n height: 40px;\\n margin: 0 auto;\\n font-size: 10px; }\\n .spinner.bars > div {\\n height: 100%;\\n width: 7px;\\n margin: 0 3px 0 0;\\n background-color: #fff;\\n display: inline-block;\\n -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;\\n animation: sk-stretchdelay 1.2s infinite ease-in-out; }\\n .spinner.bars .rect2 {\\n -webkit-animation-delay: -1.1s;\\n animation-delay: -1.1s; }\\n .spinner.bars .rect3 {\\n -webkit-animation-delay: -1.0s;\\n animation-delay: -1.0s; }\\n .spinner.bars .rect4 {\\n -webkit-animation-delay: -0.9s;\\n animation-delay: -0.9s; }\\n .spinner.bars .rect5 {\\n -webkit-animation-delay: -0.8s;\\n animation-delay: -0.8s; }\\n .spinner.cubes {\\n width: 40px;\\n height: 40px;\\n position: relative;\\n margin: 0 auto; }\\n .spinner.cubes .cube1, .spinner.cubes .cube2 {\\n background-color: white;\\n width: 15px;\\n height: 15px;\\n position: absolute;\\n top: 0;\\n left: 0;\\n -webkit-animation: sk-cubemove 1.8s infinite ease-in-out;\\n animation: sk-cubemove 1.8s infinite ease-in-out; }\\n .spinner.cubes .cube2 {\\n -webkit-animation-delay: -0.9s;\\n animation-delay: -0.9s; }\\n .spinner.dots {\\n width: 70px;\\n text-align: center;\\n margin: 0 auto; }\\n .spinner.dots > div {\\n width: 18px;\\n height: 18px;\\n background-color: white;\\n border-radius: 100%;\\n display: inline-block;\\n -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\\n animation: sk-bouncedelay 1.4s infinite ease-in-out both; }\\n .spinner.dots .bounce1 {\\n -webkit-animation-delay: -0.32s;\\n animation-delay: -0.32s; }\\n .spinner.dots .bounce2 {\\n -webkit-animation-delay: -0.16s;\\n animation-delay: -0.16s; }\\n\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n transform: scale(0); }\\n 40% {\\n transform: scale(1); } }\\n\\n@-webkit-keyframes sk-stretchdelay {\\n 0%, 40%, 100% {\\n -webkit-transform: scaleY(0.4); }\\n 20% {\\n -webkit-transform: scaleY(1); } }\\n\\n@keyframes sk-stretchdelay {\\n 0%, 40%, 100% {\\n transform: scaleY(0.4);\\n -webkit-transform: scaleY(0.4); }\\n 20% {\\n transform: scaleY(1);\\n -webkit-transform: scaleY(1); } }\\n\\n@-webkit-keyframes sk-cubemove {\\n 25% {\\n -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); }\\n 50% {\\n -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); }\\n 75% {\\n -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); }\\n 100% {\\n -webkit-transform: rotate(-360deg); } }\\n\\n@keyframes sk-cubemove {\\n 25% {\\n transform: translateX(42px) rotate(-90deg) scale(0.5);\\n -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); }\\n 50% {\\n transform: translateX(42px) translateY(42px) rotate(-179deg);\\n -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg); }\\n 50.1% {\\n transform: translateX(42px) translateY(42px) rotate(-180deg);\\n -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); }\\n 75% {\\n transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);\\n -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); }\\n 100% {\\n transform: rotate(-360deg);\\n -webkit-transform: rotate(-360deg); } }\\n\\nhtml {\\n overflow-y: scroll;\\n -webkit-backface-visibility: hidden;\\n backface-visibility: visible;\\n -webkit-backface-visibility: initial;\\n backface-visibility: initial; }\\n html.freeze {\\n overflow: hidden !important; }\\n\\nhtml,\\nbody {\\n height: 100%;\\n min-height: 100%; }\\n\\nbody {\\n background: #ededed;\\n margin: 0;\\n line-height: 20px;\\n font-family: \\\"Montserrat\\\", Arial, sans-serif;\\n color: #011542;\\n -webkit-font-smoothing: subpixel-antialiased; }\\n body .has-top-bar {\\n padding-top: 50px; }\\n body.full-content {\\n background: #fff; }\\n\\n::-moz-selection {\\n text-shadow: none;\\n background: black;\\n color: white; }\\n\\n::selection {\\n text-shadow: none;\\n background: black;\\n color: white; }\\n\\n::-moz-selection {\\n text-shadow: none;\\n background: black;\\n color: white; }\\n\\n:focus {\\n outline: none; }\\n\\n.right {\\n float: right; }\\n\\n@media (min-width: 1200px) {\\n .stroke-right {\\n border-right: 1px solid #d9d9d9; } }\\n\\n.stroke-bottom {\\n border-bottom: 1px solid #d9d9d9; }\\n\\n@media (max-width: 1199px) {\\n .stroke-bottom-md {\\n border-bottom: 1px solid #d9d9d9; } }\\n\\n.stroke-top {\\n border-top: 1px solid #d9d9d9; }\\n\\n.alignment-container {\\n display: table;\\n height: 100%; }\\n .alignment-container .inner-container {\\n display: table-cell;\\n vertical-align: middle;\\n display: -webkit-box;\\n /* Enables multi-line ellipsis behavior */\\n -webkit-box-orient: vertical;\\n /* Specifies vertical layout */\\n overflow: hidden;\\n /* Hides overflowing content */\\n text-overflow: ellipsis;\\n /* Adds the ellipsis */\\n -webkit-line-clamp: 2;\\n line-clamp: 2;\\n /* Limits the text to 2 lines */\\n max-height: calc(1.5em * 2);\\n /* Adjust height for the number of lines */\\n line-height: 1.5em;\\n /* Line height to match your text */ }\\n\\na {\\n color: #6CC38B;\\n color: var(--primary);\\n transition: all 0.2s ease-in-out; }\\n\\na:hover,\\na:focus {\\n color: #6CC38B;\\n color: var(--primary);\\n text-decoration: none;\\n outline: none; }\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-family: \\\"Montserrat\\\", Arial, sans-serif;\\n font-weight: 900;\\n color: #011542;\\n margin-top: 0; }\\n\\nh5 {\\n text-transform: uppercase;\\n font-size: 13px;\\n color: #a5a5a5;\\n margin-bottom: 5px;\\n line-height: 1.42857; }\\n\\nh6 {\\n text-transform: uppercase;\\n font-size: 11px;\\n color: #a5a5a5;\\n margin-bottom: 0;\\n line-height: -0.57143; }\\n\\np {\\n margin-bottom: 20px; }\\n\\n.alert-count {\\n background-color: rgba(255, 0, 0, 0.8);\\n position: absolute;\\n z-index: 10;\\n height: 14px;\\n font-size: 12px;\\n line-height: 14px;\\n height: 14px;\\n color: #fff;\\n top: 20%;\\n right: 5%;\\n padding: 0 6px;\\n border-radius: 7px; }\\n\\n.table-link {\\n background: #fffee7;\\n border: 1px solid #d6d6d6;\\n color: #999;\\n border-radius: 4px;\\n font-size: 12px;\\n display: block;\\n padding: 2px 5px; }\\n\\n.bold {\\n font-weight: bold; }\\n\\n.form-horizontal {\\n padding-left: 15px;\\n padding-right: 15px; }\\n .form-horizontal.slick-slider {\\n padding-bottom: 60px; }\\n .form-horizontal .slick-arrow {\\n position: absolute;\\n bottom: 0; }\\n .form-horizontal .slick-prev {\\n left: 0; }\\n .form-horizontal .slick-next {\\n right: 0; }\\n\\n.form-inline .form-group {\\n padding-right: 10px;\\n border-bottom: none; }\\n\\n.form-group {\\n border-bottom: 1px solid #ededed;\\n padding-top: 10px;\\n padding-bottom: 20px;\\n margin-bottom: 0; }\\n .form-group.form-section {\\n border-bottom: 1px solid #d4d4d4;\\n padding-top: 60px; }\\n .form-group.form-section.section-first {\\n padding-top: 0; }\\n .form-group.form-section h4 {\\n margin-bottom: 0;\\n margin-top: 0; }\\n .form-group.save-group {\\n border-bottom: none;\\n padding-top: 30px; }\\n .form-group.form-first {\\n border-top: 1px solid #ededed; }\\n .form-group > .row {\\n padding-bottom: 10px; }\\n .form-group > .row:last-of-type {\\n padding-bottom: 0; }\\n\\n.explain {\\n text-align: left !important;\\n color: #011542;\\n margin: 10px 0; }\\n @media (min-width: 800px) {\\n .explain {\\n margin-top: 0; } }\\n\\n.form-control:active, .form-control:focus {\\n background: #fff;\\n border-color: #6CC38B;\\n border-color: var(--primary);\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #6CC38B;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px var(--primary); }\\n\\n.form-radio .radio-inline {\\n margin-left: 0px !important; }\\n\\n.form-horizontal .form-group {\\n margin-left: 0px;\\n margin-right: 0px; }\\n\\n.dropdown-menu > li.disabled a,\\n.dropdown-menu > li.disabled a:hover {\\n color: #cccccc; }\\n\\n.input-group.filter {\\n float: left;\\n margin-right: 10px;\\n width: calc(100% - 52px); }\\n\\nbutton.filter {\\n float: left;\\n width: auto !important; }\\n\\ntd {\\n padding: 2px 5px; }\\n\\n#content {\\n width: 100%;\\n height: 100%;\\n position: relative; }\\n @media (min-width: 800px) {\\n #content {\\n width: calc(100% - 220px);\\n margin-left: 220px; } }\\n\\n.content-container {\\n padding: 15px; }\\n @media (min-width: 800px) {\\n .content-container {\\n padding: 30px; } }\\n\\n.has-top-bar .content-container {\\n padding-top: 65px; }\\n @media (min-width: 800px) {\\n .has-top-bar .content-container {\\n padding-top: 90px; } }\\n\\n.has-tab-nav .content-container {\\n padding-top: 15px; }\\n @media (min-width: 800px) {\\n .has-tab-nav .content-container {\\n padding-top: 30px; } }\\n\\n.nopadding {\\n padding: 0 !important;\\n margin: 0 !important; }\\n\\n.nopadding-bottom {\\n padding-bottom: 0 !important; }\\n\\n.btn-default, .k-button,\\n.btn-primary,\\n.btn-success,\\n.btn-info,\\n.btn-warning,\\n.btn-danger {\\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.15);\\n text-transform: uppercase;\\n border: 1px solid;\\n transition: background-color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .btn-default:active, .k-button:active, .btn-default.active, .active.k-button,\\n .btn-primary:active,\\n .btn-primary.active,\\n .btn-success:active,\\n .btn-success.active,\\n .btn-info:active,\\n .btn-info.active,\\n .btn-warning:active,\\n .btn-warning.active,\\n .btn-danger:active,\\n .btn-danger.active {\\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n .btn-default.disabled, .disabled.k-button, .btn-default[disabled], .k-button[disabled],\\n fieldset[disabled] .btn-default,\\n fieldset[disabled] .k-button,\\n .btn-primary.disabled,\\n .btn-primary[disabled],\\n fieldset[disabled]\\n .btn-primary,\\n .btn-success.disabled,\\n .btn-success[disabled],\\n fieldset[disabled]\\n .btn-success,\\n .btn-info.disabled,\\n .btn-info[disabled],\\n fieldset[disabled]\\n .btn-info,\\n .btn-warning.disabled,\\n .btn-warning[disabled],\\n fieldset[disabled]\\n .btn-warning,\\n .btn-danger.disabled,\\n .btn-danger[disabled],\\n fieldset[disabled]\\n .btn-danger {\\n box-shadow: none; }\\n .btn-default .badge, .k-button .badge,\\n .btn-primary .badge,\\n .btn-success .badge,\\n .btn-info .badge,\\n .btn-warning .badge,\\n .btn-danger .badge {\\n text-shadow: none; }\\n\\n.btn-primary {\\n box-shadow: none; }\\n\\n.btn:active, .k-button:active, .btn.active, .active.k-button {\\n background-image: none; }\\n\\n.btn-lg {\\n padding-left: 36px;\\n padding-right: 36px;\\n font-size: 14px; }\\n\\n.btn-default, .k-button {\\n background-color: #fff;\\n border-color: #fff;\\n text-shadow: 0 1px 0 #fff;\\n border: 1px solid #d9d9d9; }\\n .btn-default:hover, .k-button:hover, .btn-default:focus, .k-button:focus {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-position: 0 -15px;\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-default:active, .k-button:active, .btn-default.active, .active.k-button {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-default.disabled:hover, .disabled.k-button:hover, .btn-default.disabled:focus, .disabled.k-button:focus, .btn-default.disabled.focus, .disabled.focus.k-button, .btn-default.disabled:active, .disabled.k-button:active, .btn-default.disabled.active, .disabled.active.k-button, .btn-default[disabled]:hover, .k-button[disabled]:hover, .btn-default[disabled]:focus, .k-button[disabled]:focus, .btn-default[disabled].focus, .k-button[disabled].focus, .btn-default[disabled]:active, .k-button[disabled]:active, .btn-default[disabled].active, .k-button[disabled].active,\\n fieldset[disabled] .btn-default:hover,\\n fieldset[disabled] .k-button:hover,\\n fieldset[disabled] .btn-default:focus,\\n fieldset[disabled] .k-button:focus,\\n fieldset[disabled] .btn-default.focus,\\n fieldset[disabled] .focus.k-button,\\n fieldset[disabled] .btn-default:active,\\n fieldset[disabled] .k-button:active,\\n fieldset[disabled] .btn-default.active,\\n fieldset[disabled] .active.k-button {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-image: none; }\\n\\n.btn-primary {\\n background-color: #6CC38B;\\n background-color: var(--primary); }\\n\\n.btn-success {\\n background-color: #5cb85c;\\n border-color: #5cb85c; }\\n .btn-success:hover, .btn-success:focus {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-position: 0 -15px;\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-success:active, .btn-success.active {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active,\\n fieldset[disabled] .btn-success:hover,\\n fieldset[disabled] .btn-success:focus,\\n fieldset[disabled] .btn-success.focus,\\n fieldset[disabled] .btn-success:active,\\n fieldset[disabled] .btn-success.active {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-image: none; }\\n\\n.btn-info {\\n background-color: #5bc0de;\\n border-color: #5bc0de; }\\n .btn-info:hover, .btn-info:focus {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-position: 0 -15px;\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-info:active, .btn-info.active {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active,\\n fieldset[disabled] .btn-info:hover,\\n fieldset[disabled] .btn-info:focus,\\n fieldset[disabled] .btn-info.focus,\\n fieldset[disabled] .btn-info:active,\\n fieldset[disabled] .btn-info.active {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-image: none; }\\n\\n.btn-warning {\\n background-color: #f0ad4e;\\n border-color: #f0ad4e; }\\n .btn-warning:hover, .btn-warning:focus {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-position: 0 -15px;\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-warning:active, .btn-warning.active {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active,\\n fieldset[disabled] .btn-warning:hover,\\n fieldset[disabled] .btn-warning:focus,\\n fieldset[disabled] .btn-warning.focus,\\n fieldset[disabled] .btn-warning:active,\\n fieldset[disabled] .btn-warning.active {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-image: none; }\\n\\n.btn-danger {\\n background-color: #d9534f;\\n border-color: #d9534f; }\\n .btn-danger:hover, .btn-danger:focus {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-position: 0 -15px;\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-danger:active, .btn-danger.active {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n border-color: #6CC38B;\\n border-color: var(--primary); }\\n .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active,\\n fieldset[disabled] .btn-danger:hover,\\n fieldset[disabled] .btn-danger:focus,\\n fieldset[disabled] .btn-danger.focus,\\n fieldset[disabled] .btn-danger:active,\\n fieldset[disabled] .btn-danger.active {\\n background-color: #6CC38B;\\n background-color: var(--primary);\\n background-image: none; }\\n\\n.btn-hidden {\\n hidden: true;\\n margin-top: 14px;\\n margin-right: 50px;\\n float: right; }\\n\\n.btn-outline-primary {\\n color: #56DC92 !important;\\n border-color: #56DC92 !important;\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n background-color: transparent;\\n border: 2px solid #56DC92;\\n padding: 10px;\\n min-height: 40px;\\n transition: all 0.3s ease;\\n font-weight: 400;\\n font-size: 16px;\\n text-align: center;\\n vertical-align: middle;\\n line-height: 19.5px;\\n text-align: center;\\n border-radius: 3px !important; }\\n .btn-outline-primary:hover {\\n color: #fff !important;\\n background: #56DC92; }\\n .btn-outline-primary:focus, .btn-outline-primary.focus {\\n box-shadow: 0 0 0 0.25rem #56DC92; }\\n .btn-outline-primary:disabled, .btn-outline-primary.disabled {\\n color: #56DC92;\\n background-color: transparent;\\n opacity: 0.65;\\n cursor: not-allowed; }\\n\\n.btn-outline-secondary {\\n color: #999999 !important;\\n border-color: #999999 !important;\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n background-color: transparent;\\n border: 1px solid #999999;\\n padding: 10px;\\n min-height: 40px;\\n transition: all 0.3s ease;\\n font-weight: 400;\\n font-size: 16px;\\n text-align: center;\\n vertical-align: middle;\\n line-height: 19.5px;\\n text-align: center;\\n border-radius: 3px !important; }\\n .btn-outline-secondary:hover {\\n color: #fff !important;\\n background: #999999; }\\n .btn-outline-secondary:focus, .btn-outline-secondary.focus {\\n box-shadow: 0 0 0 0.25rem #999999; }\\n .btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\\n color: #999999;\\n background-color: transparent;\\n opacity: 0.65;\\n cursor: not-allowed; }\\n\\n#mainnav {\\n width: 220px;\\n max-width: 220px;\\n height: 100%;\\n background: #011542;\\n background: var(--secondary);\\n position: fixed;\\n top: 0;\\n left: -230px;\\n z-index: 1000;\\n box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.3);\\n overflow-x: hidden;\\n transition: left 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }\\n #mainnav.isopen {\\n left: 0; }\\n @media (min-width: 800px) {\\n #mainnav {\\n left: 0; } }\\n #mainnav .brand {\\n margin: 8px 0 38px 0;\\n padding: 0 10px;\\n height: 44px; }\\n #mainnav .brand h1 {\\n color: #011542;\\n color: var(--secondary);\\n font-size: 18px;\\n float: left;\\n line-height: 44px;\\n margin: 0; }\\n #mainnav .logo {\\n float: left;\\n background: #011542;\\n background: var(--secondary);\\n height: 44px;\\n margin-right: 10px; }\\n #mainnav > div {\\n max-height: 100%;\\n min-height: 100%;\\n height: calc(100% - 90px);\\n overflow: hidden;\\n position: relative !important;\\n padding: 0;\\n margin: 0; }\\n #mainnav:before, #mainnav:after {\\n content: \\\" \\\";\\n display: table; }\\n #mainnav:after {\\n clear: both; }\\n\\n#navcontainer {\\n position: relative;\\n width: 220px;\\n overflow: hidden !important;\\n left: 0;\\n min-height: calc(100% - 90px);\\n box-sizing: border-box;\\n padding-bottom: 170px; }\\n #navcontainer:before, #navcontainer:after {\\n content: \\\" \\\";\\n display: table; }\\n #navcontainer:after {\\n clear: both; }\\n\\nul.mainnav {\\n list-style: none;\\n width: 220px;\\n padding: 0;\\n margin: 0;\\n position: relative;\\n top: 0;\\n left: 0;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }\\n ul.mainnav:before, ul.mainnav:after {\\n content: \\\" \\\";\\n display: table; }\\n ul.mainnav:after {\\n clear: both; }\\n ul.mainnav > li {\\n float: left;\\n background: none;\\n padding: 0;\\n margin: 0; }\\n ul.mainnav .navheader {\\n color: rgba(255, 255, 255, 0.5);\\n display: block;\\n width: 220px;\\n padding: 8px 0 8px 20px;\\n font-size: 12px;\\n border-bottom: 1px solid #00081A; }\\n ul.mainnav .navheader .span {\\n float: left; }\\n ul.mainnav .navheader .back {\\n float: right;\\n color: rgba(255, 255, 255, 0.5);\\n width: 50px;\\n text-align: center; }\\n ul.mainnav .navheader .back:hover {\\n color: #6CC38B;\\n color: var(--primary); }\\n ul.mainnav.showsub {\\n left: -220px; }\\n\\n.material-symbols-outlined.nav-md-16 {\\n margin-bottom: 5px;\\n vertical-align: middle;\\n font-size: 16px !important;\\n padding-right: 10px !important; }\\n\\na.sub-nav {\\n width: 176px !important;\\n padding-left: 5px !important;\\n padding-right: 5px !important;\\n color: #fff;\\n font-weight: 400;\\n font-size: 16px;\\n line-height: 50px;\\n display: inline-flex;\\n align-items: center;\\n text-decoration: none; }\\n a.sub-nav:hover {\\n color: #6CC38B;\\n color: var(--primary); }\\n a.sub-nav.active {\\n color: #6CC38B !important;\\n color: var(--primary) !important; }\\n\\nul.sub-nav.collapse {\\n display: none;\\n line-height: 40px !important; }\\n\\nul.sub-nav.collapse.in {\\n display: block;\\n line-height: 40px !important; }\\n\\na.sub-nav .text {\\n display: inline-block;\\n line-height: normal; }\\n\\na.mainnav {\\n display: block;\\n width: 220px;\\n line-height: 32px;\\n padding: 7px 20px;\\n font-size: 16px;\\n color: #fff;\\n font-weight: 400;\\n position: relative; }\\n a.mainnav:hover {\\n color: #56DC92;\\n color: var(--primaryv2); }\\n a.mainnav.active {\\n color: #56DC92 !important;\\n color: var(--primaryv2) !important; }\\n a.mainnav.subnav:after {\\n font-family: fontawesome;\\n content: \\\"\\\\F107\\\";\\n right: 0;\\n height: auto;\\n width: 30px;\\n position: absolute;\\n color: #fff;\\n text-align: center;\\n font-size: 12px;\\n font-weight: normal; }\\n\\nul.subnav {\\n position: absolute;\\n top: 0;\\n list-style: none;\\n width: 220px;\\n left: 220px;\\n padding: 0;\\n margin: 0;\\n display: none;\\n z-index: 1100; }\\n ul.subnav:before, ul.subnav:after {\\n content: \\\" \\\";\\n display: table; }\\n ul.subnav:after {\\n clear: both; }\\n ul.subnav.shownav {\\n display: block !important; }\\n\\ndiv.secondarynav {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n width: 220px; }\\n\\nul.secondarynav {\\n list-style: none;\\n width: 220px;\\n padding: 0;\\n margin: 0 0 10px 0; }\\n ul.secondarynav:before, ul.secondarynav:after {\\n content: \\\" \\\";\\n display: table; }\\n ul.secondarynav:after {\\n clear: both; }\\n ul.secondarynav > li {\\n float: left;\\n background: none;\\n padding: 0;\\n margin: 0; }\\n\\na.secondarynav {\\n display: block;\\n width: 220px;\\n padding: 3px 20px;\\n font-size: 13px;\\n color: #ffffff;\\n font-weight: 400; }\\n a.secondarynav:hover {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\nspan.copy {\\n display: block;\\n width: 220px;\\n padding: 3px 20px;\\n font-size: 12px;\\n color: #ffffff;\\n font-weight: 400;\\n left: 0;\\n margin-bottom: 10px; }\\n\\ndiv.top-bar {\\n background: #fff;\\n height: 50px;\\n box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.1);\\n position: fixed;\\n z-index: 100;\\n width: 100%; }\\n div.top-bar:before, div.top-bar:after {\\n content: \\\" \\\";\\n display: table; }\\n div.top-bar:after {\\n clear: both; }\\n @media (min-width: 800px) {\\n div.top-bar {\\n height: 60px;\\n width: calc(100% - 220px); } }\\n div.top-bar .title {\\n padding: 17px 10px 0 15px;\\n float: left; }\\n @media (min-width: 800px) {\\n div.top-bar .title {\\n padding: 20px 30px 0 20px; } }\\n div.top-bar h1,\\n div.top-bar .breadcrumbs {\\n margin: 0;\\n line-height: 1;\\n font-size: 14.4px;\\n font-weight: 900;\\n font-family: \\\"Montserrat\\\", Arial, sans-serif;\\n float: left; }\\n @media (min-width: 800px) {\\n div.top-bar h1,\\n div.top-bar .breadcrumbs {\\n font-size: 18px; } }\\n div.top-bar h1 a,\\n div.top-bar .breadcrumbs a {\\n color: #4c4c4c; }\\n div.top-bar h1 a:hover,\\n div.top-bar .breadcrumbs a:hover {\\n text-decoration: underline; }\\n div.top-bar .divider {\\n font-size: 14px;\\n color: #777777;\\n padding: 0 6px; }\\n div.top-bar .top-menu {\\n float: right; }\\n div.top-bar .top-menu button.top-icon,\\n div.top-bar .top-menu a.top-icon {\\n float: left;\\n display: block;\\n line-height: 60px;\\n font-size: 14px;\\n width: 40px;\\n text-align: center;\\n color: #999999;\\n position: relative; }\\n div.top-bar .top-menu button.top-icon:hover,\\n div.top-bar .top-menu a.top-icon:hover {\\n background: whitesmoke;\\n color: #4c4c4c; }\\n @media (max-width: 799px) {\\n div.top-bar .top-menu button.top-icon,\\n div.top-bar .top-menu a.top-icon {\\n display: none; } }\\n div.top-bar .top-menu .dropdown-user {\\n float: left;\\n border-left: 1px solid #ededed;\\n margin-left: 15px; }\\n div.top-bar .top-menu .dropdown-icon {\\n float: left; }\\n\\n.btn-top-bar {\\n font-size: 12px;\\n background: #fff;\\n border-radius: 0;\\n height: 50px;\\n border: 0;\\n padding: 6px 19px;\\n color: #66728B;\\n line-height: 15px; }\\n @media (min-width: 800px) {\\n .btn-top-bar {\\n height: 60px;\\n padding: 6px 30px; } }\\n .btn-top-bar:hover {\\n background: whitesmoke;\\n color: #4c4c4c; }\\n .btn-top-bar > div {\\n float: left;\\n text-align: left;\\n line-height: 15px;\\n font-weight: bold; }\\n @media (max-width: 799px) {\\n .btn-top-bar > div {\\n display: none; } }\\n .btn-top-bar small {\\n text-align: left;\\n font-size: 11px; }\\n .btn-top-bar span {\\n margin-left: 0;\\n margin-top: 6px;\\n font-size: 18px; }\\n @media (min-width: 800px) {\\n .btn-top-bar span {\\n margin-left: 20px;\\n margin-top: 8px;\\n font-size: 12px; } }\\n\\n.navbar-toggle {\\n float: right;\\n border: none;\\n height: 50px;\\n padding: 15px 17px;\\n margin: 0;\\n background: transparent !important;\\n border-left: 1px solid #ededed; }\\n @media (min-width: 800px) {\\n .navbar-toggle {\\n display: none;\\n border-left: none; } }\\n .navbar-toggle .icon-bar {\\n display: block;\\n width: 19px;\\n height: 3px;\\n background-color: #999999;\\n transition: transform 0.3s; }\\n .navbar-toggle .icon-bar + .icon-bar {\\n margin-top: 3px; }\\n\\n.navbar-toggle:focus,\\n.navbar-default .navbar-toggle:hover {\\n background-color: transparent !important; }\\n\\n.navbar-toggle .top-bar {\\n transform: rotate(45deg);\\n transform-origin: 2% 60%; }\\n\\n.navbar-toggle .middle-bar {\\n opacity: 0; }\\n\\n.navbar-toggle .bottom-bar {\\n transform: rotate(-45deg);\\n transform-origin: 8% 60%; }\\n\\n.navbar-toggle.collapsed .top-bar {\\n transform: rotate(0); }\\n\\n.navbar-toggle.collapsed .middle-bar {\\n opacity: 1; }\\n\\n.navbar-toggle.collapsed .bottom-bar {\\n transform: rotate(0); }\\n\\n.dropdown-menu .dropdown-table a {\\n border-bottom: 1px solid #ededed;\\n padding-top: 10px;\\n padding-bottom: 10px; }\\n\\n.dropdown-menu .dropdown-table.last a {\\n border-bottom: none; }\\n\\n.dropdown-menu .unread {\\n color: #4c4c4c;\\n font-weight: bold; }\\n\\n.dropdown-menu .dropdown-small {\\n font-size: 11px;\\n color: rgba(0, 0, 0, 0.4); }\\n\\n.top-bar-icon {\\n color: #011542 !important;\\n color: var(--secondary) !important; }\\n\\nnav.tabnav {\\n display: block;\\n background: #f5f5f5;\\n padding-top: 50px;\\n padding-left: 0;\\n box-shadow: inset 0px -1px 5px 0px rgba(0, 0, 0, 0.1); }\\n @media (min-width: 800px) {\\n nav.tabnav {\\n padding-top: 60px; } }\\n @media (min-width: 1130px) {\\n nav.tabnav {\\n padding-left: 5px; } }\\n\\n@media (min-width: 1130px) {\\n .tabbar-collapse {\\n display: block !important;\\n height: auto !important; } }\\n\\nul.tabnav {\\n background: #E9EDF5; }\\n @media (min-width: 1130px) {\\n ul.tabnav {\\n background: #E9EDF5; } }\\n ul.tabnav > li {\\n padding: 0;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);\\n float: none;\\n margin: 0; }\\n ul.tabnav > li:first-of-type {\\n border-top: 1px solid rgba(255, 255, 255, 0.2); }\\n @media (min-width: 1130px) {\\n ul.tabnav > li {\\n float: left;\\n padding: 0 15px; } }\\n ul.tabnav > li:hover {\\n background: #ededed;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }\\n ul.tabnav > li > a {\\n color: #fff;\\n font-size: 14px;\\n font-weight: bold;\\n line-height: 1.42857;\\n text-transform: uppercase;\\n padding: 15px;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);\\n border-bottom: 1px solid rgba(255, 255, 255, 0.2); }\\n ul.tabnav > li > a:active, ul.tabnav > li > a:focus {\\n background: none; }\\n @media (min-width: 800px) {\\n ul.tabnav > li > a {\\n padding: 15px 30px; } }\\n @media (min-width: 1130px) {\\n ul.tabnav > li > a {\\n color: #011542;\\n font-size: 15px;\\n line-height: 38px;\\n border-bottom: none;\\n border-top: none;\\n padding: 15px 0; } }\\n ul.tabnav > li > a.tabactive {\\n background: #6CC38B;\\n background: var(--primary); }\\n @media (min-width: 1130px) {\\n ul.tabnav > li > a.tabactive {\\n background: none;\\n color: #6CC38B;\\n color: var(--primary);\\n border-bottom: 3px solid #6CC38B;\\n border-bottom: 3px solid var(--primary);\\n padding-bottom: 12px; } }\\n ul.tabnav > li > a:hover {\\n background: #6CC38B;\\n background: var(--primary); }\\n @media (min-width: 1130px) {\\n ul.tabnav > li > a:hover {\\n background: none; } }\\n\\nh2.tabnav {\\n font-size: 18px;\\n font-family: \\\"Montserrat\\\", Arial, sans-serif;\\n line-height: 38px;\\n padding: 15px 15px;\\n display: inline-block;\\n text-transform: uppercase;\\n margin: 0; }\\n @media (min-width: 800px) {\\n h2.tabnav {\\n padding-left: 30px; } }\\n @media (min-width: 1130px) {\\n h2.tabnav {\\n display: none; } }\\n h2.tabnav.display {\\n display: inline-block; }\\n\\n.btn-tabbar {\\n float: right;\\n margin-top: 15px;\\n margin-right: 15px; }\\n @media (min-width: 1130px) {\\n .btn-tabbar {\\n display: none; } }\\n .btn-tabbar .fa:before {\\n content: \\\"\\\\F107\\\"; }\\n .btn-tabbar[aria-expanded=true] .fa:before {\\n content: \\\"\\\\F106\\\"; }\\n\\n#overlay {\\n display: none;\\n position: fixed;\\n width: 100%;\\n height: 100%;\\n z-index: 800;\\n opacity: 0;\\n transition: opacity 500ms cubic-bezier(0.215, 0.61, 0.355, 1);\\n background: rgba(0, 0, 0, 0.3); }\\n @media (max-width: 799px) {\\n #overlay.isopen {\\n display: block;\\n opacity: 1; } }\\n\\n.footer-actions-bar {\\n background: #f5f5f5; }\\n .footer-actions-bar .content-container {\\n padding-top: 15px;\\n padding-bottom: 15px; }\\n .footer-actions-bar .content-container button {\\n margin: 0 0 15px 0; }\\n @media (max-width: 544px) {\\n .footer-actions-bar .content-container button {\\n width: 100%; } }\\n\\n#back-to-top {\\n position: fixed;\\n z-index: 9999;\\n background: #6CC38B;\\n background: var(--primary);\\n text-align: center;\\n cursor: pointer;\\n border-radius: 50%;\\n width: 35px;\\n height: 35px;\\n visibility: hidden;\\n opacity: 0;\\n transition: all .2s ease-in-out;\\n box-shadow: 0 10px 10px rgba(0, 0, 0, 0.05), 0 5px 5px rgba(0, 0, 0, 0.05);\\n bottom: 10px;\\n right: 10px; }\\n #back-to-top.active {\\n opacity: 1;\\n transition: all .2s ease-in-out;\\n visibility: visible; }\\n #back-to-top .fa {\\n text-align: center;\\n line-height: 32px;\\n color: white;\\n font-size: 20px; }\\n #back-to-top:hover {\\n transition: all .2s ease-in-out;\\n background: #6CC38B;\\n background: var(--primary); }\\n\\n@media screen and (min-width: 800px) {\\n #back-to-top {\\n width: 40px;\\n height: 40px;\\n bottom: 15px;\\n right: 15px; }\\n #back-to-top .fa {\\n font-size: 30px; } }\\n\\n#login-carousel {\\n overflow: hidden; }\\n @media (max-width: 799px) {\\n #login-carousel {\\n display: none; } }\\n @media (min-width: 800px) {\\n #login-carousel {\\n position: fixed;\\n top: 0;\\n width: 100%;\\n height: 100vh; } }\\n\\n.login-slide {\\n background-size: cover;\\n background-position: center center;\\n height: 100vh; }\\n\\n@media (max-width: 767px) {\\n .login-container {\\n margin-left: 0px !important; } }\\n\\n@media (min-width: 800px) {\\n .login-container {\\n width: 100%;\\n height: 100%;\\n padding: 30px;\\n position: absolute;\\n z-index: 10;\\n top: 0;\\n margin-left: 110px !important; } }\\n\\n.login-card {\\n background: #fff;\\n text-align: left;\\n width: 100%; }\\n @media (min-width: 800px) {\\n .login-card {\\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);\\n width: 380px; } }\\n .login-card .brand {\\n margin: 25px 0 15px 0;\\n padding: 0 10px;\\n background: #6CC38B;\\n background: var(--primary);\\n height: 86px; }\\n @media (min-width: 800px) {\\n .login-card .brand {\\n margin: 50px 0 46px 0; } }\\n .login-card .brand h1 {\\n color: #011542;\\n font-size: 33px;\\n float: left;\\n line-height: 86px;\\n margin: 0; }\\n .login-card .logo {\\n float: left;\\n background: #fff;\\n height: 86px;\\n margin-right: 25px;\\n padding: 22px; }\\n\\n.login-content {\\n background: #f5f5f5;\\n padding: 36px;\\n border-top: 1px solid #ededed; }\\n .login-content h2 {\\n font-size: 16px;\\n margin-top: 0;\\n margin-bottom: 20px; }\\n .login-content .form-control {\\n background: #fff; }\\n .login-content .form-group {\\n border-bottom: none; }\\n\\n.login-footer {\\n background: #d1d5dc;\\n padding: 14px 36px;\\n border-top: 1px solid #e0e0e0;\\n line-height: 1;\\n font-size: 12px; }\\n .login-footer a {\\n color: #011542;\\n text-decoration: underline;\\n font-weight: bold; }\\n .login-footer a:hover {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.edit-bar {\\n margin-bottom: 30px; }\\n @media (max-width: 799px) {\\n .edit-bar > div > .btn, .edit-bar > div > .k-button {\\n width: 100%;\\n margin-bottom: 30px; } }\\n\\n.panel {\\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05); }\\n @media (min-width: 1130px) {\\n .panel {\\n margin-bottom: 30px; } }\\n\\n.panel-heading {\\n padding: 0;\\n background-color: #6CC38B !important;\\n background-color: var(--primary) !important; }\\n .panel-heading:before, .panel-heading:after {\\n content: \\\" \\\";\\n display: table; }\\n .panel-heading:after {\\n clear: both; }\\n .panel-heading h4 {\\n padding: 0 15px;\\n color: #fff;\\n text-transform: uppercase; }\\n .panel-heading .btn, .panel-heading .k-button {\\n border-color: rgba(255, 255, 255, 0.3);\\n border-top: none;\\n border-bottom: none;\\n border-left: none;\\n box-shadow: none;\\n padding: 15px;\\n line-height: 18px;\\n text-shadow: none;\\n position: relative;\\n border-radius: 0; }\\n .panel-heading .btn.btn-header, .panel-heading .btn-header.k-button {\\n font-size: 18px;\\n font-weight: bold;\\n text-transform: uppercase; }\\n .panel-heading .btn.dropdown-toggle, .panel-heading .dropdown-toggle.k-button {\\n padding-right: 40px; }\\n .panel-heading .btn.dropdown-toggle:after, .panel-heading .dropdown-toggle.k-button:after {\\n font-family: fontawesome;\\n content: \\\"\\\\F107\\\";\\n right: 10px;\\n height: auto;\\n width: 30px;\\n position: absolute;\\n color: #fff;\\n text-align: center;\\n font-size: 16px;\\n font-weight: normal; }\\n .panel-heading .btn.right, .panel-heading .right.k-button {\\n border-left: 1px solid rgba(255, 255, 255, 0.3);\\n border-right: none; }\\n .panel-heading .btn.icon i.fa, .panel-heading .icon.k-button i.fa {\\n margin-left: 10px; }\\n\\n.panel-title {\\n float: left;\\n text-transform: uppercase;\\n padding: 15px;\\n font-weight: 700; }\\n\\n.panel-body.panel-full-width {\\n padding: 0; }\\n\\n.panel-footer:before, .panel-footer:after {\\n content: \\\" \\\";\\n display: table; }\\n\\n.panel-footer:after {\\n clear: both; }\\n\\n.panel-footer small {\\n color: rgba(76, 76, 76, 0.5);\\n line-height: 1; }\\n\\n.modal-content {\\n border-radius: 0;\\n z-index: 1500; }\\n\\n.modal-header {\\n padding: 0;\\n background: #6CC38B;\\n background: var(--primary);\\n color: #fff;\\n font-size: 18px;\\n border-radius: 0; }\\n .modal-header:before, .modal-header:after {\\n content: \\\" \\\";\\n display: table; }\\n .modal-header:after {\\n clear: both; }\\n .modal-header h4 {\\n font-size: 16px;\\n line-height: 1;\\n font-weight: 700; }\\n .modal-header .btn, .modal-header .k-button {\\n border-color: rgba(255, 255, 255, 0.3);\\n border-top: none;\\n border-bottom: none;\\n border-left: none;\\n box-shadow: none;\\n padding: 15px;\\n line-height: 18px;\\n text-shadow: none;\\n position: relative;\\n border-radius: 0; }\\n .modal-header .btn.btn-header, .modal-header .btn-header.k-button {\\n font-size: 18px;\\n font-weight: bold;\\n text-transform: uppercase; }\\n .modal-header .btn.dropdown-toggle, .modal-header .dropdown-toggle.k-button {\\n padding-right: 40px; }\\n .modal-header .btn.dropdown-toggle:after, .modal-header .dropdown-toggle.k-button:after {\\n font-family: fontawesome;\\n content: \\\"\\\\F107\\\";\\n right: 10px;\\n height: auto;\\n width: 30px;\\n position: absolute;\\n color: #fff;\\n text-align: center;\\n font-size: 16px;\\n font-weight: normal; }\\n .modal-header .btn.right, .modal-header .right.k-button {\\n border-left: 1px solid rgba(255, 255, 255, 0.3);\\n border-right: none; }\\n .modal-header .btn.icon i.fa, .modal-header .icon.k-button i.fa {\\n margin-left: 10px; }\\n\\n.modal-title {\\n float: left;\\n text-transform: uppercase;\\n padding: 15px;\\n color: #fff;\\n border-radius: 0; }\\n\\n.modal-body.panel-full-width {\\n padding: 0; }\\n\\n.modal-footer {\\n border-radius: 0;\\n background: #f5f5f5; }\\n .modal-footer:before, .modal-footer:after {\\n content: \\\" \\\";\\n display: table; }\\n .modal-footer:after {\\n clear: both; }\\n .modal-footer small {\\n color: rgba(76, 76, 76, 0.5);\\n line-height: 1; }\\n\\n.select-modal .input-group {\\n margin: 0 0 20px 0; }\\n\\n.select-modal .entry {\\n float: left;\\n width: 100%;\\n background: #f5f5f5;\\n border: 1px solid #d9d9d9;\\n cursor: pointer;\\n position: relative; }\\n .select-modal .entry:last-of-type {\\n border-bottom: none; }\\n .select-modal .entry .inner-entry {\\n display: inline-block;\\n padding: 10px 45px 10px 15px; }\\n .select-modal .entry .info {\\n float: left;\\n height: 60px; }\\n .select-modal .entry .info h4 {\\n font-size: 18px;\\n font-weight: 700;\\n line-height: 1.2;\\n margin-bottom: 0; }\\n .select-modal .entry:hover {\\n background: #60bd68;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .select-modal .entry:hover h4 {\\n color: #fff;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .select-modal .entry:hover ul.data li {\\n color: #fff;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .select-modal .entry img {\\n float: left; }\\n .select-modal .entry ul.data {\\n list-style: none;\\n padding: 0;\\n margin: 0; }\\n .select-modal .entry ul.data li {\\n float: left;\\n padding: 0;\\n margin-right: 20px;\\n font-size: 14px;\\n color: #ccc; }\\n .select-modal .entry .select-box {\\n width: 20px;\\n height: 20px;\\n position: absolute;\\n right: 10px;\\n top: 50%;\\n background: #d9d9d9;\\n border-radius: 50%;\\n margin: -10px 0 0 0;\\n font-size: 12px;\\n text-align: center;\\n color: #60bd68; }\\n .select-modal .entry .select-box .fa {\\n display: none;\\n line-height: 20px;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .select-modal .entry.selected {\\n background: #60bd68;\\n color: #fff; }\\n .select-modal .entry.selected .select-box .fa {\\n display: block;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .select-modal .entry.selected h4 {\\n color: #fff;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .select-modal .entry.selected ul.data li {\\n color: #fff;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n\\n.select-modal .buttons {\\n margin: 20px 0 0 0; }\\n\\ndiv.metric {\\n background: #fff;\\n float: left;\\n border: 1px solid #d9d9d9;\\n padding: 20px 15px;\\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);\\n position: relative;\\n margin-bottom: 15px;\\n cursor: pointer;\\n transition: box-shadow 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);\\n width: 100%; }\\n div.metric:before, div.metric:after {\\n content: \\\" \\\";\\n display: table; }\\n div.metric:after {\\n clear: both; }\\n div.metric.metric-user {\\n padding: 10px 15px; }\\n div.metric.metric-grey {\\n background: #f5f5f5; }\\n div.metric:hover {\\n box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.15);\\n transition: box-shadow 1s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n div.metric.nolink {\\n cursor: default; }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n div.metric {\\n width: calc(50% - (15px/2));\\n margin-left: calc(15px / 2);\\n margin-right: calc(15px / 2); }\\n div.metric:nth-child(odd) {\\n margin-left: 0; }\\n div.metric:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n div.metric {\\n width: calc( (100% - 60px) / 3);\\n margin-left: 15px;\\n margin-right: 15px;\\n margin-bottom: 30px; }\\n div.metric:first-child, div.metric:nth-child(3n+1) {\\n margin-left: 0; }\\n div.metric:nth-child(3n) {\\n margin-right: 0; } }\\n @media (min-width: 1200px) {\\n div.metric {\\n width: calc( (100% - 90px) / 3);\\n margin-left: 15px;\\n margin-right: 15px;\\n margin-bottom: 30px; }\\n div.metric:first-child, div.metric:nth-child(3n+1) {\\n margin-left: 0; }\\n div.metric:nth-child(3n) {\\n margin-right: 0; } }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n div.metric.three-up {\\n width: calc(50% - (15px/2));\\n margin-left: calc(15px / 2);\\n margin-right: calc(15px / 2); }\\n div.metric.three-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric.three-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n div.metric.three-up {\\n width: calc(50% - 15px);\\n margin-left: 15px;\\n margin-right: 15px; }\\n div.metric.three-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric.three-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1200px) {\\n div.metric.three-up {\\n width: calc( (100% - 60px) / 3);\\n margin-left: 15px;\\n margin-right: 15px;\\n margin-bottom: 30px; }\\n div.metric.three-up:first-child, div.metric.three-up:nth-child(3n+1) {\\n margin-left: 0; }\\n div.metric.three-up:nth-child(3n) {\\n margin-right: 0; } }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n div.metric.two-up {\\n width: calc(50% - (15px/2));\\n margin-left: calc(15px / 2);\\n margin-right: calc(15px / 2); }\\n div.metric.two-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric.two-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n div.metric.two-up {\\n width: calc(50% - 15px);\\n margin-left: 15px;\\n margin-right: 15px; }\\n div.metric.two-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric.two-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1200px) {\\n div.metric.two-up {\\n width: calc( (100% - 60px) / 2);\\n margin-left: 15px;\\n margin-right: 15px;\\n margin-bottom: 30px; }\\n div.metric.two-up:first-child, div.metric.two-up:nth-child(3n+1) {\\n margin-right: 15px; }\\n div.metric.two-up:nth-child(3n) {\\n margin-left: 15px; } }\\n div.metric:nth-of-type(9n+1) > .metric-icon {\\n color: #ff6c07;\\n border-color: #ff6c07; }\\n div.metric:nth-of-type(9n+1) > .metric-icon.active, div.metric:nth-of-type(9n+1) > .metric-icon:not(.nolink):hover {\\n background-color: #ff6c07;\\n color: #fff; }\\n div.metric:nth-of-type(9n+2) > .metric-icon {\\n color: #86BBD8;\\n border-color: #86BBD8; }\\n div.metric:nth-of-type(9n+2) > .metric-icon.active, div.metric:nth-of-type(9n+2) > .metric-icon:not(.nolink):hover {\\n background-color: #86BBD8;\\n color: #fff; }\\n div.metric:nth-of-type(9n+3) > .metric-icon {\\n color: #00A5CF;\\n border-color: #00A5CF; }\\n div.metric:nth-of-type(9n+3) > .metric-icon.active, div.metric:nth-of-type(9n+3) > .metric-icon:not(.nolink):hover {\\n background-color: #00A5CF;\\n color: #fff; }\\n div.metric:nth-of-type(9n+4) > .metric-icon {\\n color: #BC2C1A;\\n border-color: #BC2C1A; }\\n div.metric:nth-of-type(9n+4) > .metric-icon.active, div.metric:nth-of-type(9n+4) > .metric-icon:not(.nolink):hover {\\n background-color: #BC2C1A;\\n color: #fff; }\\n div.metric:nth-of-type(9n+5) > .metric-icon {\\n color: #E56399;\\n border-color: #E56399; }\\n div.metric:nth-of-type(9n+5) > .metric-icon.active, div.metric:nth-of-type(9n+5) > .metric-icon:not(.nolink):hover {\\n background-color: #E56399;\\n color: #fff; }\\n div.metric:nth-of-type(9n+6) > .metric-icon {\\n color: #2eb8f6;\\n border-color: #2eb8f6; }\\n div.metric:nth-of-type(9n+6) > .metric-icon.active, div.metric:nth-of-type(9n+6) > .metric-icon:not(.nolink):hover {\\n background-color: #2eb8f6;\\n color: #fff; }\\n div.metric:nth-of-type(9n+7) > .metric-icon {\\n color: #4c5cc5;\\n border-color: #4c5cc5; }\\n div.metric:nth-of-type(9n+7) > .metric-icon.active, div.metric:nth-of-type(9n+7) > .metric-icon:not(.nolink):hover {\\n background-color: #4c5cc5;\\n color: #fff; }\\n div.metric:nth-of-type(9n+8) > .metric-icon {\\n color: #622567;\\n border-color: #622567; }\\n div.metric:nth-of-type(9n+8) > .metric-icon.active, div.metric:nth-of-type(9n+8) > .metric-icon:not(.nolink):hover {\\n background-color: #622567;\\n color: #fff; }\\n div.metric:nth-of-type(9n+9) > .metric-icon {\\n color: #ee3424;\\n border-color: #ee3424; }\\n div.metric:nth-of-type(9n+9) > .metric-icon.active, div.metric:nth-of-type(9n+9) > .metric-icon:not(.nolink):hover {\\n background-color: #ee3424;\\n color: #fff; }\\n\\ndiv.metric-inner {\\n float: left;\\n width: calc(100% - 76px);\\n min-height: 40px; }\\n div.metric-inner h4 {\\n margin: 0;\\n font-size: 11px;\\n line-height: 1.2;\\n color: #4c4c4c;\\n font-weight: 600; }\\n div.metric-inner h5 {\\n margin: 0;\\n font-size: 10px;\\n line-height: 1.2;\\n color: #4c4c4c; }\\n div.metric-inner span {\\n font-size: 18px;\\n line-height: 1.2; }\\n div.metric-inner span.title {\\n font-size: 15px;\\n font-weight: 700;\\n line-height: 1.2; }\\n\\n.metric-user div.metric-inner {\\n width: calc(100% - 96px);\\n height: 60px; }\\n\\n.metric-user .profile-pic-small {\\n float: left;\\n margin-right: 10px; }\\n\\n.metric-icon {\\n border-radius: 50%;\\n padding: 0;\\n width: 40px;\\n height: 40px;\\n background: #fff;\\n float: left;\\n margin-right: 10px;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);\\n border: 3px solid #6CC38B;\\n border: 3px solid var(--primary); }\\n\\n.metric-download {\\n background: #35c4b5 !important;\\n border: 3px solid #35c4b5 !important; }\\n\\n.clean-mini-plus,\\n.clean-mini-help {\\n background: none;\\n border: none;\\n position: absolute;\\n top: 20px; }\\n .clean-mini-plus:hover:after,\\n .clean-mini-help:hover:after {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.clean-mini-plus-alt,\\n.clean-mini-help-alt {\\n font-size: 8.12px;\\n background: none;\\n border: none;\\n color: #50A594;\\n position: absolute;\\n right: 3px; }\\n .clean-mini-plus-alt:after,\\n .clean-mini-help-alt:after {\\n font-family: fontawesome;\\n content: '\\\\F059';\\n line-height: 1;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .clean-mini-plus-alt:hover:after,\\n .clean-mini-help-alt:hover:after {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.clean-mini-help-percentage,\\n.clean-mini-plus-percentage {\\n top: 60px !important; }\\n\\n.metric-menu {\\n position: absolute;\\n right: 15px;\\n top: 15px; }\\n\\n.mini-plus,\\n.mini-help {\\n background: none;\\n border: none;\\n color: #294294;\\n position: absolute;\\n right: 15px; }\\n .mini-plus:after,\\n .mini-help:after {\\n font-family: fontawesome;\\n content: '\\\\F059';\\n line-height: 1;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .mini-plus:hover:after,\\n .mini-help:hover:after {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.clean-mini-help {\\n right: 5px; }\\n\\n.clean-mini-plus {\\n right: 25px; }\\n\\n.mini-help {\\n top: 15px; }\\n .mini-help:after {\\n content: '\\\\F059'; }\\n\\n.clean-mini-plus-alt {\\n top: 25px !important; }\\n .clean-mini-plus-alt:after {\\n content: '\\\\F05A'; }\\n\\n.mini-help-info {\\n background: none;\\n border: none;\\n float: right; }\\n .mini-help-info:after {\\n font-family: fontawesome;\\n content: '\\\\F059';\\n line-height: 1;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }\\n\\n.clean-mini-help-alt {\\n top: 5px !important; }\\n .clean-mini-help-alt:after {\\n content: '\\\\F059'; }\\n\\n.mini-plus {\\n bottom: 15px; }\\n .mini-plus:after {\\n content: '\\\\F05A'; }\\n\\n.mini-menu {\\n background: none;\\n border: none;\\n color: #294294; }\\n .mini-menu:after {\\n font-family: fontawesome;\\n content: '\\\\F13A';\\n line-height: 1;\\n transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .mini-menu:hover:after {\\n color: #6CC38B;\\n color: var(--primary); }\\n\\n.metric-collapse {\\n border-top: 1px solid #D1D5DC; }\\n .metric-collapse:before {\\n content: ' ';\\n height: 30px; }\\n\\n.clean-metric-collapse:before {\\n content: ' ';\\n height: 30px; }\\n\\n.popover-content {\\n width: 11em;\\n background-color: #fff;\\n color: black; }\\n\\n.popover-display {\\n display: none; }\\n\\n/* DUPLICATED WITHOUT COLOUR FUNCTION TO HARDCODE COLOURS ON DASHBOARD METRICS */\\n/*.clean-metric-chart-container {\\r\\n box-shadow: 0px 0px 15px 0px #00000033;\\r\\n height: 66px;\\r\\n border-radius: 5px;\\r\\n\\r\\n}*/\\n.graph-container {\\n margin-top: 15px; }\\n\\n@media (max-width: 1200px) {\\n .graph-container {\\n margin-top: 100px; } }\\n\\n@media (max-width: 550px) {\\n .graph-container {\\n margin-top: 250px; } }\\n\\n.clean-metric-chart {\\n height: 34.69px;\\n background: none;\\n border: none;\\n position: absolute; }\\n\\n.metric-chart-text-alt {\\n color: #50A594 !important; }\\n\\n.metric-chart-text {\\n float: left;\\n width: calc(100% - 76px);\\n min-height: 40px;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden; }\\n\\n.metric-chart-percentage-text {\\n position: absolute;\\n top: 65px;\\n left: 55px;\\n font-size: 18px;\\n font-weight: 500; }\\n\\n.metric-chart-text .primary-text {\\n font-size: 11px;\\n font-weight: 500;\\n line-height: 13.41px;\\n text-align: left; }\\n\\n.metric-chart-text .secondary-text {\\n font-size: 18px;\\n font-weight: 600;\\n line-height: 21.94px;\\n text-align: left;\\n text-overflow: ellipsis;\\n overflow: hidden; }\\n\\n.clean-metric-chart-icon-container {\\n float: left;\\n border: none;\\n background: none;\\n height: 26.53px;\\n margin-right: 5px; }\\n\\n.clean-metric-separator {\\n width: calc(100% - 55px);\\n height: 0px;\\n position: absolute;\\n top: 55px;\\n right: 10px;\\n border: 1px 0px 0px 0px;\\n border: 1px solid rgba(0,0,0,0.10196); }\\n\\n.metric-clean-chart-container {\\n padding: 0px 15px !important; }\\n @media (min-width: 1200px) {\\n .metric-clean-chart-container {\\n margin-bottom: 0px; } }\\n @media (min-width: 544px) and (max-width: 1199px) {\\n .metric-clean-chart-container {\\n margin-bottom: -90px; } }\\n\\ndiv.metric-clean-chart-alt {\\n height: 97px;\\n box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.2);\\n border-radius: 5px;\\n padding: 16px 5px;\\n position: relative;\\n float: left;\\n margin-bottom: 10px;\\n width: 100%; }\\n div.metric-clean-chart-alt:hover {\\n border: 1px solid #56DC92;\\n border: 1px solid var(--metric-active-bg);\\n cursor: pointer;\\n box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.2); }\\n div.metric-clean-chart-alt.active {\\n border: 1px solid #56DC92;\\n border: 1px solid var(--metric-active-bg);\\n cursor: pointer;\\n box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.2); }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n div.metric-clean-chart-alt {\\n width: calc(50% - (15px/2));\\n margin-left: calc(5px / 2);\\n margin-right: calc(20px / 2); }\\n div.metric-clean-chart-alt:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-clean-chart-alt:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n div.metric-clean-chart-alt {\\n width: calc(50% - (15px/2));\\n margin-left: calc(5px / 2);\\n margin-right: calc(20px / 2); }\\n div.metric-clean-chart-alt:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-clean-chart-alt:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1200px) {\\n div.metric-clean-chart-alt {\\n width: calc( (100% - 30px) / 4);\\n margin-left: 10px;\\n margin-right: 0px;\\n margin-bottom: 10px; }\\n div.metric-clean-chart-alt:first-child, div.metric-clean-chart-alt:nth-child(4n+1) {\\n margin-left: 0; }\\n div.metric-clean-chart-alt:nth-child(4n) {\\n margin-right: 0; } }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n div.metric-clean-chart-alt.three-up {\\n width: calc(50% - (15px/2));\\n margin-left: calc(5px / 2);\\n margin-right: calc(20px / 2); }\\n div.metric-clean-chart-alt.three-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-clean-chart-alt.three-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n div.metric-clean-chart-alt.three-up {\\n width: calc(50% - 15px);\\n margin-left: 15px;\\n margin-right: 15px; }\\n div.metric-clean-chart-alt.three-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-clean-chart-alt.three-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1200px) {\\n div.metric-clean-chart-alt.three-up {\\n width: calc( (100% - 30px) / 4);\\n margin-left: 0px;\\n margin-right: 0px;\\n margin-bottom: 10px; }\\n div.metric-clean-chart-alt.three-up:first-child, div.metric-clean-chart-alt.three-up:nth-child(4n+1) {\\n margin-left: 0; }\\n div.metric-clean-chart-alt.three-up:nth-child(4n) {\\n margin-right: 0; } }\\n\\ndiv.metric-clean-chart {\\n height: 67.34px;\\n background: rgba(209,213,220,0.30196);\\n border-radius: 5px;\\n padding: 16px 5px;\\n position: relative;\\n float: left;\\n margin-bottom: 10px;\\n width: 100%; }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n div.metric-clean-chart {\\n width: calc(50% - (15px/2));\\n margin-left: calc(5px / 2);\\n margin-right: calc(20px / 2); }\\n div.metric-clean-chart:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-clean-chart:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n div.metric-clean-chart {\\n width: calc(50% - (15px/2));\\n margin-left: calc(5px / 2);\\n margin-right: calc(20px / 2); }\\n div.metric-clean-chart:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-clean-chart:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1200px) {\\n div.metric-clean-chart {\\n width: calc( (100% - 30px) / 4);\\n margin-left: 10px;\\n margin-right: 0px;\\n margin-bottom: 10px; }\\n div.metric-clean-chart:first-child, div.metric-clean-chart:nth-child(4n+1) {\\n margin-left: 0; }\\n div.metric-clean-chart:nth-child(4n) {\\n margin-right: 0; } }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n div.metric-clean-chart.three-up {\\n width: calc(50% - (15px/2));\\n margin-left: calc(5px / 2);\\n margin-right: calc(20px / 2); }\\n div.metric-clean-chart.three-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-clean-chart.three-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n div.metric-clean-chart.three-up {\\n width: calc(50% - 15px);\\n margin-left: 15px;\\n margin-right: 15px; }\\n div.metric-clean-chart.three-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-clean-chart.three-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1200px) {\\n div.metric-clean-chart.three-up {\\n width: calc( (100% - 60px) / 4);\\n margin-left: 0px;\\n margin-right: 0px;\\n margin-bottom: 10px; }\\n div.metric-clean-chart.three-up:first-child, div.metric-clean-chart.three-up:nth-child(4n+1) {\\n margin-left: 0; }\\n div.metric-clean-chart.three-up:nth-child(4n) {\\n margin-right: 0; } }\\n\\ndiv.metric-chart {\\n background: #fff;\\n float: left;\\n border: 1px solid #D1D5DC;\\n padding: 20px 15px;\\n box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);\\n position: relative;\\n margin-bottom: 15px;\\n cursor: pointer;\\n transition: box-shadow 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);\\n width: 100%; }\\n div.metric-chart:before, div.metric-chart:after {\\n content: \\\" \\\";\\n display: table; }\\n div.metric-chart:after {\\n clear: both; }\\n div.metric-chart.metric-user {\\n padding: 10px 15px; }\\n div.metric-chart.metric-grey {\\n background: #f5f5f5; }\\n div.metric-chart:hover {\\n box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.15);\\n transition: box-shadow 1s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n div.metric-chart.nolink {\\n cursor: default; }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n div.metric-chart {\\n width: calc(50% - (15px/2));\\n margin-left: calc(15px / 2);\\n margin-right: calc(15px / 2); }\\n div.metric-chart:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-chart:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n div.metric-chart {\\n width: calc( (100% - 60px) / 3);\\n margin-left: 15px;\\n margin-right: 15px;\\n margin-bottom: 30px; }\\n div.metric-chart:first-child, div.metric-chart:nth-child(3n+1) {\\n margin-left: 0; }\\n div.metric-chart:nth-child(3n) {\\n margin-right: 0; } }\\n @media (min-width: 1200px) {\\n div.metric-chart {\\n width: calc( (100% - 90px) / 3);\\n margin-left: 15px;\\n margin-right: 15px;\\n margin-bottom: 30px; }\\n div.metric-chart:first-child, div.metric-chart:nth-child(3n+1) {\\n margin-left: 0; }\\n div.metric-chart:nth-child(3n) {\\n margin-right: 0; } }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n div.metric-chart.three-up {\\n width: calc(50% - (15px/2));\\n margin-left: calc(15px / 2);\\n margin-right: calc(15px / 2); }\\n div.metric-chart.three-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-chart.three-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n div.metric-chart.three-up {\\n width: calc(50% - 15px);\\n margin-left: 15px;\\n margin-right: 15px; }\\n div.metric-chart.three-up:nth-child(odd) {\\n margin-left: 0; }\\n div.metric-chart.three-up:nth-child(even) {\\n margin-right: 0; } }\\n @media (min-width: 1200px) {\\n div.metric-chart.three-up {\\n width: calc( (100% - 60px) / 3);\\n margin-left: 15px;\\n margin-right: 15px;\\n margin-bottom: 30px; }\\n div.metric-chart.three-up:first-child, div.metric-chart.three-up:nth-child(3n+1) {\\n margin-left: 0; }\\n div.metric-chart.three-up:nth-child(3n) {\\n margin-right: 0; } }\\n\\ndiv.collapse-link {\\n position: relative;\\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\\n height: 1px;\\n margin-bottom: 30px; }\\n\\na.collapse-link {\\n display: block;\\n position: absolute;\\n top: -10px;\\n width: 100%;\\n text-align: center;\\n line-height: 20px;\\n color: rgba(76, 76, 76, 0.5); }\\n a.collapse-link:hover {\\n color: #4c4c4c; }\\n a.collapse-link span {\\n display: inline-block;\\n background: #ededed;\\n padding-left: 10px;\\n padding-right: 10px; }\\n\\ndiv.panel-collapse {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.1); }\\n div.panel-collapse:after, div.panel-collapse:before {\\n content: ' ';\\n height: 15px; }\\n @media (min-width: 800px) {\\n div.panel-collapse {\\n padding: 0 15px; }\\n div.panel-collapse:after, div.panel-collapse:before {\\n content: ' ';\\n height: 30px; } }\\n\\ndiv.filter-collapse {\\n border-top: 1px solid rgba(0, 0, 0, 0.1);\\n background: #f5f5f5;\\n padding: 0 15px 15px 15px; }\\n @media (min-width: 800px) {\\n div.filter-collapse {\\n padding: 0 15px; } }\\n\\n#calendar-start,\\n#calendar-end {\\n width: 100%; }\\n\\n.profile-pic-small {\\n border-radius: 50%;\\n margin-right: 10px; }\\n\\n.enterprise-list {\\n border-bottom: 1px solid #d9d9d9;\\n position: relative;\\n cursor: pointer;\\n padding: 10px;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .enterprise-list:before, .enterprise-list:after {\\n content: \\\" \\\";\\n display: table; }\\n .enterprise-list:after {\\n clear: both; }\\n .enterprise-list:hover {\\n background: #f5f5f5; }\\n .enterprise-list:last-of-type {\\n border-bottom: none; }\\n .enterprise-list .enterprise-logo {\\n float: left;\\n width: 268px;\\n height: 60px;\\n border: 1px solid #d9d9d9;\\n text-align: center;\\n background: #fff;\\n margin-right: 15px; }\\n @media (max-width: 799px) {\\n .enterprise-list .enterprise-logo {\\n display: none; } }\\n .enterprise-list .enterprise-logo img {\\n max-width: 90%;\\n height: auto;\\n max-height: 90%;\\n position: relative;\\n top: 50%;\\n transform: translateY(-50%); }\\n .enterprise-list .enterprise-info {\\n float: left;\\n width: calc(100% - 10px - 20px - 50px); }\\n @media (min-width: 800px) {\\n .enterprise-list .enterprise-info {\\n width: calc(100% - 115px - 15px - 20px - 50px); } }\\n .enterprise-list .enterprise-info h4 {\\n margin-bottom: 5px;\\n padding-top: 5px; }\\n .enterprise-list ul.enterprise-data {\\n list-style: none;\\n padding: 0;\\n margin: 0; }\\n .enterprise-list ul.enterprise-data li {\\n float: left;\\n padding: 0;\\n margin-right: 20px;\\n font-size: 14px;\\n color: #ccc; }\\n\\n.list-dropdown {\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n right: 20px;\\n z-index: 50; }\\n .list-dropdown.open {\\n z-index: 500; }\\n .list-dropdown .drop-downmenu {\\n z-index: 100; }\\n\\n.enterprise-list-container {\\n background-color: #FFFFFF;\\n border: 1px solid #F2F2F2;\\n border-radius: 10px;\\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);\\n padding: 30px;\\n /* Make the filter cell of the first column sticky */ }\\n .enterprise-list-container .enterprise-action-button {\\n min-width: 208px;\\n border-radius: 3px !important; }\\n .enterprise-list-container .k-grid .k-grid-header th.k-header:first-child,\\n .enterprise-list-container .k-filtercell:first-child,\\n .enterprise-list-container .k-grid .k-grid-content td:first-child {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 0;\\n z-index: 1; }\\n .enterprise-list-container .k-grid .k-filter-row th:first-child {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 0;\\n z-index: 2; }\\n .enterprise-list-container .k-grid,\\n .enterprise-list-container .k-grid-header,\\n .enterprise-list-container .k-grid-header-wrap {\\n border-top-right-radius: 10px;\\n border-top-left-radius: 10px; }\\n .enterprise-list-container .k-grid .k-grid-content {\\n overflow-x: auto; }\\n .enterprise-list-container .enterprise-info {\\n background-color: #FFFFFF; }\\n .enterprise-list-container .btn-enterprise-dropdown {\\n color: #66728B;\\n background-color: #FFFFFF;\\n border: 1px solid #66728B;\\n border-radius: 3px !important;\\n font-size: 24px;\\n width: 35px;\\n height: 35px;\\n padding: 0; }\\n .enterprise-list-container .k-filtercell {\\n position: relative; }\\n .enterprise-list-container .k-filtercell input {\\n padding-left: 24px; }\\n .enterprise-list-container .k-filtercell .k-icon {\\n position: absolute;\\n right: 15px;\\n top: 50%;\\n transform: translateY(-50%);\\n pointer-events: none; }\\n .enterprise-list-container .k-grid-header th.k-header > .k-link {\\n font-weight: 400;\\n font-size: 14px;\\n color: #000; }\\n .enterprise-list-container .k-filter-row th,\\n .enterprise-list-container .k-grid-header th.k-header {\\n font-weight: 400;\\n font-size: 14px;\\n color: #000; }\\n\\n.br-10 {\\n border-radius: 10px !important; }\\n\\n.enterprise-overview {\\n color: #011542;\\n font-size: 14px;\\n font-weight: 400;\\n /*Enterprise Overview list Temporaty Style*/ }\\n .enterprise-overview .start-on-new-page {\\n padding-top: 50px; }\\n .enterprise-overview .missing-metrics-content {\\n margin-top: 5px; }\\n .enterprise-overview .missing-metrics .btn, .enterprise-overview .missing-metrics .k-button {\\n float: right;\\n margin-top: -5px;\\n background-color: #fff; }\\n .enterprise-overview .missing-metrics .btn:hover, .enterprise-overview .missing-metrics .k-button:hover {\\n background-color: #56DC92; }\\n .enterprise-overview .expired-cert-warning {\\n background: rgba(255,122,0,0.10196);\\n border-radius: 5px;\\n padding: 15px;\\n height: 62px;\\n vertical-align: middle;\\n margin-left: 15px;\\n margin-right: 15px;\\n margin-bottom: 10px; }\\n .enterprise-overview .expired-cert-warning span {\\n font-size: 16px;\\n color: #000; }\\n .enterprise-overview .expired-cert-warning img {\\n margin-right: 5px;\\n margin-top: -3px; }\\n .enterprise-overview hr {\\n color: #DDDDDD;\\n height: 1px; }\\n .enterprise-overview .print-logo {\\n width: 150px;\\n height: 120px;\\n border: 1px solid #d9d9d9;\\n text-align: center;\\n background: #fff;\\n margin-right: 15px;\\n margin-bottom: 30px;\\n padding: 5px; }\\n .enterprise-overview .enterprise-logo {\\n width: 268px;\\n height: 178px;\\n border: 1px solid #d9d9d9;\\n text-align: center;\\n background: #fff;\\n margin-right: 15px;\\n margin-bottom: 30px; }\\n .enterprise-overview .enterprise-logo #overview-img {\\n width: 100%;\\n max-height: 155px; }\\n .enterprise-overview .enterprise-info .btn-outline-primary,\\n .enterprise-overview .enterprise-info .btn-outline-secondary {\\n width: 100%;\\n max-width: 268px;\\n margin-bottom: 15px; }\\n .enterprise-overview .enterprise-info .sub-heading {\\n font-size: 12px;\\n color: #66728B;\\n line-height: 15px;\\n font-weight: 400; }\\n .enterprise-overview .enterprise-info .sub-heading-content {\\n font-size: 14px;\\n font-weight: 500;\\n line-height: 17px; }\\n .enterprise-overview .py-4 {\\n padding-top: 1.5rem;\\n padding-bottom: 1.5rem; }\\n .enterprise-overview .py-3 {\\n padding-top: 1rem;\\n padding-bottom: 1rem; }\\n .enterprise-overview .enterprise-heading {\\n font-weight: 600;\\n font-size: 22px;\\n line-height: 27px;\\n color: #011542;\\n text-transform: uppercase;\\n padding-bottom: 10px; }\\n .enterprise-overview .funds-enterprise-heading {\\n font-weight: 700;\\n line-height: 28px;\\n padding-bottom: 10px; }\\n .enterprise-overview .enterprise-overview-list {\\n border: none;\\n margin-left: 10px; }\\n .enterprise-overview .enterprise-overview-list li {\\n list-style: none;\\n padding-left: 1em;\\n color: #011542;\\n font-size: 14px;\\n font-weight: 400; }\\n .enterprise-overview .enterprise-overview-list li::before {\\n content: \\\"\\\\2022\\\";\\n color: #000;\\n font-size: 1em;\\n /* Adjust this value to change the bullet size */\\n display: inline-block;\\n width: 1em;\\n margin-left: -1em;\\n position: relative;\\n top: -0.25em;\\n /* Adjust this value to vertically align the bullet */ }\\n .enterprise-overview .tabnav {\\n color: #011542;\\n box-shadow: none;\\n width: 100%;\\n padding: 0;\\n background: transparent;\\n font-size: 18px;\\n height: 43px;\\n font-weight: 400; }\\n .enterprise-overview .tabnav .tabnav a {\\n color: #011542;\\n font-size: 18px;\\n font-weight: 600;\\n line-height: 22px; }\\n .enterprise-overview .tabnav .tabactive {\\n font-weight: 700 !important;\\n color: #011542; }\\n .enterprise-overview .overview-performance {\\n padding-top: 20px;\\n padding-left: 15px; }\\n @media (min-width: 544px) and (max-width: 1129px) {\\n .enterprise-overview .metrics-container .metric-clean-chart {\\n width: calc(50% - (15px/2));\\n margin-left: calc(5px / 2); } }\\n @media (min-width: 1130px) and (max-width: 1199px) {\\n .enterprise-overview .metrics-container .metric-clean-chart {\\n width: calc((100% - 60px) / 3);\\n margin-left: 15px;\\n margin-right: 15px;\\n margin-bottom: 30px; } }\\n @media (min-width: 1200px) {\\n .enterprise-overview .metrics-container .metric-clean-chart {\\n width: calc((100% - 30px) / 3);\\n margin-left: 0px;\\n margin-right: 10px;\\n margin-bottom: 10px; } }\\n .enterprise-overview .metrics-container .metric-clean-chart .primary-text {\\n font-size: 11px;\\n color: #4C4C4C; }\\n .enterprise-overview .metrics-container .metric-clean-chart .secondary-text {\\n font-size: 18px;\\n font-weight: 500;\\n color: #011542; }\\n .enterprise-overview .metrics-container .metric-clean-chart .alt-text {\\n color: #50A594;\\n font-size: 18px; }\\n\\n.clean-metrics-container .metric-clean-chart {\\n border: 0.5px solid #E7E5E5;\\n background-color: #fff;\\n width: 265px;\\n margin-left: 0px;\\n margin-right: 10px;\\n height: 67px;\\n border-radius: 5px;\\n box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.10196); }\\n\\n.clean-metrics-container .clean-metric-user .profile-pic-small {\\n float: left;\\n margin-right: 10px;\\n margin-left: 10px;\\n border-radius: 50%;\\n border: 2px solid #339683; }\\n\\n.clean-metrics-container .clean-mini-menu {\\n width: 6.11px;\\n height: 6.11px;\\n color: #50A594;\\n padding: 0;\\n border: none;\\n border-radius: 50%;\\n background-color: #50A594; }\\n\\n.clean-metrics-container .metric-menu {\\n top: 10px; }\\n\\n.clean-metrics-container .dropdown-menu-right {\\n right: 10px;\\n left: auto; }\\n\\n.clean-metrics-container .dropdown-menu {\\n top: 20%; }\\n\\n.clean-metrics-container .title {\\n color: #011542;\\n font-size: 16px;\\n font-weight: 500; }\\n\\n.clean-metrics-container .sub-title {\\n font-size: 11px;\\n color: #4C4C4C;\\n font-weight: 400; }\\n\\n.clean-metrics-container .clean-metric-icon {\\n width: 37px;\\n height: 37px;\\n border: none;\\n background-color: transparent;\\n padding: 0;\\n margin-left: 10px; }\\n\\n.clean-metrics-container .clean-mini-help-dropdown {\\n right: 9px;\\n top: 25px !important;\\n color: #50A594; }\\n\\n.clean-metrics-container .clean-panel-bg {\\n background: rgba(80,89,123,0.6); }\\n\\n@media screen {\\n .print-only {\\n display: none;\\n /* Hide image on screen */ } }\\n\\n@media print {\\n .no-print {\\n display: none !important;\\n /* Hide these elements when printing */ }\\n .content-no-break {\\n page-break-inside: avoid;\\n -moz-column-break-inside: avoid;\\n break-inside: avoid;\\n padding-top: 20px;\\n /* Adds space at the top of new pages */ }\\n .btn-primary,\\n .date-picker {\\n color: rgba(255,255,255,1) !important;\\n -webkit-print-color-adjust: exact;\\n /* Ensure background colors are printed */\\n print-color-adjust: exact; } }\\n\\n.fund-overview-padding {\\n padding-top: 10px;\\n padding-bottom: 20px; }\\n\\n.button-holder {\\n position: relative; }\\n\\n.button-holder .button {\\n position: absolute;\\n top: 5px;\\n right: 10px; }\\n\\n.clean-metric-headers {\\n font-size: 22px;\\n font-weight: 600;\\n line-height: 26.82px;\\n text-align: left;\\n text-underline-position: from-font;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none;\\n color: #011542;\\n margin-bottom: 10px; }\\n\\n.strong-content-text {\\n font-weight: 700;\\n font-size: 14px; }\\n\\n.clean-metric-text {\\n font-weight: 500; }\\n\\n.content-width {\\n width: 76% !important; }\\n\\n.progress-bar-color {\\n background-color: #50A594 !important; }\\n\\n.clean-progress-custom {\\n margin: 8px 0 30px 0; }\\n .clean-progress-custom .reporting-dates-container {\\n margin: 0;\\n position: relative;\\n width: 100%;\\n font-size: 14px; }\\n .clean-progress-custom .reporting-dates-container .report-start,\\n .clean-progress-custom .reporting-dates-container .report-end {\\n position: absolute;\\n margin-top: -1.6em;\\n height: 1.9em;\\n background-repeat: no-repeat;\\n background-position: right; }\\n .clean-progress-custom .progress-container {\\n margin: 0 !important; }\\n .clean-progress-custom .progress-meta {\\n margin-top: 15px; }\\n .clean-progress-custom .bold-text {\\n font-weight: bold; }\\n\\n.programme-list {\\n border-bottom: 1px solid #d9d9d9;\\n position: relative;\\n cursor: pointer;\\n padding: 10px;\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }\\n .programme-list:before, .programme-list:after {\\n content: \\\" \\\";\\n display: table; }\\n .programme-list:after {\\n clear: both; }\\n .programme-list:hover {\\n background: #f5f5f5; }\\n .programme-list:last-of-type {\\n border-bottom: none; }\\n .programme-list .programme-info {\\n float: left;\\n width: calc(100% - 10px - 20px - 50px); }\\n @media (min-width: 800px) {\\n .programme-list .programme-info {\\n width: calc(100% - 115px - 15px - 20px - 50px); } }\\n .programme-list .programme-info h4 {\\n margin-bottom: 5px;\\n padding-top: 5px; }\\n .programme-list ul.programme-data {\\n list-style: none;\\n padding: 0;\\n margin: 0; }\\n .programme-list ul.programme-data li {\\n float: left;\\n pading: 0;\\n margin-right: 20px;\\n font-size: 14px;\\n color: #ccc; }\\n\\n.progress-container {\\n width: 100%;\\n height: 18px;\\n border: 1px solid #e5e5e5;\\n border-radius: 10px;\\n background: #f8f7f7;\\n margin: 8px 0 30px 0;\\n overflow: hidden; }\\n .progress-container .progress-bar {\\n box-shadow: none;\\n background: #6CC38B;\\n background: var(--primary); }\\n\\n.news-container .news-list {\\n width: 320px;\\n height: 100%;\\n float: left;\\n overflow-x: hidden;\\n padding: 0;\\n border-right: 1px solid #ebebeb; }\\n @media (max-width: 1129px) {\\n .news-container .news-list {\\n width: 100%; } }\\n .news-container .news-list > div {\\n min-height: 100%;\\n overflow: hidden;\\n position: relative !important;\\n padding: 0;\\n margin: 0; }\\n .news-container .news-list article {\\n float: left;\\n width: 100%;\\n padding: 20px 30px;\\n margin: 0; }\\n .news-container .news-list article ul.news-data {\\n list-style: none;\\n padding: 0;\\n margin: 0; }\\n .news-container .news-list article ul.news-data li {\\n float: left;\\n pading: 0;\\n margin-right: 20px;\\n font-size: 14px;\\n color: #ccc; }\\n .news-container .news-list article.selected {\\n background: #80ab40; }\\n .news-container .news-list article.selected h4 {\\n color: #fff; }\\n .news-container .news-list article:hover {\\n background: #80ab40;\\n cursor: pointer; }\\n .news-container .news-list article:hover h4 {\\n color: #fff; }\\n\\n.news-container .news-view {\\n width: calc(100% - 320px);\\n height: 100%;\\n float: left;\\n overflow-x: hidden;\\n padding: 0; }\\n @media (max-width: 1129px) {\\n .news-container .news-view {\\n width: 100%;\\n height: 100%;\\n float: none;\\n position: absolute;\\n top: 128px;\\n left: calc(100vw - 220px);\\n transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); } }\\n .news-container .news-view > div {\\n min-height: 100%;\\n max-height: 100%;\\n overflow: hidden;\\n position: relative !important;\\n padding: 0;\\n margin: 0; }\\n .news-container .news-view .inner-news-view {\\n float: left;\\n padding: 25px;\\n min-height: 100%;\\n max-height: 100%; }\\n .news-container .news-view .inner-news-view ul.news-data {\\n list-style: none;\\n padding: 0;\\n margin: 0 0 35px 0;\\n width: 100%;\\n display: inline-block; }\\n .news-container .news-view .inner-news-view ul.news-data li {\\n float: left;\\n pading: 0;\\n margin-right: 20px;\\n font-size: 14px;\\n color: #ccc; }\\n\\n.form-progress {\\n margin: 20px 0 0 0; }\\n .form-progress .owl-item {\\n padding-top: 15px;\\n border-top: 10px solid #eae8e7;\\n margin-top: -12px; }\\n .form-progress .owl-item.active {\\n border-top: 8px solid #eae8e7; }\\n .form-progress .form-progress-item {\\n text-align: center; }\\n .form-progress .progress-bar-track {\\n height: 8px;\\n width: 100%;\\n background: #ededed;\\n position: relative;\\n margin-bottom: 16px; }\\n .form-progress .progress-bar-disc {\\n background: #ededed;\\n position: absolute;\\n height: 24px;\\n width: 24px;\\n top: -8px;\\n left: calc(50% - 12px);\\n border-radius: 12px; }\\n .form-progress .synced {\\n color: #6CC38B !important;\\n color: var(--primary) !important; }\\n .form-progress .synced .progress-bar-track:after {\\n content: '';\\n position: absolute;\\n top: 2px;\\n left: 0px;\\n width: 50%;\\n height: 4px;\\n background: #6CC38B;\\n background: var(--primary); }\\n .form-progress .synced .progress-bar-disc:after {\\n content: '';\\n position: absolute;\\n top: 4px;\\n background: #6CC38B;\\n background: var(--primary);\\n left: 4px;\\n width: 16px;\\n height: 16px;\\n border-radius: 10px; }\\n .form-progress .synced-previous .progress-bar-track:after {\\n content: '';\\n position: absolute;\\n top: 2px;\\n left: 0px;\\n width: 100%;\\n height: 4px;\\n background: #6CC38B;\\n background: var(--primary); }\\n .form-progress .synced-previous .progress-bar-disc:after {\\n content: '';\\n position: absolute;\\n top: 4px;\\n background: #6CC38B;\\n background: var(--primary);\\n left: 4px;\\n width: 16px;\\n height: 16px;\\n border-radius: 10px; }\\n\\n.owl-nav .owl-prev {\\n margin-top: 15px;\\n float: left; }\\n .owl-nav .owl-prev:before {\\n content: '' !important; }\\n\\n.owl-nav .owl-next {\\n margin-top: 15px;\\n margin-right: 18px;\\n float: right; }\\n\\n.confirmation {\\n padding-top: 36px; }\\n .confirmation .btn, .confirmation .k-button {\\n margin-top: 26px; }\\n .confirmation .confirmation-content {\\n text-align: center; }\\n\", \"\"]);\n\n// exports\n","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"@charset \\\"UTF-8\\\";\\n/*!\\r\\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\\r\\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\\r\\n */\\n/* FONT PATH\\r\\n * -------------------------- */\\n@font-face {\\n font-family: 'FontAwesome';\\n src: url(\" + escape(require(\"../fonts/fontawesome-webfont.eot?v=4.7.0\")) + \");\\n src: url(\" + escape(require(\"../fonts/fontawesome-webfont.eot\")) + \"?#iefix&v=4.7.0) format(\\\"embedded-opentype\\\"), url(\" + escape(require(\"../fonts/fontawesome-webfont.woff2?v=4.7.0\")) + \") format(\\\"woff2\\\"), url(\" + escape(require(\"../fonts/fontawesome-webfont.woff?v=4.7.0\")) + \") format(\\\"woff\\\"), url(\" + escape(require(\"../fonts/fontawesome-webfont.ttf?v=4.7.0\")) + \") format(\\\"truetype\\\"), url(\" + escape(require(\"../fonts/fontawesome-webfont.svg?v=4.7.0\")) + \"#fontawesomeregular) format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n\\n.fa {\\n display: inline-block;\\n font: normal normal normal 14px/1 FontAwesome;\\n font-size: inherit;\\n text-rendering: auto;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n\\n/* makes the font 33% larger relative to the icon container */\\n.fa-lg {\\n font-size: 1.33333em;\\n line-height: 0.75em;\\n vertical-align: -15%; }\\n\\n.fa-2x {\\n font-size: 2em; }\\n\\n.fa-3x {\\n font-size: 3em; }\\n\\n.fa-4x {\\n font-size: 4em; }\\n\\n.fa-5x {\\n font-size: 5em; }\\n\\n.fa-fw {\\n width: 1.28571em;\\n text-align: center; }\\n\\n.fa-ul {\\n padding-left: 0;\\n margin-left: 2.14286em;\\n list-style-type: none; }\\n .fa-ul > li {\\n position: relative; }\\n\\n.fa-li {\\n position: absolute;\\n left: -2.14286em;\\n width: 2.14286em;\\n top: 0.14286em;\\n text-align: center; }\\n .fa-li.fa-lg {\\n left: -1.85714em; }\\n\\n.fa-border {\\n padding: .2em .25em .15em;\\n border: solid 0.08em #eee;\\n border-radius: .1em; }\\n\\n.fa-pull-left {\\n float: left; }\\n\\n.fa-pull-right {\\n float: right; }\\n\\n.fa.fa-pull-left {\\n margin-right: .3em; }\\n\\n.fa.fa-pull-right {\\n margin-left: .3em; }\\n\\n/* Deprecated as of 4.4.0 */\\n.pull-right {\\n float: right; }\\n\\n.pull-left {\\n float: left; }\\n\\n.fa.pull-left {\\n margin-right: .3em; }\\n\\n.fa.pull-right {\\n margin-left: .3em; }\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear; }\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8); }\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg); }\\n 100% {\\n transform: rotate(359deg); } }\\n\\n@keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg); }\\n 100% {\\n transform: rotate(359deg); } }\\n\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n transform: rotate(90deg); }\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n transform: rotate(180deg); }\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n transform: rotate(270deg); }\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n transform: scale(-1, 1); }\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n transform: scale(1, -1); }\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical {\\n filter: none; }\\n\\n.fa-stack {\\n position: relative;\\n display: inline-block;\\n width: 2em;\\n height: 2em;\\n line-height: 2em;\\n vertical-align: middle; }\\n\\n.fa-stack-1x, .fa-stack-2x {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n text-align: center; }\\n\\n.fa-stack-1x {\\n line-height: inherit; }\\n\\n.fa-stack-2x {\\n font-size: 2em; }\\n\\n.fa-inverse {\\n color: #fff; }\\n\\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\\r\\n readers do not read off random characters that represent icons */\\n.fa-glass:before {\\n content: \\\"\\\\F000\\\"; }\\n\\n.fa-music:before {\\n content: \\\"\\\\F001\\\"; }\\n\\n.fa-search:before {\\n content: \\\"\\\\F002\\\"; }\\n\\n.fa-envelope-o:before {\\n content: \\\"\\\\F003\\\"; }\\n\\n.fa-heart:before {\\n content: \\\"\\\\F004\\\"; }\\n\\n.fa-star:before {\\n content: \\\"\\\\F005\\\"; }\\n\\n.fa-star-o:before {\\n content: \\\"\\\\F006\\\"; }\\n\\n.fa-user:before {\\n content: \\\"\\\\F007\\\"; }\\n\\n.fa-film:before {\\n content: \\\"\\\\F008\\\"; }\\n\\n.fa-th-large:before {\\n content: \\\"\\\\F009\\\"; }\\n\\n.fa-th:before {\\n content: \\\"\\\\F00A\\\"; }\\n\\n.fa-th-list:before {\\n content: \\\"\\\\F00B\\\"; }\\n\\n.fa-check:before {\\n content: \\\"\\\\F00C\\\"; }\\n\\n.fa-remove:before,\\n.fa-close:before,\\n.fa-times:before {\\n content: \\\"\\\\F00D\\\"; }\\n\\n.fa-search-plus:before {\\n content: \\\"\\\\F00E\\\"; }\\n\\n.fa-search-minus:before {\\n content: \\\"\\\\F010\\\"; }\\n\\n.fa-power-off:before {\\n content: \\\"\\\\F011\\\"; }\\n\\n.fa-signal:before {\\n content: \\\"\\\\F012\\\"; }\\n\\n.fa-gear:before,\\n.fa-cog:before {\\n content: \\\"\\\\F013\\\"; }\\n\\n.fa-trash-o:before {\\n content: \\\"\\\\F014\\\"; }\\n\\n.fa-home:before {\\n content: \\\"\\\\F015\\\"; }\\n\\n.fa-file-o:before {\\n content: \\\"\\\\F016\\\"; }\\n\\n.fa-clock-o:before {\\n content: \\\"\\\\F017\\\"; }\\n\\n.fa-road:before {\\n content: \\\"\\\\F018\\\"; }\\n\\n.fa-download:before {\\n content: \\\"\\\\F019\\\"; }\\n\\n.fa-arrow-circle-o-down:before {\\n content: \\\"\\\\F01A\\\"; }\\n\\n.fa-arrow-circle-o-up:before {\\n content: \\\"\\\\F01B\\\"; }\\n\\n.fa-inbox:before {\\n content: \\\"\\\\F01C\\\"; }\\n\\n.fa-play-circle-o:before {\\n content: \\\"\\\\F01D\\\"; }\\n\\n.fa-rotate-right:before,\\n.fa-repeat:before {\\n content: \\\"\\\\F01E\\\"; }\\n\\n.fa-refresh:before {\\n content: \\\"\\\\F021\\\"; }\\n\\n.fa-list-alt:before {\\n content: \\\"\\\\F022\\\"; }\\n\\n.fa-lock:before {\\n content: \\\"\\\\F023\\\"; }\\n\\n.fa-flag:before {\\n content: \\\"\\\\F024\\\"; }\\n\\n.fa-headphones:before {\\n content: \\\"\\\\F025\\\"; }\\n\\n.fa-volume-off:before {\\n content: \\\"\\\\F026\\\"; }\\n\\n.fa-volume-down:before {\\n content: \\\"\\\\F027\\\"; }\\n\\n.fa-volume-up:before {\\n content: \\\"\\\\F028\\\"; }\\n\\n.fa-qrcode:before {\\n content: \\\"\\\\F029\\\"; }\\n\\n.fa-barcode:before {\\n content: \\\"\\\\F02A\\\"; }\\n\\n.fa-tag:before {\\n content: \\\"\\\\F02B\\\"; }\\n\\n.fa-tags:before {\\n content: \\\"\\\\F02C\\\"; }\\n\\n.fa-book:before {\\n content: \\\"\\\\F02D\\\"; }\\n\\n.fa-bookmark:before {\\n content: \\\"\\\\F02E\\\"; }\\n\\n.fa-print:before {\\n content: \\\"\\\\F02F\\\"; }\\n\\n.fa-camera:before {\\n content: \\\"\\\\F030\\\"; }\\n\\n.fa-font:before {\\n content: \\\"\\\\F031\\\"; }\\n\\n.fa-bold:before {\\n content: \\\"\\\\F032\\\"; }\\n\\n.fa-italic:before {\\n content: \\\"\\\\F033\\\"; }\\n\\n.fa-text-height:before {\\n content: \\\"\\\\F034\\\"; }\\n\\n.fa-text-width:before {\\n content: \\\"\\\\F035\\\"; }\\n\\n.fa-align-left:before {\\n content: \\\"\\\\F036\\\"; }\\n\\n.fa-align-center:before {\\n content: \\\"\\\\F037\\\"; }\\n\\n.fa-align-right:before {\\n content: \\\"\\\\F038\\\"; }\\n\\n.fa-align-justify:before {\\n content: \\\"\\\\F039\\\"; }\\n\\n.fa-list:before {\\n content: \\\"\\\\F03A\\\"; }\\n\\n.fa-dedent:before,\\n.fa-outdent:before {\\n content: \\\"\\\\F03B\\\"; }\\n\\n.fa-indent:before {\\n content: \\\"\\\\F03C\\\"; }\\n\\n.fa-video-camera:before {\\n content: \\\"\\\\F03D\\\"; }\\n\\n.fa-photo:before,\\n.fa-image:before,\\n.fa-picture-o:before {\\n content: \\\"\\\\F03E\\\"; }\\n\\n.fa-pencil:before {\\n content: \\\"\\\\F040\\\"; }\\n\\n.fa-map-marker:before {\\n content: \\\"\\\\F041\\\"; }\\n\\n.fa-adjust:before {\\n content: \\\"\\\\F042\\\"; }\\n\\n.fa-tint:before {\\n content: \\\"\\\\F043\\\"; }\\n\\n.fa-edit:before,\\n.fa-pencil-square-o:before {\\n content: \\\"\\\\F044\\\"; }\\n\\n.fa-share-square-o:before {\\n content: \\\"\\\\F045\\\"; }\\n\\n.fa-check-square-o:before {\\n content: \\\"\\\\F046\\\"; }\\n\\n.fa-arrows:before {\\n content: \\\"\\\\F047\\\"; }\\n\\n.fa-step-backward:before {\\n content: \\\"\\\\F048\\\"; }\\n\\n.fa-fast-backward:before {\\n content: \\\"\\\\F049\\\"; }\\n\\n.fa-backward:before {\\n content: \\\"\\\\F04A\\\"; }\\n\\n.fa-play:before {\\n content: \\\"\\\\F04B\\\"; }\\n\\n.fa-pause:before {\\n content: \\\"\\\\F04C\\\"; }\\n\\n.fa-stop:before {\\n content: \\\"\\\\F04D\\\"; }\\n\\n.fa-forward:before {\\n content: \\\"\\\\F04E\\\"; }\\n\\n.fa-fast-forward:before {\\n content: \\\"\\\\F050\\\"; }\\n\\n.fa-step-forward:before {\\n content: \\\"\\\\F051\\\"; }\\n\\n.fa-eject:before {\\n content: \\\"\\\\F052\\\"; }\\n\\n.fa-chevron-left:before {\\n content: \\\"\\\\F053\\\"; }\\n\\n.fa-chevron-right:before {\\n content: \\\"\\\\F054\\\"; }\\n\\n.fa-plus-circle:before {\\n content: \\\"\\\\F055\\\"; }\\n\\n.fa-minus-circle:before {\\n content: \\\"\\\\F056\\\"; }\\n\\n.fa-times-circle:before {\\n content: \\\"\\\\F057\\\"; }\\n\\n.fa-check-circle:before {\\n content: \\\"\\\\F058\\\"; }\\n\\n.fa-question-circle:before {\\n content: \\\"\\\\F059\\\"; }\\n\\n.fa-info-circle:before {\\n content: \\\"\\\\F05A\\\"; }\\n\\n.fa-crosshairs:before {\\n content: \\\"\\\\F05B\\\"; }\\n\\n.fa-times-circle-o:before {\\n content: \\\"\\\\F05C\\\"; }\\n\\n.fa-check-circle-o:before {\\n content: \\\"\\\\F05D\\\"; }\\n\\n.fa-ban:before {\\n content: \\\"\\\\F05E\\\"; }\\n\\n.fa-arrow-left:before {\\n content: \\\"\\\\F060\\\"; }\\n\\n.fa-arrow-right:before {\\n content: \\\"\\\\F061\\\"; }\\n\\n.fa-arrow-up:before {\\n content: \\\"\\\\F062\\\"; }\\n\\n.fa-arrow-down:before {\\n content: \\\"\\\\F063\\\"; }\\n\\n.fa-mail-forward:before,\\n.fa-share:before {\\n content: \\\"\\\\F064\\\"; }\\n\\n.fa-expand:before {\\n content: \\\"\\\\F065\\\"; }\\n\\n.fa-compress:before {\\n content: \\\"\\\\F066\\\"; }\\n\\n.fa-plus:before {\\n content: \\\"\\\\F067\\\"; }\\n\\n.fa-minus:before {\\n content: \\\"\\\\F068\\\"; }\\n\\n.fa-asterisk:before {\\n content: \\\"\\\\F069\\\"; }\\n\\n.fa-exclamation-circle:before {\\n content: \\\"\\\\F06A\\\"; }\\n\\n.fa-gift:before {\\n content: \\\"\\\\F06B\\\"; }\\n\\n.fa-leaf:before {\\n content: \\\"\\\\F06C\\\"; }\\n\\n.fa-fire:before {\\n content: \\\"\\\\F06D\\\"; }\\n\\n.fa-eye:before {\\n content: \\\"\\\\F06E\\\"; }\\n\\n.fa-eye-slash:before {\\n content: \\\"\\\\F070\\\"; }\\n\\n.fa-warning:before,\\n.fa-exclamation-triangle:before {\\n content: \\\"\\\\F071\\\"; }\\n\\n.fa-plane:before {\\n content: \\\"\\\\F072\\\"; }\\n\\n.fa-calendar:before {\\n content: \\\"\\\\F073\\\"; }\\n\\n.fa-random:before {\\n content: \\\"\\\\F074\\\"; }\\n\\n.fa-comment:before {\\n content: \\\"\\\\F075\\\"; }\\n\\n.fa-magnet:before {\\n content: \\\"\\\\F076\\\"; }\\n\\n.fa-chevron-up:before {\\n content: \\\"\\\\F077\\\"; }\\n\\n.fa-chevron-down:before {\\n content: \\\"\\\\F078\\\"; }\\n\\n.fa-retweet:before {\\n content: \\\"\\\\F079\\\"; }\\n\\n.fa-shopping-cart:before {\\n content: \\\"\\\\F07A\\\"; }\\n\\n.fa-folder:before {\\n content: \\\"\\\\F07B\\\"; }\\n\\n.fa-folder-open:before {\\n content: \\\"\\\\F07C\\\"; }\\n\\n.fa-arrows-v:before {\\n content: \\\"\\\\F07D\\\"; }\\n\\n.fa-arrows-h:before {\\n content: \\\"\\\\F07E\\\"; }\\n\\n.fa-bar-chart-o:before,\\n.fa-bar-chart:before {\\n content: \\\"\\\\F080\\\"; }\\n\\n.fa-twitter-square:before {\\n content: \\\"\\\\F081\\\"; }\\n\\n.fa-facebook-square:before {\\n content: \\\"\\\\F082\\\"; }\\n\\n.fa-camera-retro:before {\\n content: \\\"\\\\F083\\\"; }\\n\\n.fa-key:before {\\n content: \\\"\\\\F084\\\"; }\\n\\n.fa-gears:before,\\n.fa-cogs:before {\\n content: \\\"\\\\F085\\\"; }\\n\\n.fa-comments:before {\\n content: \\\"\\\\F086\\\"; }\\n\\n.fa-thumbs-o-up:before {\\n content: \\\"\\\\F087\\\"; }\\n\\n.fa-thumbs-o-down:before {\\n content: \\\"\\\\F088\\\"; }\\n\\n.fa-star-half:before {\\n content: \\\"\\\\F089\\\"; }\\n\\n.fa-heart-o:before {\\n content: \\\"\\\\F08A\\\"; }\\n\\n.fa-sign-out:before {\\n content: \\\"\\\\F08B\\\"; }\\n\\n.fa-linkedin-square:before {\\n content: \\\"\\\\F08C\\\"; }\\n\\n.fa-thumb-tack:before {\\n content: \\\"\\\\F08D\\\"; }\\n\\n.fa-external-link:before {\\n content: \\\"\\\\F08E\\\"; }\\n\\n.fa-sign-in:before {\\n content: \\\"\\\\F090\\\"; }\\n\\n.fa-trophy:before {\\n content: \\\"\\\\F091\\\"; }\\n\\n.fa-github-square:before {\\n content: \\\"\\\\F092\\\"; }\\n\\n.fa-upload:before {\\n content: \\\"\\\\F093\\\"; }\\n\\n.fa-lemon-o:before {\\n content: \\\"\\\\F094\\\"; }\\n\\n.fa-phone:before {\\n content: \\\"\\\\F095\\\"; }\\n\\n.fa-square-o:before {\\n content: \\\"\\\\F096\\\"; }\\n\\n.fa-bookmark-o:before {\\n content: \\\"\\\\F097\\\"; }\\n\\n.fa-phone-square:before {\\n content: \\\"\\\\F098\\\"; }\\n\\n.fa-twitter:before {\\n content: \\\"\\\\F099\\\"; }\\n\\n.fa-facebook-f:before,\\n.fa-facebook:before {\\n content: \\\"\\\\F09A\\\"; }\\n\\n.fa-github:before {\\n content: \\\"\\\\F09B\\\"; }\\n\\n.fa-unlock:before {\\n content: \\\"\\\\F09C\\\"; }\\n\\n.fa-credit-card:before {\\n content: \\\"\\\\F09D\\\"; }\\n\\n.fa-feed:before,\\n.fa-rss:before {\\n content: \\\"\\\\F09E\\\"; }\\n\\n.fa-hdd-o:before {\\n content: \\\"\\\\F0A0\\\"; }\\n\\n.fa-bullhorn:before {\\n content: \\\"\\\\F0A1\\\"; }\\n\\n.fa-bell:before {\\n content: \\\"\\\\F0F3\\\"; }\\n\\n.fa-certificate:before {\\n content: \\\"\\\\F0A3\\\"; }\\n\\n.fa-hand-o-right:before {\\n content: \\\"\\\\F0A4\\\"; }\\n\\n.fa-hand-o-left:before {\\n content: \\\"\\\\F0A5\\\"; }\\n\\n.fa-hand-o-up:before {\\n content: \\\"\\\\F0A6\\\"; }\\n\\n.fa-hand-o-down:before {\\n content: \\\"\\\\F0A7\\\"; }\\n\\n.fa-arrow-circle-left:before {\\n content: \\\"\\\\F0A8\\\"; }\\n\\n.fa-arrow-circle-right:before {\\n content: \\\"\\\\F0A9\\\"; }\\n\\n.fa-arrow-circle-up:before {\\n content: \\\"\\\\F0AA\\\"; }\\n\\n.fa-arrow-circle-down:before {\\n content: \\\"\\\\F0AB\\\"; }\\n\\n.fa-globe:before {\\n content: \\\"\\\\F0AC\\\"; }\\n\\n.fa-wrench:before {\\n content: \\\"\\\\F0AD\\\"; }\\n\\n.fa-tasks:before {\\n content: \\\"\\\\F0AE\\\"; }\\n\\n.fa-filter:before {\\n content: \\\"\\\\F0B0\\\"; }\\n\\n.fa-briefcase:before {\\n content: \\\"\\\\F0B1\\\"; }\\n\\n.fa-arrows-alt:before {\\n content: \\\"\\\\F0B2\\\"; }\\n\\n.fa-group:before,\\n.fa-users:before {\\n content: \\\"\\\\F0C0\\\"; }\\n\\n.fa-chain:before,\\n.fa-link:before {\\n content: \\\"\\\\F0C1\\\"; }\\n\\n.fa-cloud:before {\\n content: \\\"\\\\F0C2\\\"; }\\n\\n.fa-flask:before {\\n content: \\\"\\\\F0C3\\\"; }\\n\\n.fa-cut:before,\\n.fa-scissors:before {\\n content: \\\"\\\\F0C4\\\"; }\\n\\n.fa-copy:before,\\n.fa-files-o:before {\\n content: \\\"\\\\F0C5\\\"; }\\n\\n.fa-paperclip:before {\\n content: \\\"\\\\F0C6\\\"; }\\n\\n.fa-save:before,\\n.fa-floppy-o:before {\\n content: \\\"\\\\F0C7\\\"; }\\n\\n.fa-square:before {\\n content: \\\"\\\\F0C8\\\"; }\\n\\n.fa-navicon:before,\\n.fa-reorder:before,\\n.fa-bars:before {\\n content: \\\"\\\\F0C9\\\"; }\\n\\n.fa-list-ul:before {\\n content: \\\"\\\\F0CA\\\"; }\\n\\n.fa-list-ol:before {\\n content: \\\"\\\\F0CB\\\"; }\\n\\n.fa-strikethrough:before {\\n content: \\\"\\\\F0CC\\\"; }\\n\\n.fa-underline:before {\\n content: \\\"\\\\F0CD\\\"; }\\n\\n.fa-table:before {\\n content: \\\"\\\\F0CE\\\"; }\\n\\n.fa-magic:before {\\n content: \\\"\\\\F0D0\\\"; }\\n\\n.fa-truck:before {\\n content: \\\"\\\\F0D1\\\"; }\\n\\n.fa-pinterest:before {\\n content: \\\"\\\\F0D2\\\"; }\\n\\n.fa-pinterest-square:before {\\n content: \\\"\\\\F0D3\\\"; }\\n\\n.fa-google-plus-square:before {\\n content: \\\"\\\\F0D4\\\"; }\\n\\n.fa-google-plus:before {\\n content: \\\"\\\\F0D5\\\"; }\\n\\n.fa-money:before {\\n content: \\\"\\\\F0D6\\\"; }\\n\\n.fa-caret-down:before {\\n content: \\\"\\\\F0D7\\\"; }\\n\\n.fa-caret-up:before {\\n content: \\\"\\\\F0D8\\\"; }\\n\\n.fa-caret-left:before {\\n content: \\\"\\\\F0D9\\\"; }\\n\\n.fa-caret-right:before {\\n content: \\\"\\\\F0DA\\\"; }\\n\\n.fa-columns:before {\\n content: \\\"\\\\F0DB\\\"; }\\n\\n.fa-unsorted:before,\\n.fa-sort:before {\\n content: \\\"\\\\F0DC\\\"; }\\n\\n.fa-sort-down:before,\\n.fa-sort-desc:before {\\n content: \\\"\\\\F0DD\\\"; }\\n\\n.fa-sort-up:before,\\n.fa-sort-asc:before {\\n content: \\\"\\\\F0DE\\\"; }\\n\\n.fa-envelope:before {\\n content: \\\"\\\\F0E0\\\"; }\\n\\n.fa-linkedin:before {\\n content: \\\"\\\\F0E1\\\"; }\\n\\n.fa-rotate-left:before,\\n.fa-undo:before {\\n content: \\\"\\\\F0E2\\\"; }\\n\\n.fa-legal:before,\\n.fa-gavel:before {\\n content: \\\"\\\\F0E3\\\"; }\\n\\n.fa-dashboard:before,\\n.fa-tachometer:before {\\n content: \\\"\\\\F0E4\\\"; }\\n\\n.fa-comment-o:before {\\n content: \\\"\\\\F0E5\\\"; }\\n\\n.fa-comments-o:before {\\n content: \\\"\\\\F0E6\\\"; }\\n\\n.fa-flash:before,\\n.fa-bolt:before {\\n content: \\\"\\\\F0E7\\\"; }\\n\\n.fa-sitemap:before {\\n content: \\\"\\\\F0E8\\\"; }\\n\\n.fa-umbrella:before {\\n content: \\\"\\\\F0E9\\\"; }\\n\\n.fa-paste:before,\\n.fa-clipboard:before {\\n content: \\\"\\\\F0EA\\\"; }\\n\\n.fa-lightbulb-o:before {\\n content: \\\"\\\\F0EB\\\"; }\\n\\n.fa-exchange:before {\\n content: \\\"\\\\F0EC\\\"; }\\n\\n.fa-cloud-download:before {\\n content: \\\"\\\\F0ED\\\"; }\\n\\n.fa-cloud-upload:before {\\n content: \\\"\\\\F0EE\\\"; }\\n\\n.fa-user-md:before {\\n content: \\\"\\\\F0F0\\\"; }\\n\\n.fa-stethoscope:before {\\n content: \\\"\\\\F0F1\\\"; }\\n\\n.fa-suitcase:before {\\n content: \\\"\\\\F0F2\\\"; }\\n\\n.fa-bell-o:before {\\n content: \\\"\\\\F0A2\\\"; }\\n\\n.fa-coffee:before {\\n content: \\\"\\\\F0F4\\\"; }\\n\\n.fa-cutlery:before {\\n content: \\\"\\\\F0F5\\\"; }\\n\\n.fa-file-text-o:before {\\n content: \\\"\\\\F0F6\\\"; }\\n\\n.fa-building-o:before {\\n content: \\\"\\\\F0F7\\\"; }\\n\\n.fa-hospital-o:before {\\n content: \\\"\\\\F0F8\\\"; }\\n\\n.fa-ambulance:before {\\n content: \\\"\\\\F0F9\\\"; }\\n\\n.fa-medkit:before {\\n content: \\\"\\\\F0FA\\\"; }\\n\\n.fa-fighter-jet:before {\\n content: \\\"\\\\F0FB\\\"; }\\n\\n.fa-beer:before {\\n content: \\\"\\\\F0FC\\\"; }\\n\\n.fa-h-square:before {\\n content: \\\"\\\\F0FD\\\"; }\\n\\n.fa-plus-square:before {\\n content: \\\"\\\\F0FE\\\"; }\\n\\n.fa-angle-double-left:before {\\n content: \\\"\\\\F100\\\"; }\\n\\n.fa-angle-double-right:before {\\n content: \\\"\\\\F101\\\"; }\\n\\n.fa-angle-double-up:before {\\n content: \\\"\\\\F102\\\"; }\\n\\n.fa-angle-double-down:before {\\n content: \\\"\\\\F103\\\"; }\\n\\n.fa-angle-left:before {\\n content: \\\"\\\\F104\\\"; }\\n\\n.fa-angle-right:before {\\n content: \\\"\\\\F105\\\"; }\\n\\n.fa-angle-up:before {\\n content: \\\"\\\\F106\\\"; }\\n\\n.fa-angle-down:before {\\n content: \\\"\\\\F107\\\"; }\\n\\n.fa-desktop:before {\\n content: \\\"\\\\F108\\\"; }\\n\\n.fa-laptop:before {\\n content: \\\"\\\\F109\\\"; }\\n\\n.fa-tablet:before {\\n content: \\\"\\\\F10A\\\"; }\\n\\n.fa-mobile-phone:before,\\n.fa-mobile:before {\\n content: \\\"\\\\F10B\\\"; }\\n\\n.fa-circle-o:before {\\n content: \\\"\\\\F10C\\\"; }\\n\\n.fa-quote-left:before {\\n content: \\\"\\\\F10D\\\"; }\\n\\n.fa-quote-right:before {\\n content: \\\"\\\\F10E\\\"; }\\n\\n.fa-spinner:before {\\n content: \\\"\\\\F110\\\"; }\\n\\n.fa-circle:before {\\n content: \\\"\\\\F111\\\"; }\\n\\n.fa-mail-reply:before,\\n.fa-reply:before {\\n content: \\\"\\\\F112\\\"; }\\n\\n.fa-github-alt:before {\\n content: \\\"\\\\F113\\\"; }\\n\\n.fa-folder-o:before {\\n content: \\\"\\\\F114\\\"; }\\n\\n.fa-folder-open-o:before {\\n content: \\\"\\\\F115\\\"; }\\n\\n.fa-smile-o:before {\\n content: \\\"\\\\F118\\\"; }\\n\\n.fa-frown-o:before {\\n content: \\\"\\\\F119\\\"; }\\n\\n.fa-meh-o:before {\\n content: \\\"\\\\F11A\\\"; }\\n\\n.fa-gamepad:before {\\n content: \\\"\\\\F11B\\\"; }\\n\\n.fa-keyboard-o:before {\\n content: \\\"\\\\F11C\\\"; }\\n\\n.fa-flag-o:before {\\n content: \\\"\\\\F11D\\\"; }\\n\\n.fa-flag-checkered:before {\\n content: \\\"\\\\F11E\\\"; }\\n\\n.fa-terminal:before {\\n content: \\\"\\\\F120\\\"; }\\n\\n.fa-code:before {\\n content: \\\"\\\\F121\\\"; }\\n\\n.fa-mail-reply-all:before,\\n.fa-reply-all:before {\\n content: \\\"\\\\F122\\\"; }\\n\\n.fa-star-half-empty:before,\\n.fa-star-half-full:before,\\n.fa-star-half-o:before {\\n content: \\\"\\\\F123\\\"; }\\n\\n.fa-location-arrow:before {\\n content: \\\"\\\\F124\\\"; }\\n\\n.fa-crop:before {\\n content: \\\"\\\\F125\\\"; }\\n\\n.fa-code-fork:before {\\n content: \\\"\\\\F126\\\"; }\\n\\n.fa-unlink:before,\\n.fa-chain-broken:before {\\n content: \\\"\\\\F127\\\"; }\\n\\n.fa-question:before {\\n content: \\\"\\\\F128\\\"; }\\n\\n.fa-info:before {\\n content: \\\"\\\\F129\\\"; }\\n\\n.fa-exclamation:before {\\n content: \\\"\\\\F12A\\\"; }\\n\\n.fa-superscript:before {\\n content: \\\"\\\\F12B\\\"; }\\n\\n.fa-subscript:before {\\n content: \\\"\\\\F12C\\\"; }\\n\\n.fa-eraser:before {\\n content: \\\"\\\\F12D\\\"; }\\n\\n.fa-puzzle-piece:before {\\n content: \\\"\\\\F12E\\\"; }\\n\\n.fa-microphone:before {\\n content: \\\"\\\\F130\\\"; }\\n\\n.fa-microphone-slash:before {\\n content: \\\"\\\\F131\\\"; }\\n\\n.fa-shield:before {\\n content: \\\"\\\\F132\\\"; }\\n\\n.fa-calendar-o:before {\\n content: \\\"\\\\F133\\\"; }\\n\\n.fa-fire-extinguisher:before {\\n content: \\\"\\\\F134\\\"; }\\n\\n.fa-rocket:before {\\n content: \\\"\\\\F135\\\"; }\\n\\n.fa-maxcdn:before {\\n content: \\\"\\\\F136\\\"; }\\n\\n.fa-chevron-circle-left:before {\\n content: \\\"\\\\F137\\\"; }\\n\\n.fa-chevron-circle-right:before {\\n content: \\\"\\\\F138\\\"; }\\n\\n.fa-chevron-circle-up:before {\\n content: \\\"\\\\F139\\\"; }\\n\\n.fa-chevron-circle-down:before {\\n content: \\\"\\\\F13A\\\"; }\\n\\n.fa-html5:before {\\n content: \\\"\\\\F13B\\\"; }\\n\\n.fa-css3:before {\\n content: \\\"\\\\F13C\\\"; }\\n\\n.fa-anchor:before {\\n content: \\\"\\\\F13D\\\"; }\\n\\n.fa-unlock-alt:before {\\n content: \\\"\\\\F13E\\\"; }\\n\\n.fa-bullseye:before {\\n content: \\\"\\\\F140\\\"; }\\n\\n.fa-ellipsis-h:before {\\n content: \\\"\\\\F141\\\"; }\\n\\n.fa-ellipsis-v:before {\\n content: \\\"\\\\F142\\\"; }\\n\\n.fa-rss-square:before {\\n content: \\\"\\\\F143\\\"; }\\n\\n.fa-play-circle:before {\\n content: \\\"\\\\F144\\\"; }\\n\\n.fa-ticket:before {\\n content: \\\"\\\\F145\\\"; }\\n\\n.fa-minus-square:before {\\n content: \\\"\\\\F146\\\"; }\\n\\n.fa-minus-square-o:before {\\n content: \\\"\\\\F147\\\"; }\\n\\n.fa-level-up:before {\\n content: \\\"\\\\F148\\\"; }\\n\\n.fa-level-down:before {\\n content: \\\"\\\\F149\\\"; }\\n\\n.fa-check-square:before {\\n content: \\\"\\\\F14A\\\"; }\\n\\n.fa-pencil-square:before {\\n content: \\\"\\\\F14B\\\"; }\\n\\n.fa-external-link-square:before {\\n content: \\\"\\\\F14C\\\"; }\\n\\n.fa-share-square:before {\\n content: \\\"\\\\F14D\\\"; }\\n\\n.fa-compass:before {\\n content: \\\"\\\\F14E\\\"; }\\n\\n.fa-toggle-down:before,\\n.fa-caret-square-o-down:before {\\n content: \\\"\\\\F150\\\"; }\\n\\n.fa-toggle-up:before,\\n.fa-caret-square-o-up:before {\\n content: \\\"\\\\F151\\\"; }\\n\\n.fa-toggle-right:before,\\n.fa-caret-square-o-right:before {\\n content: \\\"\\\\F152\\\"; }\\n\\n.fa-euro:before,\\n.fa-eur:before {\\n content: \\\"\\\\F153\\\"; }\\n\\n.fa-gbp:before {\\n content: \\\"\\\\F154\\\"; }\\n\\n.fa-dollar:before,\\n.fa-usd:before {\\n content: \\\"\\\\F155\\\"; }\\n\\n.fa-rupee:before,\\n.fa-inr:before {\\n content: \\\"\\\\F156\\\"; }\\n\\n.fa-cny:before,\\n.fa-rmb:before,\\n.fa-yen:before,\\n.fa-jpy:before {\\n content: \\\"\\\\F157\\\"; }\\n\\n.fa-ruble:before,\\n.fa-rouble:before,\\n.fa-rub:before {\\n content: \\\"\\\\F158\\\"; }\\n\\n.fa-won:before,\\n.fa-krw:before {\\n content: \\\"\\\\F159\\\"; }\\n\\n.fa-bitcoin:before,\\n.fa-btc:before {\\n content: \\\"\\\\F15A\\\"; }\\n\\n.fa-file:before {\\n content: \\\"\\\\F15B\\\"; }\\n\\n.fa-file-text:before {\\n content: \\\"\\\\F15C\\\"; }\\n\\n.fa-sort-alpha-asc:before {\\n content: \\\"\\\\F15D\\\"; }\\n\\n.fa-sort-alpha-desc:before {\\n content: \\\"\\\\F15E\\\"; }\\n\\n.fa-sort-amount-asc:before {\\n content: \\\"\\\\F160\\\"; }\\n\\n.fa-sort-amount-desc:before {\\n content: \\\"\\\\F161\\\"; }\\n\\n.fa-sort-numeric-asc:before {\\n content: \\\"\\\\F162\\\"; }\\n\\n.fa-sort-numeric-desc:before {\\n content: \\\"\\\\F163\\\"; }\\n\\n.fa-thumbs-up:before {\\n content: \\\"\\\\F164\\\"; }\\n\\n.fa-thumbs-down:before {\\n content: \\\"\\\\F165\\\"; }\\n\\n.fa-youtube-square:before {\\n content: \\\"\\\\F166\\\"; }\\n\\n.fa-youtube:before {\\n content: \\\"\\\\F167\\\"; }\\n\\n.fa-xing:before {\\n content: \\\"\\\\F168\\\"; }\\n\\n.fa-xing-square:before {\\n content: \\\"\\\\F169\\\"; }\\n\\n.fa-youtube-play:before {\\n content: \\\"\\\\F16A\\\"; }\\n\\n.fa-dropbox:before {\\n content: \\\"\\\\F16B\\\"; }\\n\\n.fa-stack-overflow:before {\\n content: \\\"\\\\F16C\\\"; }\\n\\n.fa-instagram:before {\\n content: \\\"\\\\F16D\\\"; }\\n\\n.fa-flickr:before {\\n content: \\\"\\\\F16E\\\"; }\\n\\n.fa-adn:before {\\n content: \\\"\\\\F170\\\"; }\\n\\n.fa-bitbucket:before {\\n content: \\\"\\\\F171\\\"; }\\n\\n.fa-bitbucket-square:before {\\n content: \\\"\\\\F172\\\"; }\\n\\n.fa-tumblr:before {\\n content: \\\"\\\\F173\\\"; }\\n\\n.fa-tumblr-square:before {\\n content: \\\"\\\\F174\\\"; }\\n\\n.fa-long-arrow-down:before {\\n content: \\\"\\\\F175\\\"; }\\n\\n.fa-long-arrow-up:before {\\n content: \\\"\\\\F176\\\"; }\\n\\n.fa-long-arrow-left:before {\\n content: \\\"\\\\F177\\\"; }\\n\\n.fa-long-arrow-right:before {\\n content: \\\"\\\\F178\\\"; }\\n\\n.fa-apple:before {\\n content: \\\"\\\\F179\\\"; }\\n\\n.fa-windows:before {\\n content: \\\"\\\\F17A\\\"; }\\n\\n.fa-android:before {\\n content: \\\"\\\\F17B\\\"; }\\n\\n.fa-linux:before {\\n content: \\\"\\\\F17C\\\"; }\\n\\n.fa-dribbble:before {\\n content: \\\"\\\\F17D\\\"; }\\n\\n.fa-skype:before {\\n content: \\\"\\\\F17E\\\"; }\\n\\n.fa-foursquare:before {\\n content: \\\"\\\\F180\\\"; }\\n\\n.fa-trello:before {\\n content: \\\"\\\\F181\\\"; }\\n\\n.fa-female:before {\\n content: \\\"\\\\F182\\\"; }\\n\\n.fa-male:before {\\n content: \\\"\\\\F183\\\"; }\\n\\n.fa-gittip:before,\\n.fa-gratipay:before {\\n content: \\\"\\\\F184\\\"; }\\n\\n.fa-sun-o:before {\\n content: \\\"\\\\F185\\\"; }\\n\\n.fa-moon-o:before {\\n content: \\\"\\\\F186\\\"; }\\n\\n.fa-archive:before {\\n content: \\\"\\\\F187\\\"; }\\n\\n.fa-bug:before {\\n content: \\\"\\\\F188\\\"; }\\n\\n.fa-vk:before {\\n content: \\\"\\\\F189\\\"; }\\n\\n.fa-weibo:before {\\n content: \\\"\\\\F18A\\\"; }\\n\\n.fa-renren:before {\\n content: \\\"\\\\F18B\\\"; }\\n\\n.fa-pagelines:before {\\n content: \\\"\\\\F18C\\\"; }\\n\\n.fa-stack-exchange:before {\\n content: \\\"\\\\F18D\\\"; }\\n\\n.fa-arrow-circle-o-right:before {\\n content: \\\"\\\\F18E\\\"; }\\n\\n.fa-arrow-circle-o-left:before {\\n content: \\\"\\\\F190\\\"; }\\n\\n.fa-toggle-left:before,\\n.fa-caret-square-o-left:before {\\n content: \\\"\\\\F191\\\"; }\\n\\n.fa-dot-circle-o:before {\\n content: \\\"\\\\F192\\\"; }\\n\\n.fa-wheelchair:before {\\n content: \\\"\\\\F193\\\"; }\\n\\n.fa-vimeo-square:before {\\n content: \\\"\\\\F194\\\"; }\\n\\n.fa-turkish-lira:before,\\n.fa-try:before {\\n content: \\\"\\\\F195\\\"; }\\n\\n.fa-plus-square-o:before {\\n content: \\\"\\\\F196\\\"; }\\n\\n.fa-space-shuttle:before {\\n content: \\\"\\\\F197\\\"; }\\n\\n.fa-slack:before {\\n content: \\\"\\\\F198\\\"; }\\n\\n.fa-envelope-square:before {\\n content: \\\"\\\\F199\\\"; }\\n\\n.fa-wordpress:before {\\n content: \\\"\\\\F19A\\\"; }\\n\\n.fa-openid:before {\\n content: \\\"\\\\F19B\\\"; }\\n\\n.fa-institution:before,\\n.fa-bank:before,\\n.fa-university:before {\\n content: \\\"\\\\F19C\\\"; }\\n\\n.fa-mortar-board:before,\\n.fa-graduation-cap:before {\\n content: \\\"\\\\F19D\\\"; }\\n\\n.fa-yahoo:before {\\n content: \\\"\\\\F19E\\\"; }\\n\\n.fa-google:before {\\n content: \\\"\\\\F1A0\\\"; }\\n\\n.fa-reddit:before {\\n content: \\\"\\\\F1A1\\\"; }\\n\\n.fa-reddit-square:before {\\n content: \\\"\\\\F1A2\\\"; }\\n\\n.fa-stumbleupon-circle:before {\\n content: \\\"\\\\F1A3\\\"; }\\n\\n.fa-stumbleupon:before {\\n content: \\\"\\\\F1A4\\\"; }\\n\\n.fa-delicious:before {\\n content: \\\"\\\\F1A5\\\"; }\\n\\n.fa-digg:before {\\n content: \\\"\\\\F1A6\\\"; }\\n\\n.fa-pied-piper-pp:before {\\n content: \\\"\\\\F1A7\\\"; }\\n\\n.fa-pied-piper-alt:before {\\n content: \\\"\\\\F1A8\\\"; }\\n\\n.fa-drupal:before {\\n content: \\\"\\\\F1A9\\\"; }\\n\\n.fa-joomla:before {\\n content: \\\"\\\\F1AA\\\"; }\\n\\n.fa-language:before {\\n content: \\\"\\\\F1AB\\\"; }\\n\\n.fa-fax:before {\\n content: \\\"\\\\F1AC\\\"; }\\n\\n.fa-building:before {\\n content: \\\"\\\\F1AD\\\"; }\\n\\n.fa-child:before {\\n content: \\\"\\\\F1AE\\\"; }\\n\\n.fa-paw:before {\\n content: \\\"\\\\F1B0\\\"; }\\n\\n.fa-spoon:before {\\n content: \\\"\\\\F1B1\\\"; }\\n\\n.fa-cube:before {\\n content: \\\"\\\\F1B2\\\"; }\\n\\n.fa-cubes:before {\\n content: \\\"\\\\F1B3\\\"; }\\n\\n.fa-behance:before {\\n content: \\\"\\\\F1B4\\\"; }\\n\\n.fa-behance-square:before {\\n content: \\\"\\\\F1B5\\\"; }\\n\\n.fa-steam:before {\\n content: \\\"\\\\F1B6\\\"; }\\n\\n.fa-steam-square:before {\\n content: \\\"\\\\F1B7\\\"; }\\n\\n.fa-recycle:before {\\n content: \\\"\\\\F1B8\\\"; }\\n\\n.fa-automobile:before,\\n.fa-car:before {\\n content: \\\"\\\\F1B9\\\"; }\\n\\n.fa-cab:before,\\n.fa-taxi:before {\\n content: \\\"\\\\F1BA\\\"; }\\n\\n.fa-tree:before {\\n content: \\\"\\\\F1BB\\\"; }\\n\\n.fa-spotify:before {\\n content: \\\"\\\\F1BC\\\"; }\\n\\n.fa-deviantart:before {\\n content: \\\"\\\\F1BD\\\"; }\\n\\n.fa-soundcloud:before {\\n content: \\\"\\\\F1BE\\\"; }\\n\\n.fa-database:before {\\n content: \\\"\\\\F1C0\\\"; }\\n\\n.fa-file-pdf-o:before {\\n content: \\\"\\\\F1C1\\\"; }\\n\\n.fa-file-word-o:before {\\n content: \\\"\\\\F1C2\\\"; }\\n\\n.fa-file-excel-o:before {\\n content: \\\"\\\\F1C3\\\"; }\\n\\n.fa-file-powerpoint-o:before {\\n content: \\\"\\\\F1C4\\\"; }\\n\\n.fa-file-photo-o:before,\\n.fa-file-picture-o:before,\\n.fa-file-image-o:before {\\n content: \\\"\\\\F1C5\\\"; }\\n\\n.fa-file-zip-o:before,\\n.fa-file-archive-o:before {\\n content: \\\"\\\\F1C6\\\"; }\\n\\n.fa-file-sound-o:before,\\n.fa-file-audio-o:before {\\n content: \\\"\\\\F1C7\\\"; }\\n\\n.fa-file-movie-o:before,\\n.fa-file-video-o:before {\\n content: \\\"\\\\F1C8\\\"; }\\n\\n.fa-file-code-o:before {\\n content: \\\"\\\\F1C9\\\"; }\\n\\n.fa-vine:before {\\n content: \\\"\\\\F1CA\\\"; }\\n\\n.fa-codepen:before {\\n content: \\\"\\\\F1CB\\\"; }\\n\\n.fa-jsfiddle:before {\\n content: \\\"\\\\F1CC\\\"; }\\n\\n.fa-life-bouy:before,\\n.fa-life-buoy:before,\\n.fa-life-saver:before,\\n.fa-support:before,\\n.fa-life-ring:before {\\n content: \\\"\\\\F1CD\\\"; }\\n\\n.fa-circle-o-notch:before {\\n content: \\\"\\\\F1CE\\\"; }\\n\\n.fa-ra:before,\\n.fa-resistance:before,\\n.fa-rebel:before {\\n content: \\\"\\\\F1D0\\\"; }\\n\\n.fa-ge:before,\\n.fa-empire:before {\\n content: \\\"\\\\F1D1\\\"; }\\n\\n.fa-git-square:before {\\n content: \\\"\\\\F1D2\\\"; }\\n\\n.fa-git:before {\\n content: \\\"\\\\F1D3\\\"; }\\n\\n.fa-y-combinator-square:before,\\n.fa-yc-square:before,\\n.fa-hacker-news:before {\\n content: \\\"\\\\F1D4\\\"; }\\n\\n.fa-tencent-weibo:before {\\n content: \\\"\\\\F1D5\\\"; }\\n\\n.fa-qq:before {\\n content: \\\"\\\\F1D6\\\"; }\\n\\n.fa-wechat:before,\\n.fa-weixin:before {\\n content: \\\"\\\\F1D7\\\"; }\\n\\n.fa-send:before,\\n.fa-paper-plane:before {\\n content: \\\"\\\\F1D8\\\"; }\\n\\n.fa-send-o:before,\\n.fa-paper-plane-o:before {\\n content: \\\"\\\\F1D9\\\"; }\\n\\n.fa-history:before {\\n content: \\\"\\\\F1DA\\\"; }\\n\\n.fa-circle-thin:before {\\n content: \\\"\\\\F1DB\\\"; }\\n\\n.fa-header:before {\\n content: \\\"\\\\F1DC\\\"; }\\n\\n.fa-paragraph:before {\\n content: \\\"\\\\F1DD\\\"; }\\n\\n.fa-sliders:before {\\n content: \\\"\\\\F1DE\\\"; }\\n\\n.fa-share-alt:before {\\n content: \\\"\\\\F1E0\\\"; }\\n\\n.fa-share-alt-square:before {\\n content: \\\"\\\\F1E1\\\"; }\\n\\n.fa-bomb:before {\\n content: \\\"\\\\F1E2\\\"; }\\n\\n.fa-soccer-ball-o:before,\\n.fa-futbol-o:before {\\n content: \\\"\\\\F1E3\\\"; }\\n\\n.fa-tty:before {\\n content: \\\"\\\\F1E4\\\"; }\\n\\n.fa-binoculars:before {\\n content: \\\"\\\\F1E5\\\"; }\\n\\n.fa-plug:before {\\n content: \\\"\\\\F1E6\\\"; }\\n\\n.fa-slideshare:before {\\n content: \\\"\\\\F1E7\\\"; }\\n\\n.fa-twitch:before {\\n content: \\\"\\\\F1E8\\\"; }\\n\\n.fa-yelp:before {\\n content: \\\"\\\\F1E9\\\"; }\\n\\n.fa-newspaper-o:before {\\n content: \\\"\\\\F1EA\\\"; }\\n\\n.fa-wifi:before {\\n content: \\\"\\\\F1EB\\\"; }\\n\\n.fa-calculator:before {\\n content: \\\"\\\\F1EC\\\"; }\\n\\n.fa-paypal:before {\\n content: \\\"\\\\F1ED\\\"; }\\n\\n.fa-google-wallet:before {\\n content: \\\"\\\\F1EE\\\"; }\\n\\n.fa-cc-visa:before {\\n content: \\\"\\\\F1F0\\\"; }\\n\\n.fa-cc-mastercard:before {\\n content: \\\"\\\\F1F1\\\"; }\\n\\n.fa-cc-discover:before {\\n content: \\\"\\\\F1F2\\\"; }\\n\\n.fa-cc-amex:before {\\n content: \\\"\\\\F1F3\\\"; }\\n\\n.fa-cc-paypal:before {\\n content: \\\"\\\\F1F4\\\"; }\\n\\n.fa-cc-stripe:before {\\n content: \\\"\\\\F1F5\\\"; }\\n\\n.fa-bell-slash:before {\\n content: \\\"\\\\F1F6\\\"; }\\n\\n.fa-bell-slash-o:before {\\n content: \\\"\\\\F1F7\\\"; }\\n\\n.fa-trash:before {\\n content: \\\"\\\\F1F8\\\"; }\\n\\n.fa-copyright:before {\\n content: \\\"\\\\F1F9\\\"; }\\n\\n.fa-at:before {\\n content: \\\"\\\\F1FA\\\"; }\\n\\n.fa-eyedropper:before {\\n content: \\\"\\\\F1FB\\\"; }\\n\\n.fa-paint-brush:before {\\n content: \\\"\\\\F1FC\\\"; }\\n\\n.fa-birthday-cake:before {\\n content: \\\"\\\\F1FD\\\"; }\\n\\n.fa-area-chart:before {\\n content: \\\"\\\\F1FE\\\"; }\\n\\n.fa-pie-chart:before {\\n content: \\\"\\\\F200\\\"; }\\n\\n.fa-line-chart:before {\\n content: \\\"\\\\F201\\\"; }\\n\\n.fa-lastfm:before {\\n content: \\\"\\\\F202\\\"; }\\n\\n.fa-lastfm-square:before {\\n content: \\\"\\\\F203\\\"; }\\n\\n.fa-toggle-off:before {\\n content: \\\"\\\\F204\\\"; }\\n\\n.fa-toggle-on:before {\\n content: \\\"\\\\F205\\\"; }\\n\\n.fa-bicycle:before {\\n content: \\\"\\\\F206\\\"; }\\n\\n.fa-bus:before {\\n content: \\\"\\\\F207\\\"; }\\n\\n.fa-ioxhost:before {\\n content: \\\"\\\\F208\\\"; }\\n\\n.fa-angellist:before {\\n content: \\\"\\\\F209\\\"; }\\n\\n.fa-cc:before {\\n content: \\\"\\\\F20A\\\"; }\\n\\n.fa-shekel:before,\\n.fa-sheqel:before,\\n.fa-ils:before {\\n content: \\\"\\\\F20B\\\"; }\\n\\n.fa-meanpath:before {\\n content: \\\"\\\\F20C\\\"; }\\n\\n.fa-buysellads:before {\\n content: \\\"\\\\F20D\\\"; }\\n\\n.fa-connectdevelop:before {\\n content: \\\"\\\\F20E\\\"; }\\n\\n.fa-dashcube:before {\\n content: \\\"\\\\F210\\\"; }\\n\\n.fa-forumbee:before {\\n content: \\\"\\\\F211\\\"; }\\n\\n.fa-leanpub:before {\\n content: \\\"\\\\F212\\\"; }\\n\\n.fa-sellsy:before {\\n content: \\\"\\\\F213\\\"; }\\n\\n.fa-shirtsinbulk:before {\\n content: \\\"\\\\F214\\\"; }\\n\\n.fa-simplybuilt:before {\\n content: \\\"\\\\F215\\\"; }\\n\\n.fa-skyatlas:before {\\n content: \\\"\\\\F216\\\"; }\\n\\n.fa-cart-plus:before {\\n content: \\\"\\\\F217\\\"; }\\n\\n.fa-cart-arrow-down:before {\\n content: \\\"\\\\F218\\\"; }\\n\\n.fa-diamond:before {\\n content: \\\"\\\\F219\\\"; }\\n\\n.fa-ship:before {\\n content: \\\"\\\\F21A\\\"; }\\n\\n.fa-user-secret:before {\\n content: \\\"\\\\F21B\\\"; }\\n\\n.fa-motorcycle:before {\\n content: \\\"\\\\F21C\\\"; }\\n\\n.fa-street-view:before {\\n content: \\\"\\\\F21D\\\"; }\\n\\n.fa-heartbeat:before {\\n content: \\\"\\\\F21E\\\"; }\\n\\n.fa-venus:before {\\n content: \\\"\\\\F221\\\"; }\\n\\n.fa-mars:before {\\n content: \\\"\\\\F222\\\"; }\\n\\n.fa-mercury:before {\\n content: \\\"\\\\F223\\\"; }\\n\\n.fa-intersex:before,\\n.fa-transgender:before {\\n content: \\\"\\\\F224\\\"; }\\n\\n.fa-transgender-alt:before {\\n content: \\\"\\\\F225\\\"; }\\n\\n.fa-venus-double:before {\\n content: \\\"\\\\F226\\\"; }\\n\\n.fa-mars-double:before {\\n content: \\\"\\\\F227\\\"; }\\n\\n.fa-venus-mars:before {\\n content: \\\"\\\\F228\\\"; }\\n\\n.fa-mars-stroke:before {\\n content: \\\"\\\\F229\\\"; }\\n\\n.fa-mars-stroke-v:before {\\n content: \\\"\\\\F22A\\\"; }\\n\\n.fa-mars-stroke-h:before {\\n content: \\\"\\\\F22B\\\"; }\\n\\n.fa-neuter:before {\\n content: \\\"\\\\F22C\\\"; }\\n\\n.fa-genderless:before {\\n content: \\\"\\\\F22D\\\"; }\\n\\n.fa-facebook-official:before {\\n content: \\\"\\\\F230\\\"; }\\n\\n.fa-pinterest-p:before {\\n content: \\\"\\\\F231\\\"; }\\n\\n.fa-whatsapp:before {\\n content: \\\"\\\\F232\\\"; }\\n\\n.fa-server:before {\\n content: \\\"\\\\F233\\\"; }\\n\\n.fa-user-plus:before {\\n content: \\\"\\\\F234\\\"; }\\n\\n.fa-user-times:before {\\n content: \\\"\\\\F235\\\"; }\\n\\n.fa-hotel:before,\\n.fa-bed:before {\\n content: \\\"\\\\F236\\\"; }\\n\\n.fa-viacoin:before {\\n content: \\\"\\\\F237\\\"; }\\n\\n.fa-train:before {\\n content: \\\"\\\\F238\\\"; }\\n\\n.fa-subway:before {\\n content: \\\"\\\\F239\\\"; }\\n\\n.fa-medium:before {\\n content: \\\"\\\\F23A\\\"; }\\n\\n.fa-yc:before,\\n.fa-y-combinator:before {\\n content: \\\"\\\\F23B\\\"; }\\n\\n.fa-optin-monster:before {\\n content: \\\"\\\\F23C\\\"; }\\n\\n.fa-opencart:before {\\n content: \\\"\\\\F23D\\\"; }\\n\\n.fa-expeditedssl:before {\\n content: \\\"\\\\F23E\\\"; }\\n\\n.fa-battery-4:before,\\n.fa-battery:before,\\n.fa-battery-full:before {\\n content: \\\"\\\\F240\\\"; }\\n\\n.fa-battery-3:before,\\n.fa-battery-three-quarters:before {\\n content: \\\"\\\\F241\\\"; }\\n\\n.fa-battery-2:before,\\n.fa-battery-half:before {\\n content: \\\"\\\\F242\\\"; }\\n\\n.fa-battery-1:before,\\n.fa-battery-quarter:before {\\n content: \\\"\\\\F243\\\"; }\\n\\n.fa-battery-0:before,\\n.fa-battery-empty:before {\\n content: \\\"\\\\F244\\\"; }\\n\\n.fa-mouse-pointer:before {\\n content: \\\"\\\\F245\\\"; }\\n\\n.fa-i-cursor:before {\\n content: \\\"\\\\F246\\\"; }\\n\\n.fa-object-group:before {\\n content: \\\"\\\\F247\\\"; }\\n\\n.fa-object-ungroup:before {\\n content: \\\"\\\\F248\\\"; }\\n\\n.fa-sticky-note:before {\\n content: \\\"\\\\F249\\\"; }\\n\\n.fa-sticky-note-o:before {\\n content: \\\"\\\\F24A\\\"; }\\n\\n.fa-cc-jcb:before {\\n content: \\\"\\\\F24B\\\"; }\\n\\n.fa-cc-diners-club:before {\\n content: \\\"\\\\F24C\\\"; }\\n\\n.fa-clone:before {\\n content: \\\"\\\\F24D\\\"; }\\n\\n.fa-balance-scale:before {\\n content: \\\"\\\\F24E\\\"; }\\n\\n.fa-hourglass-o:before {\\n content: \\\"\\\\F250\\\"; }\\n\\n.fa-hourglass-1:before,\\n.fa-hourglass-start:before {\\n content: \\\"\\\\F251\\\"; }\\n\\n.fa-hourglass-2:before,\\n.fa-hourglass-half:before {\\n content: \\\"\\\\F252\\\"; }\\n\\n.fa-hourglass-3:before,\\n.fa-hourglass-end:before {\\n content: \\\"\\\\F253\\\"; }\\n\\n.fa-hourglass:before {\\n content: \\\"\\\\F254\\\"; }\\n\\n.fa-hand-grab-o:before,\\n.fa-hand-rock-o:before {\\n content: \\\"\\\\F255\\\"; }\\n\\n.fa-hand-stop-o:before,\\n.fa-hand-paper-o:before {\\n content: \\\"\\\\F256\\\"; }\\n\\n.fa-hand-scissors-o:before {\\n content: \\\"\\\\F257\\\"; }\\n\\n.fa-hand-lizard-o:before {\\n content: \\\"\\\\F258\\\"; }\\n\\n.fa-hand-spock-o:before {\\n content: \\\"\\\\F259\\\"; }\\n\\n.fa-hand-pointer-o:before {\\n content: \\\"\\\\F25A\\\"; }\\n\\n.fa-hand-peace-o:before {\\n content: \\\"\\\\F25B\\\"; }\\n\\n.fa-trademark:before {\\n content: \\\"\\\\F25C\\\"; }\\n\\n.fa-registered:before {\\n content: \\\"\\\\F25D\\\"; }\\n\\n.fa-creative-commons:before {\\n content: \\\"\\\\F25E\\\"; }\\n\\n.fa-gg:before {\\n content: \\\"\\\\F260\\\"; }\\n\\n.fa-gg-circle:before {\\n content: \\\"\\\\F261\\\"; }\\n\\n.fa-tripadvisor:before {\\n content: \\\"\\\\F262\\\"; }\\n\\n.fa-odnoklassniki:before {\\n content: \\\"\\\\F263\\\"; }\\n\\n.fa-odnoklassniki-square:before {\\n content: \\\"\\\\F264\\\"; }\\n\\n.fa-get-pocket:before {\\n content: \\\"\\\\F265\\\"; }\\n\\n.fa-wikipedia-w:before {\\n content: \\\"\\\\F266\\\"; }\\n\\n.fa-safari:before {\\n content: \\\"\\\\F267\\\"; }\\n\\n.fa-chrome:before {\\n content: \\\"\\\\F268\\\"; }\\n\\n.fa-firefox:before {\\n content: \\\"\\\\F269\\\"; }\\n\\n.fa-opera:before {\\n content: \\\"\\\\F26A\\\"; }\\n\\n.fa-internet-explorer:before {\\n content: \\\"\\\\F26B\\\"; }\\n\\n.fa-tv:before,\\n.fa-television:before {\\n content: \\\"\\\\F26C\\\"; }\\n\\n.fa-contao:before {\\n content: \\\"\\\\F26D\\\"; }\\n\\n.fa-500px:before {\\n content: \\\"\\\\F26E\\\"; }\\n\\n.fa-amazon:before {\\n content: \\\"\\\\F270\\\"; }\\n\\n.fa-calendar-plus-o:before {\\n content: \\\"\\\\F271\\\"; }\\n\\n.fa-calendar-minus-o:before {\\n content: \\\"\\\\F272\\\"; }\\n\\n.fa-calendar-times-o:before {\\n content: \\\"\\\\F273\\\"; }\\n\\n.fa-calendar-check-o:before {\\n content: \\\"\\\\F274\\\"; }\\n\\n.fa-industry:before {\\n content: \\\"\\\\F275\\\"; }\\n\\n.fa-map-pin:before {\\n content: \\\"\\\\F276\\\"; }\\n\\n.fa-map-signs:before {\\n content: \\\"\\\\F277\\\"; }\\n\\n.fa-map-o:before {\\n content: \\\"\\\\F278\\\"; }\\n\\n.fa-map:before {\\n content: \\\"\\\\F279\\\"; }\\n\\n.fa-commenting:before {\\n content: \\\"\\\\F27A\\\"; }\\n\\n.fa-commenting-o:before {\\n content: \\\"\\\\F27B\\\"; }\\n\\n.fa-houzz:before {\\n content: \\\"\\\\F27C\\\"; }\\n\\n.fa-vimeo:before {\\n content: \\\"\\\\F27D\\\"; }\\n\\n.fa-black-tie:before {\\n content: \\\"\\\\F27E\\\"; }\\n\\n.fa-fonticons:before {\\n content: \\\"\\\\F280\\\"; }\\n\\n.fa-reddit-alien:before {\\n content: \\\"\\\\F281\\\"; }\\n\\n.fa-edge:before {\\n content: \\\"\\\\F282\\\"; }\\n\\n.fa-credit-card-alt:before {\\n content: \\\"\\\\F283\\\"; }\\n\\n.fa-codiepie:before {\\n content: \\\"\\\\F284\\\"; }\\n\\n.fa-modx:before {\\n content: \\\"\\\\F285\\\"; }\\n\\n.fa-fort-awesome:before {\\n content: \\\"\\\\F286\\\"; }\\n\\n.fa-usb:before {\\n content: \\\"\\\\F287\\\"; }\\n\\n.fa-product-hunt:before {\\n content: \\\"\\\\F288\\\"; }\\n\\n.fa-mixcloud:before {\\n content: \\\"\\\\F289\\\"; }\\n\\n.fa-scribd:before {\\n content: \\\"\\\\F28A\\\"; }\\n\\n.fa-pause-circle:before {\\n content: \\\"\\\\F28B\\\"; }\\n\\n.fa-pause-circle-o:before {\\n content: \\\"\\\\F28C\\\"; }\\n\\n.fa-stop-circle:before {\\n content: \\\"\\\\F28D\\\"; }\\n\\n.fa-stop-circle-o:before {\\n content: \\\"\\\\F28E\\\"; }\\n\\n.fa-shopping-bag:before {\\n content: \\\"\\\\F290\\\"; }\\n\\n.fa-shopping-basket:before {\\n content: \\\"\\\\F291\\\"; }\\n\\n.fa-hashtag:before {\\n content: \\\"\\\\F292\\\"; }\\n\\n.fa-bluetooth:before {\\n content: \\\"\\\\F293\\\"; }\\n\\n.fa-bluetooth-b:before {\\n content: \\\"\\\\F294\\\"; }\\n\\n.fa-percent:before {\\n content: \\\"\\\\F295\\\"; }\\n\\n.fa-gitlab:before {\\n content: \\\"\\\\F296\\\"; }\\n\\n.fa-wpbeginner:before {\\n content: \\\"\\\\F297\\\"; }\\n\\n.fa-wpforms:before {\\n content: \\\"\\\\F298\\\"; }\\n\\n.fa-envira:before {\\n content: \\\"\\\\F299\\\"; }\\n\\n.fa-universal-access:before {\\n content: \\\"\\\\F29A\\\"; }\\n\\n.fa-wheelchair-alt:before {\\n content: \\\"\\\\F29B\\\"; }\\n\\n.fa-question-circle-o:before {\\n content: \\\"\\\\F29C\\\"; }\\n\\n.fa-blind:before {\\n content: \\\"\\\\F29D\\\"; }\\n\\n.fa-audio-description:before {\\n content: \\\"\\\\F29E\\\"; }\\n\\n.fa-volume-control-phone:before {\\n content: \\\"\\\\F2A0\\\"; }\\n\\n.fa-braille:before {\\n content: \\\"\\\\F2A1\\\"; }\\n\\n.fa-assistive-listening-systems:before {\\n content: \\\"\\\\F2A2\\\"; }\\n\\n.fa-asl-interpreting:before,\\n.fa-american-sign-language-interpreting:before {\\n content: \\\"\\\\F2A3\\\"; }\\n\\n.fa-deafness:before,\\n.fa-hard-of-hearing:before,\\n.fa-deaf:before {\\n content: \\\"\\\\F2A4\\\"; }\\n\\n.fa-glide:before {\\n content: \\\"\\\\F2A5\\\"; }\\n\\n.fa-glide-g:before {\\n content: \\\"\\\\F2A6\\\"; }\\n\\n.fa-signing:before,\\n.fa-sign-language:before {\\n content: \\\"\\\\F2A7\\\"; }\\n\\n.fa-low-vision:before {\\n content: \\\"\\\\F2A8\\\"; }\\n\\n.fa-viadeo:before {\\n content: \\\"\\\\F2A9\\\"; }\\n\\n.fa-viadeo-square:before {\\n content: \\\"\\\\F2AA\\\"; }\\n\\n.fa-snapchat:before {\\n content: \\\"\\\\F2AB\\\"; }\\n\\n.fa-snapchat-ghost:before {\\n content: \\\"\\\\F2AC\\\"; }\\n\\n.fa-snapchat-square:before {\\n content: \\\"\\\\F2AD\\\"; }\\n\\n.fa-pied-piper:before {\\n content: \\\"\\\\F2AE\\\"; }\\n\\n.fa-first-order:before {\\n content: \\\"\\\\F2B0\\\"; }\\n\\n.fa-yoast:before {\\n content: \\\"\\\\F2B1\\\"; }\\n\\n.fa-themeisle:before {\\n content: \\\"\\\\F2B2\\\"; }\\n\\n.fa-google-plus-circle:before,\\n.fa-google-plus-official:before {\\n content: \\\"\\\\F2B3\\\"; }\\n\\n.fa-fa:before,\\n.fa-font-awesome:before {\\n content: \\\"\\\\F2B4\\\"; }\\n\\n.fa-handshake-o:before {\\n content: \\\"\\\\F2B5\\\"; }\\n\\n.fa-envelope-open:before {\\n content: \\\"\\\\F2B6\\\"; }\\n\\n.fa-envelope-open-o:before {\\n content: \\\"\\\\F2B7\\\"; }\\n\\n.fa-linode:before {\\n content: \\\"\\\\F2B8\\\"; }\\n\\n.fa-address-book:before {\\n content: \\\"\\\\F2B9\\\"; }\\n\\n.fa-address-book-o:before {\\n content: \\\"\\\\F2BA\\\"; }\\n\\n.fa-vcard:before,\\n.fa-address-card:before {\\n content: \\\"\\\\F2BB\\\"; }\\n\\n.fa-vcard-o:before,\\n.fa-address-card-o:before {\\n content: \\\"\\\\F2BC\\\"; }\\n\\n.fa-user-circle:before {\\n content: \\\"\\\\F2BD\\\"; }\\n\\n.fa-user-circle-o:before {\\n content: \\\"\\\\F2BE\\\"; }\\n\\n.fa-user-o:before {\\n content: \\\"\\\\F2C0\\\"; }\\n\\n.fa-id-badge:before {\\n content: \\\"\\\\F2C1\\\"; }\\n\\n.fa-drivers-license:before,\\n.fa-id-card:before {\\n content: \\\"\\\\F2C2\\\"; }\\n\\n.fa-drivers-license-o:before,\\n.fa-id-card-o:before {\\n content: \\\"\\\\F2C3\\\"; }\\n\\n.fa-quora:before {\\n content: \\\"\\\\F2C4\\\"; }\\n\\n.fa-free-code-camp:before {\\n content: \\\"\\\\F2C5\\\"; }\\n\\n.fa-telegram:before {\\n content: \\\"\\\\F2C6\\\"; }\\n\\n.fa-thermometer-4:before,\\n.fa-thermometer:before,\\n.fa-thermometer-full:before {\\n content: \\\"\\\\F2C7\\\"; }\\n\\n.fa-thermometer-3:before,\\n.fa-thermometer-three-quarters:before {\\n content: \\\"\\\\F2C8\\\"; }\\n\\n.fa-thermometer-2:before,\\n.fa-thermometer-half:before {\\n content: \\\"\\\\F2C9\\\"; }\\n\\n.fa-thermometer-1:before,\\n.fa-thermometer-quarter:before {\\n content: \\\"\\\\F2CA\\\"; }\\n\\n.fa-thermometer-0:before,\\n.fa-thermometer-empty:before {\\n content: \\\"\\\\F2CB\\\"; }\\n\\n.fa-shower:before {\\n content: \\\"\\\\F2CC\\\"; }\\n\\n.fa-bathtub:before,\\n.fa-s15:before,\\n.fa-bath:before {\\n content: \\\"\\\\F2CD\\\"; }\\n\\n.fa-podcast:before {\\n content: \\\"\\\\F2CE\\\"; }\\n\\n.fa-window-maximize:before {\\n content: \\\"\\\\F2D0\\\"; }\\n\\n.fa-window-minimize:before {\\n content: \\\"\\\\F2D1\\\"; }\\n\\n.fa-window-restore:before {\\n content: \\\"\\\\F2D2\\\"; }\\n\\n.fa-times-rectangle:before,\\n.fa-window-close:before {\\n content: \\\"\\\\F2D3\\\"; }\\n\\n.fa-times-rectangle-o:before,\\n.fa-window-close-o:before {\\n content: \\\"\\\\F2D4\\\"; }\\n\\n.fa-bandcamp:before {\\n content: \\\"\\\\F2D5\\\"; }\\n\\n.fa-grav:before {\\n content: \\\"\\\\F2D6\\\"; }\\n\\n.fa-etsy:before {\\n content: \\\"\\\\F2D7\\\"; }\\n\\n.fa-imdb:before {\\n content: \\\"\\\\F2D8\\\"; }\\n\\n.fa-ravelry:before {\\n content: \\\"\\\\F2D9\\\"; }\\n\\n.fa-eercast:before {\\n content: \\\"\\\\F2DA\\\"; }\\n\\n.fa-microchip:before {\\n content: \\\"\\\\F2DB\\\"; }\\n\\n.fa-snowflake-o:before {\\n content: \\\"\\\\F2DC\\\"; }\\n\\n.fa-superpowers:before {\\n content: \\\"\\\\F2DD\\\"; }\\n\\n.fa-wpexplorer:before {\\n content: \\\"\\\\F2DE\\\"; }\\n\\n.fa-meetup:before {\\n content: \\\"\\\\F2E0\\\"; }\\n\\n.sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0; }\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n position: static;\\n width: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n clip: auto; }\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/*************** SCROLLBAR BASE CSS ***************/\\n.scroll-wrapper {\\n overflow: hidden !important;\\n padding: 0 !important;\\n position: relative; }\\n .scroll-wrapper > .scroll-content {\\n border: none !important;\\n box-sizing: content-box !important;\\n height: auto;\\n left: 0;\\n margin: 0;\\n max-height: none;\\n max-width: none !important;\\n overflow: scroll !important;\\n padding: 0;\\n position: relative !important;\\n top: 0;\\n width: auto !important; }\\n .scroll-wrapper > .scroll-content::-webkit-scrollbar {\\n height: 0;\\n width: 0; }\\n .scroll-wrapper.scroll--rtl {\\n direction: rtl; }\\n\\n.scroll-element {\\n box-sizing: content-box;\\n display: none; }\\n .scroll-element div {\\n box-sizing: content-box; }\\n .scroll-element .scroll-bar,\\n .scroll-element .scroll-arrow {\\n cursor: default; }\\n .scroll-element.scroll-x.scroll-scrollx_visible, .scroll-element.scroll-y.scroll-scrolly_visible {\\n display: block; }\\n\\n.scroll-textarea {\\n border: 1px solid #cccccc;\\n border-top-color: #999999; }\\n .scroll-textarea > .scroll-content {\\n overflow: hidden !important; }\\n .scroll-textarea > .scroll-content > textarea {\\n border: none !important;\\n box-sizing: border-box;\\n height: 100% !important;\\n margin: 0;\\n max-height: none !important;\\n max-width: none !important;\\n overflow: scroll !important;\\n outline: none;\\n padding: 2px;\\n position: relative !important;\\n top: 0;\\n width: 100% !important; }\\n .scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {\\n height: 0;\\n width: 0; }\\n\\n/*************** SIMPLE INNER SCROLLBAR ***************/\\n.scrollbar-inner > .scroll-element,\\n.scrollbar-inner > .scroll-element div {\\n border: none;\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n z-index: 10; }\\n\\n.scrollbar-inner > .scroll-element div {\\n display: block;\\n height: 100%;\\n left: 0;\\n top: 0;\\n width: 100%; }\\n\\n.scrollbar-inner > .scroll-element.scroll-x {\\n bottom: 2px;\\n height: 8px;\\n left: 0;\\n width: 100%; }\\n\\n.scrollbar-inner > .scroll-element.scroll-y {\\n height: 100%;\\n right: 2px;\\n top: 0;\\n width: 8px; }\\n\\n.scrollbar-inner > .scroll-element .scroll-element_outer {\\n overflow: hidden; }\\n\\n.scrollbar-inner > .scroll-element .scroll-element_outer,\\n.scrollbar-inner > .scroll-element .scroll-element_track,\\n.scrollbar-inner > .scroll-element .scroll-bar {\\n border-radius: 8px; }\\n\\n.scrollbar-inner > .scroll-element .scroll-element_track,\\n.scrollbar-inner > .scroll-element .scroll-bar {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)\\\";\\n filter: alpha(opacity=40);\\n opacity: 0.4; }\\n\\n.scrollbar-inner > .scroll-element .scroll-element_track {\\n background-color: #e0e0e0; }\\n\\n.scrollbar-inner > .scroll-element .scroll-bar {\\n background-color: #c2c2c2; }\\n\\n.scrollbar-inner > .scroll-element:hover .scroll-bar {\\n background-color: #919191; }\\n\\n.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar {\\n background-color: #919191; }\\n\\n/* update scrollbar offset if both scrolls are visible */\\n.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {\\n left: -12px; }\\n\\n.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {\\n top: -12px; }\\n\\n.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\\n left: -12px; }\\n\\n.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\\n top: -12px; }\\n\\n/*************** SIMPLE OUTER SCROLLBAR ***************/\\n.scrollbar-outer > .scroll-element,\\n.scrollbar-outer > .scroll-element div {\\n border: none;\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n z-index: 10; }\\n\\n.scrollbar-outer > .scroll-element {\\n background-color: #ffffff; }\\n\\n.scrollbar-outer > .scroll-element div {\\n display: block;\\n height: 100%;\\n left: 0;\\n top: 0;\\n width: 100%; }\\n\\n.scrollbar-outer > .scroll-element.scroll-x {\\n bottom: 0;\\n height: 12px;\\n left: 0;\\n width: 100%; }\\n\\n.scrollbar-outer > .scroll-element.scroll-y {\\n height: 100%;\\n right: 0;\\n top: 0;\\n width: 12px; }\\n\\n.scrollbar-outer > .scroll-element.scroll-x .scroll-element_outer {\\n height: 8px;\\n top: 2px; }\\n\\n.scrollbar-outer > .scroll-element.scroll-y .scroll-element_outer {\\n left: 2px;\\n width: 8px; }\\n\\n.scrollbar-outer > .scroll-element .scroll-element_outer {\\n overflow: hidden; }\\n\\n.scrollbar-outer > .scroll-element .scroll-element_track {\\n background-color: #eeeeee; }\\n\\n.scrollbar-outer > .scroll-element .scroll-element_outer,\\n.scrollbar-outer > .scroll-element .scroll-element_track,\\n.scrollbar-outer > .scroll-element .scroll-bar {\\n border-radius: 8px; }\\n\\n.scrollbar-outer > .scroll-element .scroll-bar {\\n background-color: #d9d9d9; }\\n\\n.scrollbar-outer > .scroll-element .scroll-bar:hover {\\n background-color: #c2c2c2; }\\n\\n.scrollbar-outer > .scroll-element.scroll-draggable .scroll-bar {\\n background-color: #919191; }\\n\\n/* scrollbar height/width & offset from container borders */\\n.scrollbar-outer > .scroll-content.scroll-scrolly_visible {\\n left: -12px;\\n margin-left: 12px; }\\n\\n.scrollbar-outer > .scroll-content.scroll-scrollx_visible {\\n top: -12px;\\n margin-top: 12px; }\\n\\n.scrollbar-outer > .scroll-element.scroll-x .scroll-bar {\\n min-width: 10px; }\\n\\n.scrollbar-outer > .scroll-element.scroll-y .scroll-bar {\\n min-height: 10px; }\\n\\n/* update scrollbar offset if both scrolls are visible */\\n.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {\\n left: -14px; }\\n\\n.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {\\n top: -14px; }\\n\\n.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\\n left: -14px; }\\n\\n.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\\n top: -14px; }\\n\\n/*************** SCROLLBAR MAC OS X ***************/\\n.scrollbar-macosx > .scroll-element,\\n.scrollbar-macosx > .scroll-element div {\\n background: none;\\n border: none;\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n z-index: 10; }\\n\\n.scrollbar-macosx > .scroll-element div {\\n display: block;\\n height: 100%;\\n left: 0;\\n top: 0;\\n width: 100%; }\\n\\n.scrollbar-macosx > .scroll-element .scroll-element_track {\\n display: none; }\\n\\n.scrollbar-macosx > .scroll-element .scroll-bar {\\n background-color: #6C6E71;\\n display: block;\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\\\";\\n filter: alpha(opacity=0);\\n opacity: 0;\\n border-radius: 7px;\\n transition: opacity 0.2s linear; }\\n\\n.scrollbar-macosx:hover > .scroll-element .scroll-bar,\\n.scrollbar-macosx > .scroll-element.scroll-draggable .scroll-bar {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\\\";\\n filter: alpha(opacity=70);\\n opacity: 0.7; }\\n\\n.scrollbar-macosx > .scroll-element.scroll-x {\\n bottom: 0px;\\n height: 0px;\\n left: 0;\\n min-width: 100%;\\n overflow: visible;\\n width: 100%; }\\n\\n.scrollbar-macosx > .scroll-element.scroll-y {\\n height: 100%;\\n min-height: 100%;\\n right: 0px;\\n top: 0;\\n width: 0px; }\\n\\n/* scrollbar height/width & offset from container borders */\\n.scrollbar-macosx > .scroll-element.scroll-x .scroll-bar {\\n height: 7px;\\n min-width: 10px;\\n top: -9px; }\\n\\n.scrollbar-macosx > .scroll-element.scroll-y .scroll-bar {\\n left: -9px;\\n min-height: 10px;\\n width: 7px; }\\n\\n.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_outer {\\n left: 2px; }\\n\\n.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_size {\\n left: -4px; }\\n\\n.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_outer {\\n top: 2px; }\\n\\n.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_size {\\n top: -4px; }\\n\\n/* update scrollbar offset if both scrolls are visible */\\n.scrollbar-macosx > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\\n left: -11px; }\\n\\n.scrollbar-macosx > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\\n top: -11px; }\\n\\n/*************** SCROLLBAR LIGHT ***************/\\n.scrollbar-light > .scroll-element,\\n.scrollbar-light > .scroll-element div {\\n border: none;\\n margin: 0;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n z-index: 10; }\\n\\n.scrollbar-light > .scroll-element {\\n background-color: #ffffff; }\\n\\n.scrollbar-light > .scroll-element div {\\n display: block;\\n height: 100%;\\n left: 0;\\n top: 0;\\n width: 100%; }\\n\\n.scrollbar-light > .scroll-element .scroll-element_outer {\\n border-radius: 10px; }\\n\\n.scrollbar-light > .scroll-element .scroll-element_size {\\n background: #dbdbdb;\\n background: url(\\\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RiZGJkYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOGU4ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+\\\");\\n background: linear-gradient(to right, #dbdbdb 0%, #e8e8e8 100%);\\n border-radius: 10px; }\\n\\n.scrollbar-light > .scroll-element.scroll-x {\\n bottom: 0;\\n height: 17px;\\n left: 0;\\n min-width: 100%;\\n width: 100%; }\\n\\n.scrollbar-light > .scroll-element.scroll-y {\\n height: 100%;\\n min-height: 100%;\\n right: 0;\\n top: 0;\\n width: 17px; }\\n\\n.scrollbar-light > .scroll-element .scroll-bar {\\n background: #fefefe;\\n background: url(\\\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+\\\");\\n background: linear-gradient(to right, #fefefe 0%, #f5f5f5 100%);\\n border: 1px solid #dbdbdb;\\n border-radius: 10px; }\\n\\n/* scrollbar height/width & offset from container borders */\\n.scrollbar-light > .scroll-content.scroll-scrolly_visible {\\n left: -17px;\\n margin-left: 17px; }\\n\\n.scrollbar-light > .scroll-content.scroll-scrollx_visible {\\n top: -17px;\\n margin-top: 17px; }\\n\\n.scrollbar-light > .scroll-element.scroll-x .scroll-bar {\\n height: 10px;\\n min-width: 10px;\\n top: 0px; }\\n\\n.scrollbar-light > .scroll-element.scroll-y .scroll-bar {\\n left: 0px;\\n min-height: 10px;\\n width: 10px; }\\n\\n.scrollbar-light > .scroll-element.scroll-x .scroll-element_outer {\\n height: 12px;\\n left: 2px;\\n top: 2px; }\\n\\n.scrollbar-light > .scroll-element.scroll-x .scroll-element_size {\\n left: -4px; }\\n\\n.scrollbar-light > .scroll-element.scroll-y .scroll-element_outer {\\n left: 2px;\\n top: 2px;\\n width: 12px; }\\n\\n.scrollbar-light > .scroll-element.scroll-y .scroll-element_size {\\n top: -4px; }\\n\\n/* update scrollbar offset if both scrolls are visible */\\n.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\\n left: -19px; }\\n\\n.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\\n top: -19px; }\\n\\n.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {\\n left: -19px; }\\n\\n.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {\\n top: -19px; }\\n\\n/*************** SCROLLBAR RAIL ***************/\\n.scrollbar-rail > .scroll-element,\\n.scrollbar-rail > .scroll-element div {\\n border: none;\\n margin: 0;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n z-index: 10; }\\n\\n.scrollbar-rail > .scroll-element {\\n background-color: #ffffff; }\\n\\n.scrollbar-rail > .scroll-element div {\\n display: block;\\n height: 100%;\\n left: 0;\\n top: 0;\\n width: 100%; }\\n\\n.scrollbar-rail > .scroll-element .scroll-element_size {\\n background-color: #999;\\n background-color: rgba(0, 0, 0, 0.3); }\\n\\n.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-element_size {\\n background-color: #666;\\n background-color: rgba(0, 0, 0, 0.5); }\\n\\n.scrollbar-rail > .scroll-element.scroll-x {\\n bottom: 0;\\n height: 12px;\\n left: 0;\\n min-width: 100%;\\n padding: 3px 0 2px;\\n width: 100%; }\\n\\n.scrollbar-rail > .scroll-element.scroll-y {\\n height: 100%;\\n min-height: 100%;\\n padding: 0 2px 0 3px;\\n right: 0;\\n top: 0;\\n width: 12px; }\\n\\n.scrollbar-rail > .scroll-element .scroll-bar {\\n background-color: #d0b9a0;\\n border-radius: 2px;\\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); }\\n\\n.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-bar {\\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6); }\\n\\n/* scrollbar height/width & offset from container borders */\\n.scrollbar-rail > .scroll-content.scroll-scrolly_visible {\\n left: -17px;\\n margin-left: 17px; }\\n\\n.scrollbar-rail > .scroll-content.scroll-scrollx_visible {\\n margin-top: 17px;\\n top: -17px; }\\n\\n.scrollbar-rail > .scroll-element.scroll-x .scroll-bar {\\n height: 10px;\\n min-width: 10px;\\n top: 1px; }\\n\\n.scrollbar-rail > .scroll-element.scroll-y .scroll-bar {\\n left: 1px;\\n min-height: 10px;\\n width: 10px; }\\n\\n.scrollbar-rail > .scroll-element.scroll-x .scroll-element_outer {\\n height: 15px;\\n left: 5px; }\\n\\n.scrollbar-rail > .scroll-element.scroll-x .scroll-element_size {\\n height: 2px;\\n left: -10px;\\n top: 5px; }\\n\\n.scrollbar-rail > .scroll-element.scroll-y .scroll-element_outer {\\n top: 5px;\\n width: 15px; }\\n\\n.scrollbar-rail > .scroll-element.scroll-y .scroll-element_size {\\n left: 5px;\\n top: -10px;\\n width: 2px; }\\n\\n/* update scrollbar offset if both scrolls are visible */\\n.scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\\n left: -25px; }\\n\\n.scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\\n top: -25px; }\\n\\n.scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {\\n left: -25px; }\\n\\n.scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {\\n top: -25px; }\\n\\n/*************** SCROLLBAR DYNAMIC ***************/\\n.scrollbar-dynamic > .scroll-element,\\n.scrollbar-dynamic > .scroll-element div {\\n background: none;\\n border: none;\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n z-index: 10; }\\n\\n.scrollbar-dynamic > .scroll-element div {\\n display: block;\\n height: 100%;\\n left: 0;\\n top: 0;\\n width: 100%; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-x {\\n bottom: 2px;\\n height: 7px;\\n left: 0;\\n min-width: 100%;\\n width: 100%; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-y {\\n height: 100%;\\n min-height: 100%;\\n right: 2px;\\n top: 0;\\n width: 7px; }\\n\\n.scrollbar-dynamic > .scroll-element .scroll-element_outer {\\n opacity: 0.3;\\n border-radius: 12px; }\\n\\n.scrollbar-dynamic > .scroll-element .scroll-element_size {\\n background-color: #cccccc;\\n opacity: 0;\\n border-radius: 12px;\\n transition: opacity 0.2s; }\\n\\n.scrollbar-dynamic > .scroll-element .scroll-bar {\\n background-color: #6c6e71;\\n border-radius: 7px; }\\n\\n/* scrollbar height/width & offset from container borders */\\n.scrollbar-dynamic > .scroll-element.scroll-x .scroll-bar {\\n bottom: 0;\\n height: 7px;\\n min-width: 24px;\\n top: auto; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-y .scroll-bar {\\n left: auto;\\n min-height: 24px;\\n right: 0;\\n width: 7px; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_outer {\\n bottom: 0;\\n top: auto;\\n left: 2px;\\n transition: height 0.2s; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_outer {\\n left: auto;\\n right: 0;\\n top: 2px;\\n transition: width 0.2s; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_size {\\n left: -4px; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_size {\\n top: -4px; }\\n\\n/* update scrollbar offset if both scrolls are visible */\\n.scrollbar-dynamic > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\\n left: -11px; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\\n top: -11px; }\\n\\n/* hover & drag */\\n.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer,\\n.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer {\\n overflow: hidden;\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\\\";\\n filter: alpha(opacity=70);\\n opacity: 0.7; }\\n\\n.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-element_size,\\n.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size {\\n opacity: 1; }\\n\\n.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-bar,\\n.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-bar {\\n height: 100%;\\n width: 100%;\\n border-radius: 12px; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-x:hover .scroll-element_outer,\\n.scrollbar-dynamic > .scroll-element.scroll-x.scroll-draggable .scroll-element_outer {\\n height: 20px;\\n min-height: 7px; }\\n\\n.scrollbar-dynamic > .scroll-element.scroll-y:hover .scroll-element_outer,\\n.scrollbar-dynamic > .scroll-element.scroll-y.scroll-draggable .scroll-element_outer {\\n min-width: 7px;\\n width: 20px; }\\n\\n/*************** SCROLLBAR GOOGLE CHROME ***************/\\n.scrollbar-chrome > .scroll-element,\\n.scrollbar-chrome > .scroll-element div {\\n border: none;\\n margin: 0;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n z-index: 10; }\\n\\n.scrollbar-chrome > .scroll-element {\\n background-color: #ffffff; }\\n\\n.scrollbar-chrome > .scroll-element div {\\n display: block;\\n height: 100%;\\n left: 0;\\n top: 0;\\n width: 100%; }\\n\\n.scrollbar-chrome > .scroll-element .scroll-element_track {\\n background: #f1f1f1;\\n border: 1px solid #dbdbdb; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-x {\\n bottom: 0;\\n height: 16px;\\n left: 0;\\n min-width: 100%;\\n width: 100%; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-y {\\n height: 100%;\\n min-height: 100%;\\n right: 0;\\n top: 0;\\n width: 16px; }\\n\\n.scrollbar-chrome > .scroll-element .scroll-bar {\\n background-color: #d9d9d9;\\n border: 1px solid #bdbdbd;\\n cursor: default;\\n border-radius: 2px; }\\n\\n.scrollbar-chrome > .scroll-element .scroll-bar:hover {\\n background-color: #c2c2c2;\\n border-color: #a9a9a9; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-draggable .scroll-bar {\\n background-color: #919191;\\n border-color: #7e7e7e; }\\n\\n/* scrollbar height/width & offset from container borders */\\n.scrollbar-chrome > .scroll-content.scroll-scrolly_visible {\\n left: -16px;\\n margin-left: 16px; }\\n\\n.scrollbar-chrome > .scroll-content.scroll-scrollx_visible {\\n top: -16px;\\n margin-top: 16px; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-x .scroll-bar {\\n height: 8px;\\n min-width: 10px;\\n top: 3px; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-y .scroll-bar {\\n left: 3px;\\n min-height: 10px;\\n width: 8px; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_outer {\\n border-left: 1px solid #dbdbdb; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_track {\\n height: 14px;\\n left: -3px; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_size {\\n height: 14px;\\n left: -4px; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_outer {\\n border-top: 1px solid #dbdbdb; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_track {\\n top: -3px;\\n width: 14px; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_size {\\n top: -4px;\\n width: 14px; }\\n\\n/* update scrollbar offset if both scrolls are visible */\\n.scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\\n left: -19px; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\\n top: -19px; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {\\n left: -19px; }\\n\\n.scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {\\n top: -19px; }\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".croppie-container {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-image {\\r\\n z-index: -1;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n transform-origin: 0 0;\\r\\n max-height: none;\\r\\n max-width: none;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-boundary {\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n margin: 0 auto;\\r\\n z-index: 1;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-viewport,\\r\\n.croppie-container .cr-resizer {\\r\\n position: absolute;\\r\\n border: 2px solid #fff;\\r\\n margin: auto;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n left: 0;\\r\\n box-shadow: 0 0 2000px 2000px rgba(0, 0, 0, 0.5);\\r\\n z-index: 0;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-resizer {\\r\\n z-index: 2;\\r\\n box-shadow: none;\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-resizer-vertical,\\r\\n.croppie-container .cr-resizer-horisontal {\\r\\n position: absolute;\\r\\n pointer-events: all;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-resizer-vertical::after,\\r\\n.croppie-container .cr-resizer-horisontal::after {\\r\\n display: block;\\r\\n position: absolute;\\r\\n box-sizing: border-box;\\r\\n border: 1px solid black;\\r\\n background: #fff;\\r\\n width: 10px;\\r\\n height: 10px;\\r\\n content: '';\\r\\n}\\r\\n\\r\\n.croppie-container .cr-resizer-vertical {\\r\\n bottom: -5px;\\r\\n cursor: row-resize;\\r\\n width: 100%;\\r\\n height: 10px;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-resizer-vertical::after {\\r\\n left: 50%;\\r\\n margin-left: -5px;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-resizer-horisontal {\\r\\n right: -5px;\\r\\n cursor: col-resize;\\r\\n width: 10px;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-resizer-horisontal::after {\\r\\n top: 50%;\\r\\n margin-top: -5px;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-original-image {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-vp-circle {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-overlay {\\r\\n z-index: 1;\\r\\n position: absolute;\\r\\n cursor: move;\\r\\n touch-action: none;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-slider-wrap {\\r\\n width: 75%;\\r\\n margin: 15px auto;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.croppie-result {\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.croppie-result img {\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n.croppie-container .cr-image,\\r\\n.croppie-container .cr-overlay,\\r\\n.croppie-container .cr-viewport {\\r\\n -webkit-transform: translateZ(0);\\r\\n -moz-transform: translateZ(0);\\r\\n -ms-transform: translateZ(0);\\r\\n transform: translateZ(0);\\r\\n}\\r\\n\\r\\n/*************************************/\\r\\n/***** STYLING RANGE INPUT ***********/\\r\\n/*************************************/\\r\\n/*http://brennaobrien.com/blog/2014/05/style-input-type-range-in-every-browser.html */\\r\\n/*************************************/\\r\\n\\r\\n.cr-slider {\\r\\n -webkit-appearance: none;\\r\\n/*removes default webkit styles*/\\r\\n\\t/*border: 1px solid white; *//*fix for FF unable to apply focus style bug */\\r\\n width: 300px;\\r\\n/*required for proper track sizing in FF*/\\r\\n max-width: 100%;\\r\\n padding-top: 8px;\\r\\n padding-bottom: 8px;\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.cr-slider::-webkit-slider-runnable-track {\\r\\n width: 100%;\\r\\n height: 3px;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n border: 0;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n.cr-slider::-webkit-slider-thumb {\\r\\n -webkit-appearance: none;\\r\\n border: none;\\r\\n height: 16px;\\r\\n width: 16px;\\r\\n border-radius: 50%;\\r\\n background: #ddd;\\r\\n margin-top: -6px;\\r\\n}\\r\\n\\r\\n.cr-slider:focus {\\r\\n outline: none;\\r\\n}\\r\\n/*\\r\\n.cr-slider:focus::-webkit-slider-runnable-track {\\r\\nbackground: #ccc;\\r\\n}\\r\\n*/\\r\\n\\r\\n.cr-slider::-moz-range-track {\\r\\n width: 100%;\\r\\n height: 3px;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n border: 0;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n.cr-slider::-moz-range-thumb {\\r\\n border: none;\\r\\n height: 16px;\\r\\n width: 16px;\\r\\n border-radius: 50%;\\r\\n background: #ddd;\\r\\n margin-top: -6px;\\r\\n}\\r\\n\\r\\n/*hide the outline behind the border*/\\r\\n.cr-slider:-moz-focusring {\\r\\n outline: 1px solid white;\\r\\n outline-offset: -1px;\\r\\n}\\r\\n\\r\\n.cr-slider::-ms-track {\\r\\n width: 100%;\\r\\n height: 5px;\\r\\n background: transparent;\\r\\n/*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */\\r\\n\\tborder-color: transparent;/*leave room for the larger thumb to overflow with a transparent border */\\r\\n\\tborder-width: 6px 0;\\r\\n\\tcolor: transparent;/*remove default tick marks*/\\r\\n}\\r\\n.cr-slider::-ms-fill-lower {\\r\\n\\tbackground: rgba(0, 0, 0, 0.5);\\r\\n\\tborder-radius: 10px;\\r\\n}\\r\\n.cr-slider::-ms-fill-upper {\\r\\n\\tbackground: rgba(0, 0, 0, 0.5);\\r\\n\\tborder-radius: 10px;\\r\\n}\\r\\n.cr-slider::-ms-thumb {\\r\\n\\tborder: none;\\r\\n\\theight: 16px;\\r\\n\\twidth: 16px;\\r\\n\\tborder-radius: 50%;\\r\\n\\tbackground: #ddd;\\r\\n\\tmargin-top:1px;\\r\\n}\\r\\n.cr-slider:focus::-ms-fill-lower {\\r\\n\\tbackground: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n.cr-slider:focus::-ms-fill-upper {\\r\\n\\tbackground: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n/*******************************************/\\r\\n\\r\\n/***********************************/\\r\\n/* Rotation Tools */\\r\\n/***********************************/\\r\\n.cr-rotate-controls {\\r\\n\\tposition: absolute;\\r\\n\\tbottom: 5px;\\r\\n\\tleft: 5px;\\r\\n\\tz-index: 1;\\r\\n}\\r\\n.cr-rotate-controls button {\\r\\n\\tborder: 0;\\r\\n\\tbackground: none;\\r\\n}\\r\\n.cr-rotate-controls i:before {\\r\\n\\tdisplay: inline-block;\\r\\n\\tfont-style: normal;\\r\\n\\tfont-weight: 900;\\r\\n\\tfont-size: 22px;\\r\\n}\\r\\n.cr-rotate-l i:before {\\r\\n\\tcontent: '\\\\21BA';\\r\\n}\\r\\n.cr-rotate-r i:before {\\r\\n\\tcontent: '\\\\21BB';\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/*\\r\\n * bootstrap-tagsinput v0.8.0\\r\\n * \\r\\n */\\r\\n\\r\\n.bootstrap-tagsinput {\\r\\n background-color: #fff;\\r\\n border: 1px solid #ccc;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\r\\n display: inline-block;\\r\\n padding: 4px 6px;\\r\\n color: #555;\\r\\n vertical-align: middle;\\r\\n border-radius: 4px;\\r\\n max-width: 100%;\\r\\n line-height: 22px;\\r\\n cursor: text;\\r\\n}\\r\\n.bootstrap-tagsinput input {\\r\\n border: none;\\r\\n box-shadow: none;\\r\\n outline: none;\\r\\n background-color: transparent;\\r\\n padding: 0 6px;\\r\\n margin: 0;\\r\\n width: auto;\\r\\n max-width: inherit;\\r\\n}\\r\\n.bootstrap-tagsinput.form-control input::-moz-placeholder {\\r\\n color: #777;\\r\\n opacity: 1;\\r\\n}\\r\\n.bootstrap-tagsinput.form-control input:-ms-input-placeholder {\\r\\n color: #777;\\r\\n}\\r\\n.bootstrap-tagsinput.form-control input::-webkit-input-placeholder {\\r\\n color: #777;\\r\\n}\\r\\n.bootstrap-tagsinput input:focus {\\r\\n border: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n.bootstrap-tagsinput .tag {\\r\\n margin-right: 2px;\\r\\n color: white;\\r\\n}\\r\\n.bootstrap-tagsinput .tag [data-role=\\\"remove\\\"] {\\r\\n margin-left: 8px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.bootstrap-tagsinput .tag [data-role=\\\"remove\\\"]:after {\\r\\n content: \\\"x\\\";\\r\\n padding: 0px 2px;\\r\\n}\\r\\n.bootstrap-tagsinput .tag [data-role=\\\"remove\\\"]:hover {\\r\\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n.bootstrap-tagsinput .tag [data-role=\\\"remove\\\"]:hover:active {\\r\\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/** \\r\\n * Kendo UI v2018.1.221 (http://www.telerik.com/kendo-ui) \\r\\n * Copyright 2018 Telerik AD. All rights reserved. \\r\\n * \\r\\n * Kendo UI commercial licenses may be obtained at \\r\\n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \\r\\n * If you do not own a commercial license, this file shall be governed by the trial license terms. \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n*/.fake{color:red}.k-common-test-class{opacity:0}.k-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none}.k-floatwrap:after,.k-grid-toolbar:after,.k-slider-items:after{content:\\\"\\\";display:block;clear:both;visibility:hidden;height:0;overflow:hidden}.k-floatwrap,.k-grid-toolbar,.k-slider-items{display:inline-block}.k-floatwrap,.k-grid-toolbar,.k-slider-items{display:block}.k-autocomplete,.k-autocomplete.k-state-hover,.k-block,.k-draghandle,.k-dropdown-wrap,.k-dropdown-wrap.k-state-hover,.k-grid-header,.k-grouping-header,.k-header,.k-link.k-state-hover,.k-numeric-wrap,.k-numeric-wrap.k-state-hover,.k-pager-wrap,.k-picker-wrap,.k-picker-wrap.k-state-hover,.k-tabstrip-items .k-item,.k-textbox,.k-textbox:hover,.k-toolbar,.k-tooltip{background-repeat:repeat;background-position:0 center}.k-link:hover{text-decoration:none}.k-state-highlight>.k-link{color:inherit}.k-input[type=number],.k-input[type=text],.k-multiselect .k-input,.k-picker-wrap .k-input,.k-textbox,.k-textbox>input{font-size:100%;font-family:inherit;border-style:solid;border-width:1px;-webkit-appearance:none}.k-block,.k-draghandle,.k-inline-block,.k-widget{border-style:solid;border-width:1px;-webkit-appearance:none}.k-block,.k-widget{line-height:normal;outline:0}.k-list-filter ::-ms-clear,.k-widget .k-input::-ms-clear{width:0;height:0}.k-block{padding:2px}a.k-button-expand{display:block}button.k-button-expand,input[type=button].k-button-expand,input[type=reset].k-button-expand,input[type=submit].k-button-expand{width:100%}.k-toolbar .k-button-icontext{padding-right:.8em}.k-link{cursor:pointer;outline:0;text-decoration:none}.k-grid-header span.k-link{cursor:default}.k-state-disabled,.k-state-disabled .k-draghandle,.k-state-disabled .k-icon,.k-state-disabled .k-link,.k-state-disabled .k-upload-button input{cursor:default!important;outline:0}.k-state-disabled{opacity:.7}.k-state-disabled>.k-button{opacity:1}@media print{.k-state-disabled,.k-state-disabled .k-input{opacity:1!important}}.k-state-error{border-style:ridge}.k-state-empty{font-style:italic}.k-icon.k-i-none{background-image:none!important}.k-image{border:0}.k-badge{max-width:100%;font-size:.7em;line-height:2em;margin-left:6px;padding:0 6px;text-align:center;overflow:hidden;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box}html .k-success-colored{color:#507f50;border-color:#d0dfd0;background-color:#f0fff0}html .k-info-colored{color:#50607f;border-color:#d0d9df;background-color:#f0f9ff}html .k-error-colored{color:#7f5050;border-color:#dfd0d0;background-color:#fff0f0}.k-inline-block{padding:0 2px}.k-loading,.k-loading-image{background-color:transparent;background-repeat:no-repeat;background-position:center center}.k-icon.k-i-loading{background-color:transparent;background-repeat:no-repeat;background-position:center center}.k-icon.k-i-loading::before{content:\\\"\\\";display:none}.k-loading-image,.k-loading-mask,.k-loading-text{position:absolute}.k-loading-mask{z-index:100}.k-loading-mask.k-opaque .k-loading-color{opacity:1}.k-loading-mask .k-loading-progress{margin:auto;position:absolute;top:0;bottom:0;left:0;right:0}.k-loading-text{text-indent:-4000px;text-align:center}.k-loading-color,.k-loading-image{width:100%;height:100%}.k-loading-image{top:0;left:0;z-index:2}.k-loading-color{filter:alpha(opacity=30);opacity:.3}.k-content-frame{border:0;width:100%;height:100%}.k-pane>.k-splitter-overlay{filter:alpha(opacity=0);opacity:0;position:absolute}.k-drag-clue{position:absolute;z-index:10003;border-style:solid;border-width:1px;font-size:.9em;padding:.2em .4em;white-space:nowrap;cursor:default}.k-item.k-drag-clue{font-size:inherit}.k-drag-status{margin-top:-3px;margin-right:4px;vertical-align:middle}.k-reorder-cue{position:absolute;width:1px;overflow:visible}.k-reorder-cue .k-icon{position:absolute;left:-4px;width:8px;height:4px}.k-reorder-cue .k-i-arrow-60-down{top:-4px}.k-reorder-cue .k-i-arrow-60-up{bottom:-4px}.k-scrollbar{position:absolute;overflow:scroll}.k-scrollbar-vertical{top:0;right:0;width:17px;height:100%;overflow-x:hidden}.k-touch-scrollbar{display:none;position:absolute;z-index:200000;height:8px;width:8px;border:1px solid #8a8a8a;background-color:#858585}@media only screen and (-webkit-min-device-pixel-ratio:2){body .k-touch-scrollbar{height:12px;width:12px;border-radius:7px}}.k-virtual-scrollable-wrap{overflow-x:auto}.k-current-time{background:red;position:absolute}.k-current-time-arrow-down{width:0;height:0;background:0 0;border-bottom:4px solid transparent;border-top:4px solid red;border-left:4px solid transparent;border-right:4px solid transparent}.k-current-time-arrow-left{width:0;height:0;background:0 0;border-bottom:4px solid transparent;border-top:4px solid transparent;border-left:4px solid transparent;border-right:4px solid red}.k-current-time-arrow-right{width:0;height:0;background:0 0;border-bottom:4px solid transparent;border-top:4px solid transparent;border-left:4px solid red;border-right:4px solid transparent}.k-animation-container,.k-animation-container *,.k-animation-container :after,.k-block .k-header,.k-dialog .k-window-content,.k-list-container,.k-widget,.k-widget *,.k-widget :before{-webkit-box-sizing:content-box;box-sizing:content-box}.k-autocomplete,.k-block,.k-edit-cell .k-widget,.k-grid-edit-row .k-widget,.k-grid-edit-row .text-box,.k-tabstrip>.k-content>.km-scroll-container,.k-textbox,.km-actionsheet>li,.km-shim,div.k-window-content{-webkit-box-sizing:border-box;box-sizing:border-box}.input-group .form-control{-webkit-box-sizing:border-box;box-sizing:border-box}.form-control.k-widget{padding:0}.km-widget,.km-widget *{-webkit-background-clip:border-box;background-clip:border-box}.k-radio,input.k-checkbox{display:inline;opacity:0;width:0;margin:0;-webkit-appearance:none;overflow:hidden}.k-ff .k-radio,.k-ff input.k-checkbox{position:absolute}.k-checkbox-label,.k-radio-label{display:inline-block;position:relative;padding-left:28.8px;vertical-align:top;line-height:16px;cursor:pointer;border-style:solid;border-width:0}.k-checkbox-label:before{font:16px WebComponentsIcons,monospace;content:\\\"\\\";position:absolute;top:0;left:0;border-width:1px;border-style:solid;width:16px;height:16px;font-size:16px;line-height:16px;text-align:center}.k-checkbox:indeterminate+.k-checkbox-label:after{content:\\\"\\\";position:absolute;left:8px;top:8px;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-width:1px;border-style:solid;width:8px;height:8px;font-size:16px;text-align:center;content:\\\" \\\"}.k-checkbox:checked+.k-checkbox-label:before{content:\\\"\\\\E118\\\"}.k-checkbox:disabled+.k-checkbox-label{cursor:auto}.k-radio-label:before{content:\\\"\\\";position:absolute;top:0;left:0;width:14px;height:14px;border-style:solid}.k-radio:checked+.k-radio-label:after{content:\\\"\\\";width:10px;height:10px;position:absolute;top:3px;left:3px}.k-radio:disabled+.k-radio-label{cursor:auto}.k-rtl .k-checkbox-label,.k-rtl .k-radio-label{padding-right:1.5em}.k-rtl .k-checkbox-label:before,.k-rtl .k-radio-label:before{right:0}.k-rtl .k-radio:checked+.k-radio-label:after{right:3px}input.k-checkbox+label{-webkit-user-select:none}.k-pdf-export-shadow{position:absolute;overflow:hidden;left:-15000px;width:14400px}.km-native-scroller{overflow:auto;-webkit-overflow-scrolling:touch;-ms-touch-action:pan-x pan-y;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-scroll-snap-type:proximity}.k-hr{margin:.5em auto;padding:0;height:0;border-width:1px 0 0;border-style:solid;display:block;float:none;clear:both}.k-icon,.k-tool-icon{position:relative;display:inline-block;overflow:hidden;width:1em;height:1em;text-align:center;vertical-align:middle;background-image:none;font:16px/1 WebComponentsIcons;speak:none;font-variant:normal;text-transform:none;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:inherit}.k-column-menu .k-sprite,.k-gantt-views>.k-current-view>.k-link:after,.k-grid-mobile .k-resize-handle-inner:after,.k-grid-mobile .k-resize-handle-inner:before,.k-i-drag-and-drop,.k-pager-numbers .k-current-page .k-link:after,.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link:after{position:relative;display:inline-block;overflow:hidden;width:1em;height:1em;text-align:center;vertical-align:middle;background-image:none;font:16px/1 WebComponentsIcons;speak:none;font-variant:normal;text-transform:none;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.k-icon:before{margin:auto;width:1em;height:1em;line-height:1;display:inline-block;position:absolute;top:0;bottom:0;left:0;right:0}.k-button.k-button-icon .k-icon,.k-grid-filter .k-icon,.k-header .k-icon{text-indent:-99999px;overflow:hidden}.k-button.k-button-icon .k-icon:before,.k-grid-filter .k-icon:before,.k-header .k-icon:before{text-indent:0}.k-sprite{width:16px;height:16px;font-size:0;line-height:0;text-align:center;background-repeat:no-repeat;background-color:transparent;display:inline-block;vertical-align:middle;overflow:hidden;-ms-high-contrast-adjust:none}.k-list-container .k-footer:after,.k-list-container .k-footer:before{content:\\\"\\\";display:block;overflow:hidden}.k-reorder-cue{position:absolute}.k-reorder-cue::after,.k-reorder-cue::before{content:\\\"\\\";width:0;height:0;border:3px solid transparent;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.k-reorder-cue::before{border-bottom-width:0;border-top-color:currentColor;top:-4px}.k-reorder-cue::after{border-top-width:0;border-bottom-color:currentColor;bottom:-4px}.k-flip-h{-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.k-flip-v{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}.k-flip-h.k-flip-v{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,-1);transform:scale(-1,-1)}.k-button{margin:0;padding:8px 14px;-webkit-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;background-repeat:repeat-x;background-position:0 center;font:inherit;line-height:1.72em;text-align:center;text-decoration:none;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;overflow:hidden;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;-webkit-appearance:none}.k-no-flexbox .k-button{display:inline-block}.k-button::-moz-focus-inner{padding:0;border:0;outline:0}.k-button:focus,.k-button:hover{text-decoration:none;outline:0}.k-button .k-text{overflow:hidden}.k-button .k-icon,.k-button .k-image,.k-button .k-sprite{color:inherit;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;pointer-events:none}.k-button-icontext{overflow:visible}.k-button-icontext .k-icon,.k-button-icontext .k-image,.k-button-icontext .k-sprite{margin-right:3px;margin-right:.1875em;margin-left:-2px;margin-left:-.125em}.k-button.k-state-disabled,.k-button[disabled],.k-state-disabled .k-button{cursor:default;outline:0;-webkit-box-shadow:none;box-shadow:none}.k-ie9 .k-button{display:inline-block}a.k-button-expand{display:block}button.k-button-expand,input[type=button].k-button-expand,input[type=reset].k-button-expand,input[type=submit].k-button-expand{width:100%}.k-button-icon{height:-webkit-calc(1.72em + 18px);height:calc(1.72em + 18px)}.k-split-button-arrow{display:inline-block}.k-button-icon,.k-split-button-arrow{width:-webkit-calc(1.72em + 18px);width:calc(1.72em + 18px);padding:8px 7px}.k-overflow-group .k-button-icon{width:auto}.k-button.k-bare{border-color:transparent!important;color:inherit!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important;opacity:.7}.k-button.k-bare.k-state-active,.k-button.k-bare.k-state-active:hover,.k-button.k-bare.k-state-hover,.k-button.k-bare:active,.k-button.k-bare:hover{color:inherit}.k-button.k-bare .k-state-focused,.k-button.k-bare:focus{opacity:.8}.k-button.k-bare.k-state-active,.k-button.k-bare.k-state-hover,.k-button.k-bare:active,.k-button.k-bare:hover{opacity:1}.k-button.k-bare .k-icon{overflow:visible}.k-button.k-bare .k-state-focused .k-icon,.k-button.k-bare:focus .k-icon{text-shadow:0 0 3px currentColor}.k-button-group{margin:0;padding:0;border-width:0;list-style:none;white-space:nowrap;display:inline-block;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;vertical-align:middle;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.k-button-group .k-button{position:relative}.k-button-group .k-button+.k-button{margin-left:-1px}.k-button-group.k-button-group-stretched .k-button{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.k-button-group .k-button.k-state-active,.k-button-group .k-button:active{z-index:2}.k-button-group .k-button.k-state-hover,.k-button-group .k-button:hover{z-index:3}.k-button-group .k-button.k-state-disabled,.k-button-group.k-state-disabled .k-button{z-index:auto}.k-button-group .k-button.k-state-focused,.k-button-group .k-button:focus{z-index:4}.k-button-group label input[type=checkbox],.k-button-group label input[type=radio],.k-button-group>input[type=checkbox],.k-button-group>input[type=radio]{margin:0;padding:0;clip:rect(0,0,0,0);position:absolute;pointer-events:none}.k-rtl .k-button-group .k-button{margin-left:0}.k-rtl .k-button-group .k-button+.k-button{margin-right:-1px}.k-ie9 .k-button-group:after{content:\\\"\\\";display:block;clear:both}.k-ie9 .k-button-group .k-button{float:left}.k-ie9 .k-button-group.k-dialog-buttongroup .k-button{float:right}.k-ie9 .k-rtl .k-button-group .k-button{float:right}.k-ie9 .k-rtl .k-button-group.k-dialog-buttongroup .k-button{float:left}.k-rpanel-left{-webkit-transform:translateX(-100%) translateZ(0);-ms-transform:translateX(-100%) translateZ(0);transform:translateX(-100%) translateZ(0);left:0}.k-rpanel-right{-webkit-transform:translateX(100%) translateZ(0);-ms-transform:translateX(100%) translateZ(0);transform:translateX(100%) translateZ(0);right:0}.k-rpanel-left,.k-rpanel-right{position:fixed;display:block;overflow:auto;min-width:320px;height:100%;top:0}.k-rpanel-left.k-rpanel-expanded,.k-rpanel-right.k-rpanel-expanded{-webkit-transform:translateX(0) translateZ(0);-ms-transform:translateX(0) translateZ(0);transform:translateX(0) translateZ(0)}.k-rpanel-left+*,.k-rpanel-right+*{overflow:auto}.k-ie9 .k-rpanel-left{left:-100%}.k-ie9 .k-rpanel-left.k-rpanel-expanded{left:0}.k-rpanel-top{position:static;max-height:0}.k-rpanel-top.k-rpanel-expanded{max-height:568px;overflow:visible!important}.k-edit-form{margin:0;padding:0}.k-window>div.k-popup-edit-form{padding:1em 0}.k-grid-edit-row .k-edit-form td{border-bottom-width:0}.k-edit-form-container{position:relative;width:400px}.k-edit-form-container .editor-label,.k-edit-label{float:left;clear:both;width:30%;padding:.4em 0 1em;margin-left:2%;text-align:right}.k-edit-field,.k-edit-form-container .editor-field{float:right;clear:right;width:60%;margin-right:2%;padding:0 0 .6em}.k-edit-field>input[type=checkbox],.k-edit-field>input[type=radio]{margin-top:.4em}.k-edit-form-container .k-button{margin:0 .16em}.k-edit-field>.k-button:first-child,.k-edit-field>input[type=checkbox]:first-child,.k-edit-field>input[type=radio]:first-child,.k-edit-field>label:first-child>input[type=checkbox]{margin-left:0}.k-edit-form-container .k-edit-buttons{clear:both;text-align:right;border-width:1px 0 0;border-style:solid;position:relative;bottom:-1em;padding:.6em}div.k-window{display:inline-block;position:absolute;z-index:10001;border-style:solid;border-width:1px;padding-top:2em}.k-block>.k-header,.k-window-titlebar{width:100%;border-bottom-style:solid;border-bottom-width:1px;margin-top:-2em;padding:.4em 0;font-size:1.2em;white-space:nowrap;min-height:16px}.k-block>.k-header{position:relative;margin:-2px 0 10px -2px;padding:.3em 2px}.k-window-title{padding:0 .44em;overflow:hidden;cursor:default;text-overflow:ellipsis}.k-window-title .k-image{margin:0 5px 0 0;vertical-align:middle}div.k-window-titleless{padding-top:0}div.k-window-content{position:relative;height:100%;padding:.58em;overflow:auto;outline:0}div.k-window-iframecontent{padding:0;overflow:visible}.k-window-content>.km-scroll-container{height:100%}.k-window-titlebar .k-window-actions{position:absolute;top:0;right:.2em;top:.2em;white-space:nowrap}.k-window-titlebar .k-window-action{width:22px;height:22px;padding:2px}.k-window-action .k-icon{margin:0;vertical-align:top}.k-window>.k-resize-handle{position:absolute;z-index:1;background-color:#fff;font-size:0;line-height:6px;filter:alpha(opacity=0);opacity:0;zoom:1}.k-resize-n{top:-3px;left:0;width:100%;height:6px;cursor:n-resize}.k-resize-e{top:0;right:-3px;width:6px;height:100%;cursor:e-resize}.k-resize-s{bottom:-3px;left:0;width:100%;height:6px;cursor:s-resize}.k-resize-w{top:0;left:-3px;width:6px;height:100%;cursor:w-resize}.k-resize-se{bottom:-3px;right:-3px;width:6px;height:6px;cursor:se-resize}.k-resize-sw{bottom:-3px;left:-3px;width:6px;height:6px;cursor:sw-resize}.k-resize-ne{top:-3px;right:-3px;width:6px;height:6px;cursor:ne-resize}.k-resize-nw{top:-3px;left:-3px;width:6px;height:6px;cursor:nw-resize}.k-overlay{position:fixed;top:0;left:0;z-index:10001;width:100%;height:100%;background-color:#000;filter:alpha(opacity=50);opacity:.5;-webkit-backface-visibility:hidden}.k-window .k-overlay{position:absolute;width:100%;height:100%;background-color:#fff;filter:alpha(opacity=0);opacity:0}.k-action-buttons{clear:both;text-align:right;border-width:1px 0 0;border-style:solid;position:relative;padding:.6em;margin:0 -1em -1em}.k-action-buttons .k-button{display:inline-block;margin:0 6px 0 0;min-width:75px}.k-action-buttons .k-button:last-child{margin-right:1em}.k-action-buttons .k-button.k-left{float:left;margin:0 0 0 1em}.k-action-buttons .k-button.k-left+.k-button{margin-left:6px}.k-tabstrip{margin:0;padding:0;zoom:1;position:relative}.k-tabstrip-items{padding:.3em .3em 0}.k-tabstrip-scrollable .k-tabstrip-items{white-space:nowrap;overflow:hidden}.k-tabstrip>.k-button.k-bare{position:absolute;top:.27em;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.k-tabstrip-bottom>.k-button.k-bare{top:auto;bottom:.15em}.k-tabstrip-prev{left:.4em}.k-tabstrip-next{right:.4em}.k-panelbar .k-tabstrip-items .k-item,.k-tabstrip-items .k-item{list-style-type:none;display:inline-block;position:relative;border-style:solid;border-width:1px 1px 0;padding:0;vertical-align:top}.k-tabstrip-items .k-item{overflow:hidden}.k-panelbar .k-tabstrip-items .k-state-active,.k-tabstrip-items .k-state-active,.k-tabstrip-items .k-tab-on-top{margin-bottom:-1px;padding-bottom:1px}.k-panelbar .k-tabstrip-items .k-item,.k-tabstrip-top>.k-tabstrip-items .k-item{margin:0 -1px 0 0}.k-panelbar .k-tabstrip-top>.k-tabstrip-items .k-state-active,.k-tabstrip-top>.k-tabstrip-items .k-state-active{border-bottom-width:1px;margin-bottom:-1px;padding-bottom:0}.k-tabstrip-items .k-tab-on-top{z-index:1}.k-panelbar .k-tabstrip-items .k-link,.k-tabstrip-items .k-link{display:inline-block;border-bottom-width:0;padding:.5em .92em}.k-panelbar .k-tabstrip-items .k-icon,.k-tabstrip-items .k-icon{margin:-1px 4px 0 -3px;vertical-align:top}.k-panelbar .k-tabstrip-items .k-item .k-image,.k-panelbar .k-tabstrip-items .k-item .k-sprite,.k-tabstrip-items .k-item .k-image,.k-tabstrip-items .k-item .k-sprite{margin:-3px 3px 0 -6px;vertical-align:middle}.k-tabstrip-items .k-loading{top:0;left:0;height:0;width:20%;position:absolute;background:0 0;border-top:1px solid transparent;border-color:inherit;-webkit-transition:width .2s linear;transition:width .2s linear;-webkit-transition:\\\"width 200ms linear\\\";transition:\\\"width 200ms linear\\\";-webkit-animation:k-tab-loader 1s ease-in-out infinite;animation:k-tab-loader 1s ease-in-out infinite}.k-tabstrip-items .k-progress{-webkit-animation:none;animation:none}.k-tabstrip-items .k-loading.k-complete{width:100%;-webkit-animation:none;animation:none}.k-panelbar .k-tabstrip>.k-content,.k-tabstrip>.k-content{position:static;border-style:solid;border-width:1px;margin:0 .286em .3em;padding:.92em;zoom:1}.k-tabstrip>.k-content{display:none;overflow:auto}.k-tabstrip>.k-content.km-scroll-wrapper{padding:0}.k-tabstrip>.k-content>.km-scroll-container{padding:.3em .92em}@-webkit-keyframes k-tab-loader{0%{left:0}50%{left:80%}100%{left:0}}@keyframes k-tab-loader{0%{left:0}50%{left:80%}100%{left:0}}.k-tabstrip-left>div.k-content,.k-tabstrip-right>div.k-content{margin:.286em .3em}.k-tabstrip-left>.k-tabstrip-items .k-item,.k-tabstrip-right>.k-tabstrip-items .k-item{display:block;margin-bottom:-1px}.k-tabstrip-left>.k-tabstrip-items .k-link,.k-tabstrip-right>.k-tabstrip-items .k-link{display:block}.k-panelbar .k-tabstrip-left>.k-tabstrip-items .k-state-active,.k-panelbar .k-tabstrip-right>.k-tabstrip-items .k-state-active,.k-tabstrip-left>.k-tabstrip-items .k-state-active,.k-tabstrip-left>.k-tabstrip-items .k-tab-on-top,.k-tabstrip-right>.k-tabstrip-items .k-state-active,.k-tabstrip-right>.k-tabstrip-items .k-tab-on-top{margin-bottom:-1px;padding-bottom:0}.k-tabstrip-left>.k-tabstrip-items{float:left;padding:.25em 0 .3em .3em}.k-tabstrip-left>.k-tabstrip-items .k-item{border-width:1px 0 1px 1px;border-radius:3px 0 0 3px}.k-tabstrip-left>.k-tabstrip-items .k-state-active{border-width:1px 0 1px 1px}.k-panelbar .k-tabstrip-left>.k-tabstrip-items .k-state-active,.k-tabstrip-left>.k-tabstrip-items .k-state-active,.k-tabstrip-left>.k-tabstrip-items .k-tab-on-top{margin-right:-1px;padding-right:1px}.k-tabstrip-right>.k-tabstrip-items{float:right;padding:.25em .3em .3em 0}.k-tabstrip-right>.k-tabstrip-items .k-item{border-width:1px 1px 1px 0;border-radius:0 3px 3px 0}.k-tabstrip-right>.k-tabstrip-items .k-state-active{border-width:1px 1px 1px 0}.k-panelbar .k-tabstrip-right>.k-tabstrip-items .k-state-active,.k-tabstrip-right>.k-tabstrip-items .k-state-active,.k-tabstrip-right>.k-tabstrip-items .k-tab-on-top{margin-left:-1px;padding-left:1px}.k-tabstrip-bottom>.k-tabstrip-items{margin-top:-1px;padding:0 .3em .3em}.k-panelbar .k-tabstrip-bottom>.k-content,.k-tabstrip-bottom>.k-content{margin:.3em .286em 0;z-index:1;position:relative}.k-tabstrip-bottom>.k-tabstrip-items .k-item{border-width:0 1px 1px;border-radius:0 0 4px 4px}.k-tabstrip-bottom>.k-tabstrip-items .k-state-active{margin-bottom:0;padding-bottom:0}.k-tabstrip-bottom>.k-content{min-height:100px}.k-tabstrip-bottom>.k-tabstrip-items .k-loading{top:auto;bottom:0}.k-panelbar{zoom:1}.k-panel>.k-item,.k-panelbar>.k-item{list-style-type:none;display:block;border-width:0;margin:0;zoom:1;border-radius:0}.k-panelbar .k-link>.k-image,.k-panelbar .k-link>.k-sprite{margin-top:-2px;margin-right:5px;vertical-align:middle}.k-panel>.k-item>.k-link,.k-panelbar>.k-item>.k-link{display:block;position:relative;border-bottom-style:solid;border-bottom-width:1px;padding:0 1em;line-height:2.34em;text-decoration:none;zoom:1}.k-panelbar-collapse.k-icon,.k-panelbar-expand.k-icon{position:absolute;top:50%;right:4px;margin-top:-8px}.k-panelbar .k-content,.k-panelbar .k-panel{position:relative;border-bottom-style:solid;border-bottom-width:1px;margin:0;padding:0;zoom:1}.k-panel>.k-item>.k-link{border-bottom:0;font-size:.95em;line-height:2.2}.k-panel .k-panel>.k-item>.k-link{padding-left:2em}.k-panelbar .k-i-arrow-end-right .k-link{border-bottom:0}.k-panel .k-panel{border-bottom:0}.k-pager-wrap{clear:both;overflow:hidden;position:relative;border-style:solid;border-width:1px;line-height:2em;padding:.333em 0 .333em .25em}.k-pager-numbers .k-link,.k-pager-numbers .k-state-selected{display:inline-block;vertical-align:top;margin-right:1px}.k-pager-numbers{margin:0 2px}.k-pager-numbers .k-state-selected{vertical-align:top}.k-pager-numbers .k-current-page{display:none}.k-pager-input,.k-pager-numbers li{float:left}.k-pager-info{float:right;padding:0 1.333em}.k-pager-numbers .k-link{text-decoration:none}.k-pager-numbers .k-link,.k-pager-numbers .k-state-selected,.k-pager-wrap>.k-link{min-width:2em}.k-pager-wrap>.k-link{float:left;margin:0 .08333em;height:2em;line-height:2em;border-radius:1.0833em;cursor:pointer;text-align:center}.k-pager-wrap>.k-link>.k-icon{margin-top:-2px;color:inherit}.k-pager-wrap>a.k-state-disabled:hover{background:0 0;cursor:default}.k-pager-numbers .k-link{text-align:center;line-height:2em;border-style:solid;border-width:1px;border-radius:1.0833em}.k-pager-wrap>.k-link{border-style:solid;border-width:1px}.k-pager-wrap .k-pager-refresh{float:right;margin-right:.5em;border-width:0;border-radius:0}.k-pager-numbers .k-state-selected{border-style:solid;border-width:1px;text-align:center;border-radius:1.0833em}.k-pager-wrap .k-textbox{width:3.333em}.k-pager-wrap .k-dropdown{width:4.5em}.k-pager-refresh{float:right}.k-pager-input,.k-pager-sizes{padding:0 1.4166em}.k-pager-sizes{display:inline-block;padding-top:1px}.k-pager-sizes .k-widget.k-dropdown{margin-top:-2px}.k-pager-wrap .k-textbox,.k-pager-wrap .k-widget{margin:0 .4em 0}@media only screen and (max-width:1024px){.k-edge .k-pager-wrap,.k-ff .k-pager-wrap,.k-ie11 .k-pager-wrap,.k-safari .k-pager-wrap,.k-webkit .k-pager-wrap{overflow:visible;min-height:2.1em}.k-edge .k-pager-input,.k-edge .k-pager-wrap .k-pager-nav,.k-ff .k-pager-input,.k-ff .k-pager-wrap .k-pager-nav,.k-ie11 .k-pager-input,.k-ie11 .k-pager-wrap .k-pager-nav,.k-safari .k-pager-input,.k-safari .k-pager-wrap .k-pager-nav,.k-webkit .k-pager-input,.k-webkit .k-pager-wrap .k-pager-nav{display:inline-block;vertical-align:top}.k-edge .k-pager-numbers,.k-ff .k-pager-numbers,.k-ie11 .k-pager-numbers,.k-safari .k-pager-numbers,.k-webkit .k-pager-numbers{position:absolute;left:4.8em;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;overflow:visible;height:auto}.k-edge .k-pager-numbers:first-child,.k-ff .k-pager-numbers:first-child,.k-ie11 .k-pager-numbers:first-child,.k-safari .k-pager-numbers:first-child,.k-webkit .k-pager-numbers:first-child{left:.2em}.k-edge .k-pager-numbers.k-state-expanded,.k-ff .k-pager-numbers.k-state-expanded,.k-ie11 .k-pager-numbers.k-state-expanded,.k-safari .k-pager-numbers.k-state-expanded,.k-webkit .k-pager-numbers.k-state-expanded{-ms-transform:translatey(-100%);transform:translatey(-100%);-webkit-transform:translatey(-100%)}.k-edge .km-pane-wrapper .k-pager-numbers,.k-ff .km-pane-wrapper .k-pager-numbers,.k-ie11 .km-pane-wrapper .k-pager-numbers,.k-safari .km-pane-wrapper .k-pager-numbers,.k-webkit .km-pane-wrapper .k-pager-numbers{position:relative;left:50%;-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.k-edge .km-pane-wrapper .k-pager-numbers .k-link,.k-edge .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-edge .km-pane-wrapper .k-pager-wrap>.k-link,.k-edge .km-pane-wrapper .k-pager-wrap>.k-pager-info,.k-ff .km-pane-wrapper .k-pager-numbers .k-link,.k-ff .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-ff .km-pane-wrapper .k-pager-wrap>.k-link,.k-ff .km-pane-wrapper .k-pager-wrap>.k-pager-info,.k-ie11 .km-pane-wrapper .k-pager-numbers .k-link,.k-ie11 .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-ie11 .km-pane-wrapper .k-pager-wrap>.k-link,.k-ie11 .km-pane-wrapper .k-pager-wrap>.k-pager-info,.k-safari .km-pane-wrapper .k-pager-numbers .k-link,.k-safari .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-safari .km-pane-wrapper .k-pager-wrap>.k-link,.k-safari .km-pane-wrapper .k-pager-wrap>.k-pager-info,.k-webkit .km-pane-wrapper .k-pager-numbers .k-link,.k-webkit .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-webkit .km-pane-wrapper .k-pager-wrap>.k-link,.k-webkit .km-pane-wrapper .k-pager-wrap>.k-pager-info{padding-top:0;padding-bottom:0}.k-edge .k-rtl .k-pager-numbers,.k-ff .k-rtl .k-pager-numbers,.k-ie11 .k-rtl .k-pager-numbers,.k-safari .k-rtl .k-pager-numbers,.k-webkit .k-rtl .k-pager-numbers{left:auto;right:4.8em;width:4.5em}.k-edge .k-rtl .k-pager-numbers:first-child,.k-ff .k-rtl .k-pager-numbers:first-child,.k-ie11 .k-rtl .k-pager-numbers:first-child,.k-safari .k-rtl .k-pager-numbers:first-child,.k-webkit .k-rtl .k-pager-numbers:first-child{left:auto;right:.2em}.k-edge .k-rtl .km-pane-wrapper .k-pager-numbers,.k-ff .k-rtl .km-pane-wrapper .k-pager-numbers,.k-ie11 .k-rtl .km-pane-wrapper .k-pager-numbers,.k-safari .k-rtl .km-pane-wrapper .k-pager-numbers,.k-webkit .k-rtl .km-pane-wrapper .k-pager-numbers{right:5.8em}.k-edge .k-pager-numbers .k-current-page,.k-ff .k-pager-numbers .k-current-page,.k-ie11 .k-pager-numbers .k-current-page,.k-safari .k-pager-numbers .k-current-page,.k-webkit .k-pager-numbers .k-current-page{display:block;border-left:0}.k-edge .k-pager-numbers.k-state-expanded .k-current-page,.k-ff .k-pager-numbers.k-state-expanded .k-current-page,.k-ie11 .k-pager-numbers.k-state-expanded .k-current-page,.k-safari .k-pager-numbers.k-state-expanded .k-current-page,.k-webkit .k-pager-numbers.k-state-expanded .k-current-page{-ms-transform:translatey(100%);transform:translatey(100%);-webkit-transform:translatey(100%)}.k-edge .k-pager-numbers li:not(.k-current-page),.k-ff .k-pager-numbers li:not(.k-current-page),.k-ie11 .k-pager-numbers li:not(.k-current-page),.k-safari .k-pager-numbers li:not(.k-current-page),.k-webkit .k-pager-numbers li:not(.k-current-page){display:none}.k-edge .k-pager-numbers .k-current-page .k-link,.k-ff .k-pager-numbers .k-current-page .k-link,.k-ie11 .k-pager-numbers .k-current-page .k-link,.k-safari .k-pager-numbers .k-current-page .k-link,.k-webkit .k-pager-numbers .k-current-page .k-link{width:3.2em;padding:0 .429em 0 .714em;border-radius:1.0833em}.k-edge .k-pager-numbers+.k-link,.k-ff .k-pager-numbers+.k-link,.k-ie11 .k-pager-numbers+.k-link,.k-safari .k-pager-numbers+.k-link,.k-webkit .k-pager-numbers+.k-link{margin-left:4.8em}.k-edge .k-rtl .k-pager-numbers+.k-link,.k-ff .k-rtl .k-pager-numbers+.k-link,.k-ie11 .k-rtl .k-pager-numbers+.k-link,.k-safari .k-rtl .k-pager-numbers+.k-link,.k-webkit .k-rtl .k-pager-numbers+.k-link{margin-right:5.1em;margin-left:0}.k-edge .k-pager-numbers .k-link,.k-edge .k-pager-numbers .k-state-selected,.k-ff .k-pager-numbers .k-link,.k-ff .k-pager-numbers .k-state-selected,.k-ie11 .k-pager-numbers .k-link,.k-ie11 .k-pager-numbers .k-state-selected,.k-safari .k-pager-numbers .k-link,.k-safari .k-pager-numbers .k-state-selected,.k-webkit .k-pager-numbers .k-link,.k-webkit .k-pager-numbers .k-state-selected{display:block;margin-right:0;padding:1px 5px 1px 5px;text-align:left}.k-edge .k-pager-numbers.k-state-expanded,.k-ff .k-pager-numbers.k-state-expanded,.k-ie11 .k-pager-numbers.k-state-expanded,.k-safari .k-pager-numbers.k-state-expanded,.k-webkit .k-pager-numbers.k-state-expanded{-webkit-box-sizing:border-box;box-sizing:border-box;padding:2px 2px 0}.k-edge .k-pager-numbers.k-state-expanded .k-current-page,.k-ff .k-pager-numbers.k-state-expanded .k-current-page,.k-ie11 .k-pager-numbers.k-state-expanded .k-current-page,.k-safari .k-pager-numbers.k-state-expanded .k-current-page,.k-webkit .k-pager-numbers.k-state-expanded .k-current-page{margin:-2em -3px 0;padding:0}.k-edge .k-pager-numbers.k-state-expanded .k-current-page .k-link,.k-ff .k-pager-numbers.k-state-expanded .k-current-page .k-link,.k-ie11 .k-pager-numbers.k-state-expanded .k-current-page .k-link,.k-safari .k-pager-numbers.k-state-expanded .k-current-page .k-link,.k-webkit .k-pager-numbers.k-state-expanded .k-current-page .k-link{border-radius:0 0 1.0833em 1.0833em}.k-edge .k-pager-numbers.k-state-expanded li,.k-ff .k-pager-numbers.k-state-expanded li,.k-ie11 .k-pager-numbers.k-state-expanded li,.k-safari .k-pager-numbers.k-state-expanded li,.k-webkit .k-pager-numbers.k-state-expanded li{display:inline-block}}@media only screen and (max-width:640px){.k-edge .k-pager-info,.k-ff .k-pager-info,.k-ie11 .k-pager-info,.k-safari .k-pager-info,.k-webkit .k-pager-info{display:none}}@media only screen and (max-width:480px){.k-edge .k-pager-sizes,.k-ff .k-pager-sizes,.k-ie11 .k-pager-sizes,.k-safari .k-pager-sizes,.k-webkit .k-pager-sizes{display:none}}.k-rtl .k-pager-wrap .k-i-arrow-e,.k-rtl .k-pager-wrap .k-i-arrow-w,.k-rtl .k-pager-wrap .k-i-seek-e,.k-rtl .k-pager-wrap .k-i-seek-w{-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.k-menu{cursor:default}.k-menu .k-link{white-space:nowrap}.k-menu,.k-menu .k-menu-group,.k-menu-scroll-wrapper .k-menu-group,.k-popups-wrapper .k-menu-group{list-style:none;margin:0;padding:0;zoom:1}.k-menu:after{content:'';display:block;width:99%;height:0;float:inherit;clear:both}.k-menu .k-item,.k-menu-scroll-wrapper .k-item,.k-popups-wrapper .k-item{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}.k-menu .k-item div,.k-menu-scroll-wrapper .k-item div,.k-popups-wrapper .k-item div{-webkit-user-select:default;-moz-user-select:default;-ms-user-select:default;user-select:default}.k-menu .k-item .k-item,.k-menu-scroll-wrapper .k-item .k-item,.k-menu-scroll-wrapper.vertical>.k-item,.k-popups-wrapper .k-item .k-item,.k-popups-wrapper.vertical>.k-item,ul.k-menu-vertical>.k-item{display:block;float:none;border-width:0}.k-menu .k-image,.k-menu .k-item>.k-link>.k-icon,.k-menu .k-sprite,.k-menu-scroll-wrapper .k-image,.k-menu-scroll-wrapper .k-item>.k-link>.k-icon,.k-menu-scroll-wrapper .k-sprite,.k-popups-wrapper .k-image,.k-popups-wrapper .k-item>.k-link>.k-icon,.k-popups-wrapper .k-sprite{margin:-2px 4px 0 -4px;vertical-align:middle}.k-menu .k-item>.k-link>.k-menu-expand-arrow,.k-menu-scroll-wrapper .k-item>.k-link>.k-menu-expand-arrow,.k-popups-wrapper .k-item>.k-link>.k-menu-expand-arrow{margin:-2px 0 0}.k-menu .k-item>.k-link,.k-menu-scroll-wrapper .k-item>.k-link,.k-popups-wrapper .k-item>.k-link{display:block;padding:1.071em;line-height:1.34em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.k-menu .k-menu-group,.k-menu-scroll-wrapper .k-menu-group,.k-popups-wrapper .k-menu-group{display:none;border-style:solid;border-width:1px;overflow:visible;white-space:nowrap}.k-menu .k-menu-group>.k-item,.k-menu-scroll-wrapper .k-menu-group>.k-item,.k-popups-wrapper .k-menu-group>.k-item{display:block;border-width:0}.k-menu .k-item,.k-menu-scroll-wrapper .k-item,.k-menu-scroll-wrapper.horizontal>.k-item,.k-popups-wrapper .k-item,.k-popups-wrapper.horizontal>.k-item,.k-widget.k-menu-horizontal>.k-item{position:relative;float:left;border-style:solid;border-width:0 1px 0 0;vertical-align:top;zoom:1;-webkit-box-sizing:content-box;box-sizing:content-box}.k-context-menu.k-menu-vertical>.k-item>.k-link,.k-menu .k-menu-group .k-item>.k-link,.k-menu-scroll-wrapper .k-menu-group .k-item>.k-link,.k-popups-wrapper.vertical>.k-item>.k-link{padding:.28em 1.8em .38em .9em}.k-context-menu.k-menu-horizontal>.k-separator,.k-popups-wrapper.horizontal>.k-separator{display:none}.k-context-menu.k-menu-horizontal>.k-item,.k-popups-wrapper.horizontal>.k-item{-webkit-box-sizing:border-box;box-sizing:border-box}.k-context-menu.k-menu-horizontal>.k-last,.k-popups-wrapper.horizontal>.k-last{border:0}.k-menu .k-item>.k-link>.k-i-arrow-60-down,.k-menu-scroll-wrapper .k-item>.k-link>.k-i-arrow-60-down,.k-popups-wrapper .k-item>.k-link>.k-i-arrow-60-down{margin-right:-8px}.k-menu .k-item>.k-link>.k-i-arrow-60-right,.k-menu-scroll-wrapper .k-item>.k-link>.k-i-arrow-60-right,.k-popups-wrapper .k-item>.k-link>.k-i-arrow-60-right{position:absolute;top:50%;margin-top:-8px;right:2px;right:.2rem}.k-menu .k-animation-container,.k-menu-scroll-wrapper .k-animation-container,.k-popups-wrapper .k-animation-container{border:0}.k-menu .k-animation-container,.k-menu .k-menu-group,.k-menu-scroll-wrapper .k-animation-container,.k-menu-scroll-wrapper .k-menu-group,.k-popups-wrapper .k-animation-container,.k-popups-wrapper .k-menu-group{position:absolute;left:0}.k-menu .k-animation-container .k-animation-container,.k-menu .k-menu-group .k-menu-group,.k-menu-scroll-wrapper .k-animation-container .k-animation-container,.k-menu-scroll-wrapper .k-menu-group .k-menu-group,.k-menu-scroll-wrapper.vertical .k-animation-container,.k-menu-scroll-wrapper.vertical .k-menu-group,.k-menu-vertical .k-animation-container,.k-menu-vertical .k-menu-group,.k-popups-wrapper .k-animation-container .k-animation-container,.k-popups-wrapper .k-menu-group .k-menu-group,.k-popups-wrapper.vertical .k-animation-container,.k-popups-wrapper.vertical .k-menu-group{top:0;left:0}.k-menu .k-animation-container .k-menu-group,.k-menu-scroll-wrapper .k-animation-container .k-menu-group,.k-popups-wrapper .k-animation-container .k-menu-group{top:auto;left:auto;margin-left:-1px}.k-menu .k-animation-container,.k-menu-scroll-wrapper .k-animation-container,.k-popup .k-animation-container,.k-popups-wrapper .k-animation-container{margin-top:-1px;padding-left:1px}.k-ie .k-menu .k-animation-container,.k-ie .k-menu-scroll-wrapper .k-animation-container,.k-ie .k-popup .k-animation-container,.k-ie .k-popups-wrapper .k-animation-container{margin-top:-2px}.k-popup .k-animation-container .k-popup{margin-left:-1px}.k-menu-scroll-wrapper .k-separator,.k-popups-wrapper .k-separator,ul.k-menu .k-separator{padding:.25em 0;height:100%;width:1px;font-size:0;line-height:0;border-width:0 1px 0 0}.k-menu .k-menu-group .k-separator,.k-menu-scroll-wrapper.vertical .k-menu-group .k-separator,.k-menu-scroll-wrapper.vertical .k-separator,.k-popups-wrapper.vertical .k-menu-group .k-separator,.k-popups-wrapper.vertical .k-separator,ul.k-menu-vertical .k-separator{padding:0;height:1px;width:100%;border-width:1px 0 0}.k-menu-scroll-wrapper .k-widget.k-menu,.k-popups-wrapper .k-widget.k-menu{white-space:nowrap;overflow:hidden}.k-menu-scroll-wrapper.vertical .k-menu.k-menu-vertical,.k-popups-wrapper.vertical .k-menu.k-menu-vertical{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.k-menu-scroll-wrapper.horizontal .k-menu.k-menu-horizontal>.k-item,.k-popups-wrapper.horizontal .k-menu.k-menu-horizontal>.k-item{display:inline-block;overflow:hidden;float:none}.k-menu-scroll-wrapper.vertical .k-menu.k-menu-vertical>.k-item,.k-popups-wrapper.vertical .k-menu.k-menu-vertical>.k-item{overflow:hidden}.k-menu-scroll-wrapper,.k-popups-wrapper{position:relative;border:0;margin:0;padding:0}.k-menu-scroll-wrapper.vertical,.k-popups-wrapper.vertical{height:100%}.k-menu-scroll-wrapper>.k-animation-container .k-item,.k-popups-wrapper>.k-animation-container .k-item{float:none}.k-menu-scroll-wrapper .k-menu-scroll-button,.k-popups-wrapper .k-menu-scroll-button{border-radius:0;position:absolute;display:none}.k-menu-scroll-wrapper .k-scroll-up,.k-popups-wrapper .k-scroll-up{top:0;left:0}.k-menu-scroll-wrapper .k-scroll-down,.k-popups-wrapper .k-scroll-down{bottom:0;left:0}.k-menu-scroll-wrapper .k-scroll-down,.k-menu-scroll-wrapper .k-scroll-up,.k-popups-wrapper .k-scroll-down,.k-popups-wrapper .k-scroll-up{width:100%;height:16px;padding:0 .7em;line-height:.2em}.k-menu-scroll-wrapper .k-scroll-left,.k-popups-wrapper .k-scroll-left{top:0;left:0}.k-menu-scroll-wrapper .k-scroll-right,.k-popups-wrapper .k-scroll-right{top:0;right:0}.k-menu-scroll-wrapper .k-scroll-left,.k-menu-scroll-wrapper .k-scroll-right,.k-popups-wrapper .k-scroll-left,.k-popups-wrapper .k-scroll-right{width:16px;height:100%;padding-left:0;padding-right:0}.k-menu-scroll-wrapper .k-scroll-left .k-icon,.k-menu-scroll-wrapper .k-scroll-right .k-icon,.k-popups-wrapper .k-scroll-left .k-icon,.k-popups-wrapper .k-scroll-right .k-icon{margin-top:-.5em;position:absolute;top:50%;left:0}.k-context-menu{border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.k-grid,.k-listview{position:relative;zoom:1}.k-grid table{width:100%;margin:0;max-width:none;border-collapse:separate;border-spacing:0;empty-cells:show;border-width:0;outline:0}.k-header.k-drag-clue{overflow:hidden}.k-filter-row th,.k-grid-header th.k-header{overflow:hidden;border-style:solid;border-width:0 0 1px 1px;padding:.5em .6em .4em .6em;font-weight:400;white-space:nowrap;text-overflow:ellipsis;text-align:left}.k-grid-header th.k-header{vertical-align:bottom}.k-filtercell,.k-filtercell .k-widget,.k-filtercell>span{display:block;width:auto}.k-filtercell>span{padding-right:4.8em;position:relative;min-height:2em;line-height:2em}.k-filtercell>.k-operator-hidden{padding-right:2.3em}.k-filter-row .k-dropdown-operator,.k-filtercell>span>.k-button{position:absolute;top:0;right:0}.k-filter-row .k-dropdown-operator{width:2.1em;right:2.5em}.k-filtercell>span>label{vertical-align:middle}.k-filter-row label>input[type=radio]{vertical-align:middle;position:relative;bottom:2px}.k-ff .k-grid .k-filter-row .k-i-filter-clear{top:1px}.k-ie10 .k-grid-header a:active{background-color:transparent}.k-grid-header th.k-header>.k-link{display:block;min-height:18px;line-height:18px;margin:-.5em -.6em -.4em 0;padding:.5em .6em .4em 0;overflow:hidden;text-overflow:ellipsis}.k-grid-header th.k-with-icon .k-link{margin-right:18px}.k-grid-header th>.k-link>.k-icon{vertical-align:text-top}.k-grid .k-state-hover{cursor:pointer}.k-grid-column-resizing,.k-grid-column-resizing .k-button,.k-grid-column-resizing .k-grid-filter,.k-grid-column-resizing .k-grid-toolbar,.k-grid-column-resizing .k-link{cursor:col-resize}.k-grid td{border-style:solid;border-width:0 0 0 1px;padding:.4em .6em;overflow:hidden;line-height:1.6em;vertical-align:middle;text-overflow:ellipsis}.k-grid .k-grouping-row td,.k-grid .k-hierarchy-cell{overflow:visible}.k-grid-edit-row td{text-overflow:clip}.k-grid-edit-row .k-textbox,.k-grid-edit-row .text-box{margin-top:0;margin-bottom:0}.k-grid-footer-wrap,.k-grid-header-wrap{position:relative;width:100%;overflow:hidden;border-style:solid;border-width:0 1px 0 0;zoom:1}div.k-grid-footer,div.k-grid-header{padding-right:17px;border-bottom-style:solid;border-bottom-width:1px;zoom:1}.k-grid-header-locked>table,.k-grid-header-wrap>table{margin-bottom:-1px}.k-grid-content{position:relative;width:100%;overflow:auto;overflow-x:auto;overflow-y:scroll;zoom:1;min-height:0}.k-mobile .k-grid tbody{-webkit-backface-visibility:hidden}.k-mobile .k-grid-backface tbody{-webkit-backface-visibility:visible}.k-grid-content-expander{position:absolute;visibility:hidden;height:1px}.k-grid-norecords{width:100%;height:100%;text-align:center}.k-grid-norecords-template{width:20em;height:4em;line-height:4em;vertical-align:middle;margin:0 auto}.k-grid-content>.k-grid-norecords>.k-grid-norecords-template{top:50%;left:50%;margin-left:-10em;margin-top:-2em;position:absolute}@media print{.k-grid{height:auto!important}.k-grid-header{padding:0!important}.k-grid-content,.k-grid-header-wrap{overflow:visible;height:auto!important}}.k-grid .k-scrollbar{-ms-overflow-style:scrollbar}.k-virtual-scrollable-wrap{height:100%;overflow-y:hidden;position:relative}.k-grid-content table,.k-grid-content-locked>table,.k-grid-footer table,.k-grid-header table{table-layout:fixed}.k-grid-lockedcolumns{white-space:nowrap}.k-grid-content,.k-grid-content-locked,.k-pager-wrap{white-space:normal}.k-grid-content-locked,.k-grid-footer-locked,.k-grid-header-locked{display:inline-block;vertical-align:top;overflow:hidden;position:relative;border-style:solid;border-width:0 1px 0 0}.k-grid-content-locked+.k-grid-content,.k-grid-footer-locked+.k-grid-footer-wrap,.k-grid-header-locked+.k-grid-header-wrap{display:inline-block;vertical-align:top}.k-grid-toolbar{border-style:solid;border-width:1px 0 0}.k-filter-row>th:first-child,.k-grid tbody td:first-child,.k-grid tfoot td:first-child,.k-grid-header th.k-header:first-child{border-left-width:0}.k-grid-header th.k-header.k-first{border-left-width:1px}.k-grid-toolbar:first-child,.k-grouping-header+.k-grid-toolbar{border-width:0 0 1px}.k-footer-template td{border-style:solid;border-width:1px 0 0 1px}.k-group-footer td{border-style:solid;border-width:1px 0}.k-group-footer .k-group-cell+td{border-left-width:1px}.k-grid-footer{border-style:solid;border-width:1px 0 0}.k-grid-footer td{border-top-width:0}.k-grid-footer>td{border-top-width:1px}.k-grid-pager{border-width:1px 0 0}.k-grid .k-pager-numbers{float:left;cursor:default;display:inline-block;vertical-align:top;margin-right:1px}.k-widget.k-grid .k-pager-numbers{position:relative}.k-header>.k-grid-filter,.k-header>.k-header-column-menu{float:right;margin:-.5em -.6em -.4em 0;padding:.5em .2em .4em;position:relative;z-index:1;color:inherit}.k-grid .k-animation-container{position:absolute}.k-filter-menu{padding:.5em}.k-list-filter{display:block}form.k-filter-menu .k-textbox,form.k-filter-menu .k-widget{display:block}form.k-filter-menu .k-textbox{width:100%;margin-bottom:3px}.k-filter-help-text,.k-filter-menu .k-textbox,.k-filter-menu .k-widget{margin:.19em 0 0}.k-filter-menu span.k-filter-and{width:6em;margin:.5em 0 .5em}.k-filter-menu .k-button{width:48%;margin:.5em 4% 0 0}.k-filter-menu .k-button+.k-button{margin-right:0}.k-filter-menu .k-filter-selected-items{font-weight:700;margin:.5em}.k-multicheck-wrap{overflow:auto;overflow-x:hidden;white-space:nowrap;max-height:300px}.k-multicheck-wrap .k-item{line-height:2.2em}.k-grouping-row .k-icon{margin:-3px 4px 0 2px}.k-grouping-row p{display:inline-block;vertical-align:middle;margin-left:-.6em;padding:0 .6em}.k-grouping-row+tr td{border-top-width:1px}.k-grouping-row .k-group-cell,.k-grouping-row+tr .k-group-cell{border-top-width:0;text-overflow:none}.k-grid .k-hierarchy-cell+td{border-left-width:0}.k-grid .k-group-col,.k-grid .k-hierarchy-col{width:27px}.k-grouping-header{border-bottom-style:solid;border-bottom-width:1px}.k-grouping-header{line-height:2}.k-grouping-dropclue{position:absolute;width:6px;height:25px;background-repeat:no-repeat;background-position:-165px -148px}.k-grouping-dropclue:after,.k-grouping-dropclue:before{content:\\\"\\\";width:0;height:0;border:3px solid;border-left-color:transparent;border-right-color:transparent;position:absolute;left:0}.k-grouping-dropclue:before{top:0;border-bottom:0}.k-grouping-dropclue:after{bottom:0;border-top:0}.k-group-indicator{padding:.15em .15em .15em .4em;border-width:1px;border-style:solid;line-height:1.5em;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;vertical-align:top}.k-grouping-header .k-group-indicator{margin:0 3px}.k-group-indicator .k-button.k-bare,.k-group-indicator .k-link{padding:0;border-width:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.k-group-indicator .k-link .k-icon{margin-right:4px}.k-group-indicator .k-button.k-bare{margin-left:8px;padding:0;width:auto;height:auto;opacity:.5}.k-group-indicator .k-button.k-bare::after,.k-group-indicator .k-button.k-bare::before{display:none}.k-group-indicator .k-button.k-bare:hover{opacity:1}.k-no-flexbox .k-group-indicator{display:inline-block}.k-no-flexbox .k-group-indicator .k-button,.k-no-flexbox .k-group-indicator .k-link{display:inline-block;vertical-align:middle}.k-dirty-cell:before{content:\\\"\\\\A0\\\";display:inline-block;width:0;float:left}.k-dirty-cell{position:relative}.k-dirty-cell .k-dirty{margin:0;top:0;left:0}.k-dirty{position:absolute;width:0;height:0;border-style:solid;border-width:3px;border-color:red transparent transparent red;margin:-.45em 0 0 -.6em;padding:0;overflow:hidden;vertical-align:top}.k-grid-toolbar,.k-grouping-header{margin:0;padding:.429em .2em .429em 1em;cursor:default}.k-grid .k-edit-container{padding:0}.k-grid .field-validation-error{display:block}.k-grid .input-validation-error{border-style:ridge;border-color:red;background-color:pink}.k-grid-toolbar .k-button{vertical-align:middle}.k-grid-actions{display:inline-block}.k-grid .k-button{margin:0 .16em}.k-grid tbody .k-button{min-width:64px}.k-grid tbody button.k-button{min-width:78px}html body .k-grid tbody .k-button-icon{width:auto;min-width:0}.k-detail-row{position:relative}.k-grid .k-detail-cell{overflow:visible}.k-grid .k-edit-cell{padding:0 .3em;white-space:nowrap}.k-grid .k-edit-cell .k-tooltip{white-space:normal}.k-edit-cell>.k-textbox,.k-edit-cell>.k-widget,.k-grid-edit-row>td>.k-textbox,.k-grid-edit-row>td>.k-widget,.k-grid-edit-row>td>.text-box{width:100%}html .k-edit-cell .k-tooltip,html .k-grid-edit-row .k-tooltip{width:auto;max-width:300px}.k-edit-cell input[type=checkbox]{margin-left:.6em}.k-grid tbody td>.k-grid-delete{margin-top:-.2em;margin-bottom:-.2em}.k-grid-resize-indicator{position:absolute;width:2px;background-color:#aaa}.k-grid-header .k-resize-handle,.k-grid>.k-resize-handle{position:absolute;height:25px;cursor:col-resize;z-index:2}.k-marquee{position:absolute;z-index:100000}.k-marquee-color,.k-marquee-text{position:absolute;top:0;left:0;width:100%;height:100%}.k-marquee-color{filter:alpha(opacity=60);opacity:.6}.k-ie9 .k-column-menu{width:160px}.k-column-menu{min-width:160px}.k-column-menu .k-sprite{margin-right:10px}.k-column-menu>.k-menu{border-width:0}.k-column-menu .k-calendar .k-link{white-space:normal}.k-columns-item .k-group{max-height:200px;overflow:auto}.k-pdf-export-shadow .k-grid{float:left;width:auto!important}.k-pdf-export-shadow .k-grid,.k-pdf-export-shadow .k-grid-content,.k-pdf-export-shadow .k-grid-content-locked{height:auto!important;overflow:visible}.k-pdf-export-shadow .k-grid-content-locked+.k-grid-content,.k-pdf-export-shadow .k-grid-footer-locked+.k-grid-footer-wrap,.k-pdf-export-shadow .k-grid-header-locked+.k-grid-header-wrap{width:auto!important}.k-pdf-export-shadow .k-grid-footer,.k-pdf-export-shadow .k-grid-header{padding:0!important}.k-loading-pdf-mask{position:absolute;width:100%;height:100%;top:0;left:0;z-index:100}.k-loading-pdf-mask .k-loading-color{filter:alpha(opacity=50);opacity:.5}.k-loading-pdf-mask .k-loading-pdf-progress{margin:auto;position:absolute;top:0;bottom:0;left:0;right:0}.k-pdf-export .k-loading-pdf-mask{display:none}.k-autofitting{width:auto!important;table-layout:auto!important}.k-autofitting td,.k-autofitting th.k-header{white-space:nowrap!important}.k-autofitting .k-detail-row{display:none!important}.k-grid input.k-checkbox+label.k-checkbox-label{cursor:default;outline:0}.k-grid .k-checkbox-label.k-no-text{padding:0}.k-grid .k-edit-cell input.k-checkbox+label.k-checkbox-label,.k-grid .k-edit-cell input[type=checkbox]{margin-left:.3em}.k-grid .k-grouping-row td{border-bottom-width:0}.k-grid .k-grouping-row+tr td{border-top-width:1px}.k-grid .k-grouping-row+tr td.k-group-cell{border-top-width:0}.k-grid .k-group-cell{border-bottom-width:0;border-top-width:0}.k-window .k-popup-edit-form .k-edit-field input.k-checkbox{position:absolute;margin-left:1px;margin-top:.8em;width:14px;height:14px;z-index:1}.k-window .k-popup-edit-form .k-edit-field input.k-checkbox+label.k-checkbox-label{cursor:default}.k-window .k-popup-edit-form .k-edit-field label.k-checkbox-label{margin-top:.5em}.k-grid-header .k-i-sort-asc-sm,.k-grid-header .k-i-sort-desc-sm{margin-left:7px}.k-grid-header .k-sort-order{display:inline-block;height:16px;line-height:16px;margin-top:1px;margin-left:-1px;vertical-align:text-top;font-size:12px}.k-grid-header .k-link .k-icon.k-i-sort-asc-sm,.k-grid-header .k-link .k-icon.k-i-sort-desc-sm{margin-top:1px;vertical-align:text-top}@media only screen and (max-width:1024px){.k-edge .k-grid .k-pager-numbers,.k-ff .k-grid .k-pager-numbers,.k-ie11 .k-grid .k-pager-numbers,.k-safari .k-grid .k-pager-numbers,.k-webkit .k-grid .k-pager-numbers{position:absolute;left:4.8em;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;overflow:visible;height:auto}.k-edge .k-grid .k-pager-numbers:first-child,.k-ff .k-grid .k-pager-numbers:first-child,.k-ie11 .k-grid .k-pager-numbers:first-child,.k-safari .k-grid .k-pager-numbers:first-child,.k-webkit .k-grid .k-pager-numbers:first-child{left:.2em}.k-edge .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded,.k-ff .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded,.k-ie11 .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded,.k-safari .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded,.k-webkit .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded{-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.k-edge .km-pane-wrapper .k-grid .k-pager-numbers,.k-ff .km-pane-wrapper .k-grid .k-pager-numbers,.k-ie11 .km-pane-wrapper .k-grid .k-pager-numbers,.k-safari .km-pane-wrapper .k-grid .k-pager-numbers,.k-webkit .km-pane-wrapper .k-grid .k-pager-numbers{position:relative;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transform:translateX(-50%)}.k-edge .k-rtl .k-grid .k-pager-numbers,.k-ff .k-rtl .k-grid .k-pager-numbers,.k-ie11 .k-rtl .k-grid .k-pager-numbers,.k-safari .k-rtl .k-grid .k-pager-numbers,.k-webkit .k-rtl .k-grid .k-pager-numbers{left:auto;right:4.8em;width:4.5em}.k-edge .k-rtl .k-grid .k-pager-numbers:first-child,.k-ff .k-rtl .k-grid .k-pager-numbers:first-child,.k-ie11 .k-rtl .k-grid .k-pager-numbers:first-child,.k-safari .k-rtl .k-grid .k-pager-numbers:first-child,.k-webkit .k-rtl .k-grid .k-pager-numbers:first-child{left:auto;right:.2em}.k-edge .k-rtl .km-pane-wrapper .k-grid .k-pager-numbers,.k-ff .k-rtl .km-pane-wrapper .k-grid .k-pager-numbers,.k-ie11 .k-rtl .km-pane-wrapper .k-grid .k-pager-numbers,.k-safari .k-rtl .km-pane-wrapper .k-grid .k-pager-numbers,.k-webkit .k-rtl .km-pane-wrapper .k-grid .k-pager-numbers{right:5.8em}.k-edge .k-grid .k-pager-numbers .k-current-page,.k-ff .k-grid .k-pager-numbers .k-current-page,.k-ie11 .k-grid .k-pager-numbers .k-current-page,.k-safari .k-grid .k-pager-numbers .k-current-page,.k-webkit .k-grid .k-pager-numbers .k-current-page{display:block;border-left:0}.k-edge .k-grid .k-pager-number.k-state-expanded .k-current-page,.k-ff .k-grid .k-pager-number.k-state-expanded .k-current-page,.k-ie11 .k-grid .k-pager-number.k-state-expanded .k-current-page,.k-safari .k-grid .k-pager-number.k-state-expanded .k-current-page,.k-webkit .k-grid .k-pager-number.k-state-expanded .k-current-page{-ms-transform:translatey(100%);transform:translatey(100%);-webkit-transform:translatey(100%)}}.k-treelist .k-status{padding:.4em .6em;line-height:1.6em}.k-treelist .k-status .k-loading{vertical-align:baseline;margin-right:5px}.k-treelist tr.k-hidden{display:none}.k-treelist.k-treelist-dragging,.k-treelist.k-treelist-dragging .k-state-hover{cursor:default}.k-treelist .k-i-drag-and-drop{position:absolute;z-index:10000;visibility:hidden;width:80px;height:5px;margin-top:-3px;background-color:transparent;background-repeat:no-repeat}.k-treelist .k-i-arrow-45-down-right,.k-treelist .k-i-arrow-60-right{cursor:pointer}.k-treelist .k-i-arrow-45-down-right{margin-top:-.5em}.k-drag-separator{display:inline-block;border-right:1px solid;height:1em;vertical-align:top;margin:0 .5em}.k-gantt{white-space:nowrap;position:relative}.k-gantt-layout{display:inline-block;white-space:normal;vertical-align:top}.k-gantt .k-splitbar{position:relative;cursor:e-resize;width:5px;border-width:0 1px;background-repeat:repeat-y}.k-gantt .k-gantt-layout th{vertical-align:bottom}.k-gantt td{overflow:hidden;white-space:nowrap;vertical-align:top}.k-gantt .k-grid .k-edit-cell{vertical-align:middle}.k-gantt-timeline>.k-timeline,.k-gantt-treelist>.k-treelist{border-width:0;height:100%}.k-gantt-toolbar{border-style:solid;border-width:0 0 1px;line-height:2.4em;padding:.5em}.k-gantt-layout+.k-gantt-toolbar{border-width:1px 0 0}.k-gantt-actions,.k-gantt-toolbar>ul{float:left;margin-right:.6em}.k-gantt-actions>.k-button{margin-right:.5em;vertical-align:top}.k-gantt-toolbar>.k-gantt-views{float:right;margin-right:0}.k-gantt-toolbar>.k-gantt-views>li.k-current-view{display:none}.k-gantt-toolbar>ul>li{display:inline-block;border-style:solid;border-width:1px 1px 1px 0}.k-gantt-toolbar>ul>li:first-child+li{border-left-width:1px}.k-gantt-toolbar .k-link{display:inline-block;padding:0 1.1em}.k-gantt-toolbar li:first-child+li,.k-gantt-toolbar li:first-child+li>.k-link{border-top-left-radius:4px;border-bottom-left-radius:4px}.k-gantt-toolbar li:last-child,.k-gantt-toolbar li:last-child>.k-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.k-gantt-toolbar li.k-button{line-height:inherit;padding-top:0;padding-bottom:0}.k-gantt-treelist .k-grid-header tr{height:5em}.k-gantt .k-treelist .k-grid-header{padding:0!important}.k-gantt .k-treelist .k-grid-content{overflow-y:hidden;overflow-x:scroll}.k-treelist-group>tr>span{font-weight:700}.k-treelist-group .k-widget{font-weight:400}.k-gantt-timeline .k-grid-header tr{height:2.5em}.k-gantt-tasks{position:relative}.k-gantt .k-grid-content tr,.k-gantt-rows tr,.k-gantt-tasks tr{height:2.3em}.k-gantt .k-gantt-tasks td:after{content:\\\"\\\\A0\\\"}.k-gantt-timeline{background:0 0}.k-gantt-columns,.k-gantt-dependencies,.k-gantt-rows{position:absolute;top:0;left:0}.k-gantt-tables{position:relative}.k-gantt .k-timeline .k-grid-content{overflow-x:scroll}.k-gantt .k-gantt-timeline th{text-align:center}.k-gantt .k-gantt-timeline tr:first-child th{border-bottom-width:1px}.k-task-summary{height:10px;display:inline-block;vertical-align:top;margin-top:3px}.k-task-summary-complete{height:10px;position:relative;z-index:2}.k-task-summary-progress{height:15px;overflow:hidden}.k-task-summary-complete:after,.k-task-summary-complete:before,.k-task-summary:after,.k-task-summary:before{content:\\\"\\\";position:absolute;top:0;width:0;height:0;border-style:solid;border-width:8px;border-color:transparent}.k-task-summary-complete:before,.k-task-summary:before{left:0;border-left-color:inherit}.k-task-summary-complete:after,.k-task-summary:after{right:0;border-right-color:inherit}.k-line-h,.k-line-v{position:absolute}.k-line-h{height:2px}.k-line-v{width:2px}.k-arrow-e,.k-arrow-w{position:absolute;top:-4px;width:0;height:0;border-style:solid;border-width:5px}.k-arrow-e{right:-6px;border-top-color:transparent;border-bottom-color:transparent;border-right-color:transparent}.k-arrow-w{left:-6px;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.k-task-milestone{width:13px;height:13px;margin-top:3px;border-style:solid;border-width:1px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.k-gantt .k-gantt-tasks .k-button-icon,.k-gantt .k-gantt-treelist .k-button{padding-top:0;padding-bottom:0}.k-gantt .k-gantt-tasks .k-button-icon{margin-top:4px}.k-gantt .k-gantt-treelist .k-button{margin-top:-4px;margin-bottom:-2px}.k-gantt .k-gantt-tasks .k-button-icon{padding-left:2px;padding-right:2px}.k-gantt .k-gantt-tasks .k-button .k-icon,.k-gantt .k-gantt-treelist .k-button .k-icon{vertical-align:text-top}.k-rel .k-button-icon{position:absolute;left:200px}.k-rel{position:relative;height:0;top:-.3em}.k-task-wrap{position:absolute;padding:0 23px 5px;margin:-1px -23px 0;z-index:2}.k-line.k-state-selected,.k-task-wrap:hover{z-index:3}.k-milestone-wrap{margin:0 -13px 0 -27px}.k-task-content{position:relative;z-index:2}.k-task-complete{position:absolute;top:0;bottom:0;left:0;width:20%;z-index:1}.k-task-dot{position:absolute;top:0;width:16px;height:16px;line-height:16px;display:none;cursor:pointer}.k-task-dot.k-state-hover{background-color:transparent}.k-task-single+.k-task-dot,.k-task-single+.k-task-dot+.k-task-dot{top:.2em}.k-task-wrap-active .k-task-dot,.k-task-wrap:hover .k-task-dot{display:block}.k-task-dot:before{content:\\\"\\\\A0\\\";display:inline-block;width:0;height:16px}.k-task-dot:after{content:\\\"\\\";display:inline-block;vertical-align:middle;width:8px;height:8px;border-radius:4px;margin-left:4px}.k-task-dot.k-state-hover:after,.k-task-dot:hover:after,.k-task-wrap-active .k-task-dot:after{border-style:solid;border-width:1px;margin-left:3px}.k-task-start{left:0}.k-task-end{right:0}.k-task-single{border-style:solid;border-width:1px;text-align:left;overflow:hidden;cursor:default;min-height:1.3em;white-space:nowrap}.k-task-template{padding:.2em 1.4em .2em .6em;line-height:normal}.k-task-actions,.k-task-content>.k-link{position:absolute;top:0;right:4px;white-space:nowrap}.k-task-actions{z-index:1}.k-task-actions:first-child{position:static;float:left;margin:4px 2px 0 4px}.k-webkit .k-task-actions:first-child{margin-top:3px}.k-task-actions:first-child>.k-link{display:inline-block}.k-task-delete{display:none}.k-task-wrap-active .k-task-delete,.k-task-wrap:hover .k-task-delete{display:inline-block}.k-task-single .k-resize-handle{position:absolute;visibility:hidden;z-index:2;height:auto}.k-task-single:hover .k-resize-handle,.k-task-wrap-active .k-resize-handle{visibility:visible}.k-task-single .k-resize-handle:after{content:\\\"\\\";position:absolute;filter:alpha(opacity=50);opacity:.5}.k-task-content>.k-resize-e{right:0;top:0;bottom:0;width:.4em}.k-task-content>.k-resize-w{left:0;top:0;bottom:0;width:.4em}.k-task-content>.k-resize-e:after,.k-task-content>.k-resize-w:after{left:1px;top:50%;margin-top:-.7em;height:1.4em;width:1px}.k-task-content>.k-resize-e:after{left:auto;right:1px}.k-task-draghandle{position:absolute;bottom:0;width:0;height:0;margin:0 18px;border-width:5px;border-style:solid;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;display:none;cursor:e-resize}.k-task-wrap-active .k-task-draghandle,.k-task-wrap:hover .k-task-draghandle{display:block}.k-dependency-hint{z-index:4}.k-gantt-rowheight .k-task-dot,.k-gantt-rowheight .k-task-milestone,.k-gantt-rowheight .k-task-single+.k-task-dot,.k-gantt-rowheight .k-task-single+.k-task-dot+.k-task-dot,.k-gantt-rowheight .k-task-summary{top:50%}.k-gantt-rowheight .k-task-milestone,.k-gantt-rowheight .k-task-summary{margin-top:-6px}.k-gantt-rowheight .k-task-dot,.k-gantt-rowheight .k-task-single+.k-task-dot,.k-gantt-rowheight .k-task-single+.k-task-dot+.k-task-dot{margin-top:-11px}.k-gantt-rowheight .k-task-single{height:-webkit-calc(100% - 2px);height:calc(100% - 2px)}.k-ie .k-gantt-rowheight .k-task-single{height:99%}.k-gantt-rowheight .k-task-content{height:100%}.k-gantt-rowheight .k-task-content>.k-resize-e:after,.k-gantt-rowheight .k-task-content>.k-resize-w:after{top:0;margin-top:0;height:100%}.k-task-details{padding:.4em;text-align:left;white-space:nowrap}.k-task-details>strong{font-size:120%;display:block}.k-task-pct{margin:.5em 0 .1em;font-size:170%}.k-task-details>ul{line-height:1.2}.k-resources-wrap{position:absolute;z-index:2;zoom:1;margin-left:20px;margin-top:-2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-resources-wrap .k-resource{margin:0 5px}.k-gantt-edit-form>.k-edit-form-container{width:430px}.k-gantt-edit-form>.k-resources-form-container{width:506px}.k-resources-form-container>.k-grid{margin:0 .9em}.k-gantt-edit-form>.k-edit-form-container .k-numerictextbox,.k-gantt-edit-form>.k-edit-form-container .k-textbox{width:15em}.k-gantt-edit-form .k-edit-buttons .k-gantt-delete{float:left}.k-pdf-export-shadow .k-gantt{float:left}.k-pdf-export-shadow .k-gantt,.k-pdf-export-shadow .k-gantt .k-grid-content,.k-pdf-export-shadow .k-gantt-timeline{width:auto!important;height:auto!important;overflow:visible!important}.k-pdf-export-shadow .k-gantt-treelist{height:auto!important;overflow:visible!important}.k-pdf-export-shadow .k-gantt-timeline .k-grid-header{padding:0!important}.k-pdf-export-shadow .k-gantt .k-splitbar,.k-pdf-export-shadow .k-pdf-export{display:none}button.k-gantt-toggle{display:none;float:left;margin-right:.5em}@media only screen and (max-width:1024px){.k-gantt-toolbar>ul.k-gantt-views{position:absolute;right:6px;top:6px;z-index:10000}.k-rtl .k-gantt-toolbar>ul.k-gantt-views{right:auto;left:6px}.k-gantt-toolbar>ul.k-gantt-views>li:not(.k-current-view){display:none}.k-gantt-toolbar>ul.k-gantt-views>li.k-current-view{display:block;border-width:1px}.k-rtl .k-gantt-toolbar>ul.k-gantt-views>li.k-current-view{text-align:left;padding-left:1em}.k-gantt-toolbar>ul.k-gantt-views>li.k-current-view>.k-link{display:block;position:relative;padding-right:2.5em;padding-left:1em}.k-rtl .k-gantt-toolbar>ul.k-gantt-views>li.k-current-view>.k-link{padding-left:0}.k-gantt-toolbar>ul.k-gantt-views>li.k-current-view>.k-link:after{content:\\\"\\\\E006\\\";position:absolute;top:50%;right:.6em;margin-top:-.5em;line-height:1em}.k-gantt-toolbar>ul.k-gantt-views.k-state-expanded>li,.k-gantt-toolbar>ul.k-gantt-views.k-state-expanded>li:first-child+li{display:block;border:0;border-radius:0}.k-gantt-toolbar>ul.k-gantt-views.k-state-expanded{border:1px solid #c5c5c5;background-color:#fff;background-image:none;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.3);box-shadow:0 2px 2px 0 rgba(0,0,0,.3)}.k-rtl .k-gantt-toolbar>ul.k-gantt-views.k-state-expanded{text-align:left}}@media only screen and (max-width:480px){button.k-gantt-toggle{display:inline-block}.k-gantt-create span+span,.k-gantt-pdf span+span{display:none}.k-gantt-create .k-icon,.k-gantt-pdf .k-icon{margin:0}.k-gantt .k-splitbar{display:none;width:0;border-width:0}.k-gantt .k-gantt-treelist{display:none;max-width:0}.k-gantt .k-treelist .k-grid-content{overflow-y:scroll}.k-gantt .k-gantt-timeline{width:100%}}.k-pivot{position:relative}.k-pivot-toolbar{padding:.2em;border-bottom-width:1px;border-bottom-style:solid}.k-pivot .k-pivot-toolbar{padding:.6em}.k-pivot-toolbar .k-button{margin-right:.4em;line-height:1.2em;font-size:.9em;text-align:left;position:relative;padding:.3em 5em .3em .3em;cursor:move}.k-field-actions{position:absolute;right:2px;top:3px;cursor:pointer}.k-pivot .k-grid td{white-space:nowrap}.k-pivot-layout{border-spacing:0;table-layout:auto}.k-pivot-layout>tbody>tr>td{vertical-align:top;padding:0}.k-pivot td{vertical-align:top}.k-pivot-rowheaders>.k-grid,.k-pivot-table>.k-grid{border-width:0}.k-pivot-rowheaders>.k-grid td:first-child,.k-pivot-table .k-grid-header .k-header.k-first{border-left-width:1px}.k-pivot-rowheaders>.k-grid td.k-first{border-left-width:0}.k-pivot-rowheaders>.k-grid{overflow:hidden}.k-pivot-table{border-left-width:1px;border-left-style:solid}.k-pivot-table .k-grid-header-wrap>table{height:100%}.k-pivot .k-grid-header .k-header{vertical-align:top}.k-header.k-alt,td.k-alt{font-weight:700}.k-header.k-alt{background-image:none}.k-pivot-layout .k-grid td{border-bottom-width:1px}.k-pivot-layout .k-grid-footer>td{border-top-width:0}.k-pivot-filter-window .k-treeview{max-height:600px}.k-fieldselector .k-edit-buttons{bottom:auto}.k-fieldselector .k-edit-label{width:16%}.k-fieldselector .k-edit-field{width:77%}.k-fieldselector .k-edit-field>.k-textbox,.k-fieldselector .k-edit-field>.k-widget{width:99%}.k-fieldselector .k-edit-buttons>input,.k-fieldselector .k-edit-buttons>label{float:left;margin-top:.4em}.k-fieldselector p{margin:0 0 .2em .5em;text-transform:uppercase}.k-fieldselector p .k-icon{margin:0 5px 0 0}.k-fieldselector .k-columns{border-style:solid;border-width:0}.k-fieldselector .k-columns>div{overflow:auto;padding:.6em;border-style:solid;border-width:0 0 0 1px;float:left;width:45%}.k-fieldselector .k-columns>div:first-child{border-width:0;margin-right:-1px}.k-fieldselector .k-columns>div+div{float:right;border-width:0}.k-fieldselector div.k-treeview{border-width:0;margin-right:-1px;padding-left:4px;overflow:visible}.k-fieldselector .k-list-container{margin-left:.5em;margin-bottom:1em;padding:.2em 0 0;border-style:solid;border-width:1px}.k-fieldselector .k-list{padding-bottom:2em}.k-fieldselector .k-list li.k-item{padding:.3em 3.3em .3em .3em;margin:0 .2em .2em;position:relative;font-size:.9em;line-height:1.2em;min-height:1em}.k-i-kpi-trend-decrease,.k-i-kpi-trend-equal,.k-i-kpi-trend-increase{color:#858585}.k-i-kpi-status-hold{color:#f9ce1d}.k-i-kpi-status-deny{color:#f44336}.k-i-kpi-status-open{color:#4caf50}.k-pdf-export-shadow .k-pivot .k-grid-content{overflow:visible!important}.k-pdf-export-shadow .k-pivot .k-grid-content,.k-pdf-export-shadow .k-pivot .k-pivot-rowheaders .k-grid{height:100%!important}.k-pdf-export-shadow .k-pivot .k-grid-header{padding-right:0!important}.k-pdf-export-shadow .k-pivot{width:auto!important;height:auto!important}.k-pdf-export-shadow .k-pivot .k-grid-content>table,.k-pdf-export-shadow .k-pivot .k-grid-header-wrap>table{width:100%!important;height:auto!important}.k-pivot .k-field-actions .k-icon{pointer-events:all}.k-calendar{position:relative;display:inline-block;width:19em;overflow:hidden}.k-week-number{width:21.71428571em}.k-calendar .k-link,.k-calendar td{text-decoration:none}.k-calendar .k-action-link{text-decoration:underline}.k-calendar .k-footer,.k-calendar .k-header{position:relative;text-align:center;zoom:1}.k-widget.k-calendar .k-nav-next,.k-widget.k-calendar .k-nav-prev{position:absolute;top:.16666em;line-height:1.8333em;height:1.8333em}.k-widget.k-calendar .k-nav-prev{left:1%}.k-widget.k-calendar .k-nav-next{right:1%}.k-calendar .k-content{float:left;border-spacing:0;width:100%;height:14.167em;border-width:0;margin:0;table-layout:fixed;outline:0}.k-calendar .k-content,.k-calendar .k-content th{text-align:right}.k-calendar .k-content .k-alt{border-radius:0;text-align:center;font-weight:400;cursor:default;line-height:1.8333em}.k-calendar .k-animation-container .k-content{height:100%}.k-widget.k-calendar .k-nav-fast{display:inline-block;width:75%;height:1.8333em;line-height:1.8333em;margin:.16666em -.08333em .3333em 0}.k-calendar .k-header .k-icon{vertical-align:middle}.k-calendar .k-header .k-link.k-nav-next,.k-calendar .k-header .k-link.k-nav-prev{height:1.8333em;width:1.8333em}.k-calendar th{border-bottom-style:solid;border-bottom-width:1px;padding:.4em .45em .4em .1em;font-weight:400;cursor:default}.k-calendar td{padding:.08333em;cursor:pointer}.k-calendar .k-state-focus{border-style:dotted;border-width:.08333em;padding:0}.k-calendar .k-content .k-link{display:block;overflow:hidden;min-height:1.8333em;line-height:1.8333em;padding:0 .45em 0 .1em}.k-calendar .k-meta-view .k-link{padding:.25em 0 .3em;text-align:center}.k-calendar .k-century .k-link{text-align:left;padding:0 .45em}.k-calendar .k-footer{clear:both}.k-calendar .k-footer .k-nav-today,.k-calendar .k-footer>.k-state-disabled{display:block;height:100%;padding:.5em 0}.k-calendar .k-nav-today:hover{text-decoration:underline}div.k-treeview{border-width:0;background:0 0;overflow:auto;white-space:nowrap}.k-treeview .k-item{display:block;border-width:0;margin:0;padding:0 0 0 16px}.k-treeview .k-content,.k-treeview .k-item>.k-group,.k-treeview>.k-group{margin:0;padding:0;background:0 0;list-style-type:none;position:relative}.k-treeview .k-checkbox,.k-treeview .k-icon,.k-treeview .k-image,.k-treeview .k-in,.k-treeview .k-sprite{display:inline-block;vertical-align:top}.k-treeview .k-checkbox{margin-top:.2em}.k-treeview .k-checkbox-label{padding-left:-webkit-calc(16px + .7ex);padding-left:calc(16px + .7ex)}.k-treeview .k-icon,.k-treeview .k-in{vertical-align:middle}.k-treeview .k-request-retry{vertical-align:baseline}.k-treeview .k-i-collapse,.k-treeview .k-i-expand,.k-treeview .k-i-minus,.k-treeview .k-i-plus{margin-top:.05em;margin-left:-16px;cursor:pointer}.k-treeview .k-i-collapse{margin-top:-4px}.k-treeview .k-image,.k-treeview .k-sprite{margin-right:3px}.k-treeview .k-in{margin:1px 0 1px .3333em;padding:.429em .6667em .429em .5833em;line-height:1.3333em;text-decoration:none;border-style:solid;border-width:1px}.k-treeview span.k-in{cursor:default}.k-treeview .k-i-drag-and-drop{position:absolute;z-index:10000;visibility:hidden;width:80px;height:5px;margin-top:-3px;background-color:transparent;background-repeat:no-repeat}.k-treeview .k-state-hover,.k-treeview .k-state-hover:hover{cursor:pointer}.k-rtl .k-treeview .k-i-collapse,.k-rtl .k-treeview .k-i-expand{margin-left:0;margin-right:-16px}.k-toolbar .k-split-button,span.k-colorpicker,span.k-combobox,span.k-datepicker,span.k-datetimepicker,span.k-dropdown,span.k-numerictextbox,span.k-timepicker{background-image:none}.k-autocomplete,.k-colorpicker,.k-combobox,.k-datepicker,.k-datetimepicker,.k-dropdown,.k-listbox,.k-numerictextbox,.k-selectbox,.k-textbox,.k-timepicker,.k-toolbar .k-split-button{position:relative;display:inline-block;width:12.4em;overflow:visible;border-width:0;vertical-align:middle}.k-autocomplete>.k-i-close,.k-combobox>.k-dropdown-wrap>.k-i-close,.k-multiselect>.k-multiselect-wrap>.k-i-close{font-size:100%;display:none;position:absolute;right:6px;cursor:pointer}.k-autocomplete>.k-i-close,.k-combobox>.k-dropdown-wrap>.k-i-close{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.k-combobox>.k-dropdown-wrap>.k-i-close{right:2.4em}.k-multiselect>.k-multiselect-wrap>.k-i-close{top:6px}.k-autocomplete.k-state-focused>.k-i-close,.k-autocomplete.k-state-hover>.k-i-close,.k-combobox>.k-dropdown-wrap.k-state-focused>.k-i-close,.k-combobox>.k-dropdown-wrap.k-state-hover>.k-i-close{display:inline-block;outline:0}.k-multiselect.k-state-focused>.k-multiselect-wrap>.k-i-close,.k-multiselect.k-state-hover>.k-multiselect-wrap>.k-i-close{display:inline-block;outline:0}.k-autocomplete>.k-hidden,.k-combobox>.k-dropdown-wrap>.k-hidden,.k-multiselect .k-hidden{display:none!important}.k-autocomplete,.k-colorpicker,.k-combobox,.k-datepicker,.k-datetimepicker,.k-dropdown,.k-numerictextbox,.k-selectbox,.k-timepicker,.k-toolbar .k-split-button{white-space:nowrap}.k-filter-menu .k-autocomplete,.k-filter-menu .k-combobox,.k-filter-menu .k-datepicker,.k-filter-menu .k-datetimepicker,.k-filter-menu .k-dropdown,.k-filter-menu .k-numerictextbox,.k-filter-menu .k-textbox,.k-filter-menu .k-timepicker{width:13.2em}.k-colorpicker,.k-toolbar .k-split-button{width:auto}.k-datetimepicker{width:15em}.k-autocomplete,.k-numeric-wrap,.k-picker-wrap{position:relative;cursor:default}.k-dropdown-wrap,.k-numeric-wrap,.k-picker-wrap{display:block}.k-block,.k-content,.k-grid,.k-header-column-menu,.k-panelbar,.k-slider,.k-splitter,.k-treeview,.k-widget{outline:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-block,.k-calendar,.k-grid-header .k-i-link-horizontal,.k-header-column-menu,.k-pager-wrap,.k-slider,.k-splitbar,.k-treeview{-webkit-touch-callout:none}.k-header-column-menu{color:inhert}.k-list-scroller{position:relative;overflow:auto}.k-popup.k-calendar-container,.k-popup.k-list-container{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);padding:2px;border-width:1px;border-style:solid}.k-autocomplete.k-state-border-down,.k-dropdown-wrap.k-state-border-down,.k-list-container.k-state-border-down,.k-numeric-wrap.k-state-border-down,.k-picker-wrap.k-state-border-down{border-bottom-width:0;padding-bottom:1px}.k-list-container .km-scroll-container{padding-bottom:6px}.k-autocomplete,.k-dropdown-wrap,.k-numeric-wrap,.k-picker-wrap,.k-textbox{border-width:1px;border-style:solid}.k-dropdown-wrap{position:relative}.k-dropdown-wrap,.k-numeric-wrap,.k-picker-wrap{padding-right:2.42142857em}.k-numeric-wrap.k-expand-padding{padding-right:0}.k-autocomplete,.k-textbox{padding:0}.k-textbox.k-space-left{padding-left:2em}.k-textbox.k-space-right{padding-right:2em}.k-picker-wrap .k-input{margin:0}.k-textbox .k-icon{top:50%;margin:-8px 0 0;position:absolute}.k-space-left .k-icon{left:3px}.k-space-right .k-icon{right:3px}span.k-textbox:after{content:\\\"\\\\A0\\\";display:block;height:.4px;overflow:hidden}.k-autocomplete,.k-dropdown-wrap.k-state-focused,.k-dropdown-wrap.k-state-hover,.k-numeric-wrap.k-state-focused,.k-numeric-wrap.k-state-hover,.k-picker-wrap.k-state-focused,.k-picker-wrap.k-state-hover{-webkit-transition:-webkit-box-shadow .15s ease-out;transition:-webkit-box-shadow .15s ease-out;transition:box-shadow .15s ease-out;transition:box-shadow .15s ease-out,-webkit-box-shadow .15s ease-out;-webkit-transition:\\\"box-shadow .15s ease-out\\\";transition:\\\"box-shadow .15s ease-out\\\"}.k-combobox .k-input,.k-numeric-wrap .k-input,.k-picker-wrap .k-input,.k-textbox>input{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.k-dropdown-wrap .k-input,.k-numeric-wrap .k-input,.k-picker-wrap .k-input,.k-selectbox .k-input{font-family:inherit;border-width:0;outline:0}.k-dropdown .k-input,.k-selectbox .k-input{background:0 0}.k-dropdown-wrap .k-select,.k-numeric-wrap .k-select,.k-picker-wrap .k-select{position:absolute;top:0;right:0;display:inline-block;vertical-align:top;text-decoration:none}.k-combobox .k-select,.k-numeric-wrap .k-select,.k-picker-wrap .k-select{border-style:solid;border-width:0 0 0 1px;border-color:inherit}span.k-datetimepicker .k-select,span.k-datetimepicker .k-select+.k-select{right:0}.k-autocomplete .k-input,.k-textbox>input{display:block;width:100%}.k-dropdown .k-select,.k-selectbox .k-select{overflow:hidden;border:0;text-decoration:none;font:inherit;color:inherit}.k-dropdown .k-input,.k-selectbox .k-input{display:block;overflow:hidden;text-overflow:ellipsis}.k-autocomplete .k-input,.k-dropdown-wrap .k-input,.k-multiselect-wrap .k-input,.k-numeric-wrap .k-input,.k-picker-wrap .k-input,.k-selectbox .k-input,.k-textbox>input{line-height:2.07142857em;padding:.17857143em 0;text-indent:.8em;border:0;margin:0;overflow:hidden;text-overflow:ellipsis}.k-dropdown-wrap .k-input:before{content:\\\"\\\";display:inline-block}.k-ie .k-autocomplete .k-input,.k-ie .k-dropdown-wrap .k-input,.k-ie .k-multiselect-wrap .k-input,.k-ie .k-selectbox .k-input{height:2.07142857em}.k-ie .k-combobox .k-input,.k-ie .k-numeric-wrap .k-input,.k-ie .k-picker-wrap .k-input,.k-ie .k-textbox>input{height:2.42142857em}.k-ie input.k-textbox{height:-webkit-calc(2.42142857em + 2px);height:calc(2.42142857em + 2px)}.k-webkit .k-combobox .k-dropdown-wrap:before,.k-webkit .k-numeric-wrap:before,.k-webkit .k-picker-wrap:before{padding-bottom:.38em}.km.root .k-combobox .k-dropdown-wrap:before,.km.root .k-numeric-wrap:before,.km.root .k-picker-wrap:before{content:none}.k-combobox .k-input,.k-numeric-wrap .k-input,.k-picker-wrap .k-input{display:inline}.k-dropdown-wrap .k-select,.k-numeric-wrap .k-select,.k-picker-wrap .k-select{line-height:2.42142857em;vertical-align:middle;-moz-box-sizing:border-box;text-align:center;width:2.42142857em;height:100%}.k-numeric-wrap .k-select{padding:0}body .k-datetimepicker .k-select{border-radius:0}.k-combobox .k-select,.k-dropdown,.k-selectbox .k-icon{cursor:pointer}.k-popup{border-style:solid;border-width:1px}.k-list-optionlabel,.k-popup .k-item{cursor:default}.k-popup .k-calendar{border:0}.k-list{height:auto}.k-nodata{min-height:138px;width:100%;display:table;text-transform:uppercase;font-size:.85em;font-weight:lighter}.k-nodata>div{display:table-cell;text-align:center;vertical-align:middle;padding:11px}.k-fieldselector .k-list .k-item,.k-item.k-drag-clue,.k-list-optionlabel,.k-listbox .k-item,.k-popup .k-list .k-item,.k-popup>.k-group-header,.k-popup>.k-virtual-wrap>.k-group-header{padding:1px 5px 1px 5px;line-height:1.8em;min-height:1.8em}.k-listbox .k-item,.k-popup .k-list .k-item{border-width:1px;border-style:solid;border-color:transparent;padding:0 4px}.k-popup .k-list .k-item>.k-group{top:-1px}.k-group-header+div>.k-list>.k-item.k-first:before{content:\\\" \\\";display:block;border-top-width:1px;border-top-style:solid;position:absolute;top:-1px;left:0;right:0}.k-popup>.k-group-header,.k-popup>.k-virtual-wrap>.k-group-header{padding-right:22px}.k-overflow-container .k-item{padding:1px}.k-overflow-container .k-button.k-state-disabled,.k-overflow-container .k-button.k-state-disabled:hover,.k-overflow-container>.k-state-disabled .k-button,.k-overflow-container>.k-state-disabled .k-button:hover{border-color:transparent;background:0 0}.k-fieldselector .k-list .k-item,.k-list-optionlabel.k-state-focused,.k-list-optionlabel.k-state-selected,.k-listbox .k-item,.k-overflow-container .k-state-focused,.k-overflow-container .k-state-hover,.k-overflow-container .k-state-selected,.k-popup .k-list .k-state-focused,.k-popup .k-list .k-state-hover,.k-popup .k-list .k-state-selected{padding:0 4px;border-width:1px;border-style:solid}.k-list-filter{position:relative;margin-bottom:2px}.k-list-filter>.k-textbox{padding-right:20px;width:100%}.k-list-filter>.k-icon{position:absolute;right:6px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.km-root .k-list-filter>.k-textbox{padding-left:0;padding-right:0;border-left-width:0;border-right-width:0}.k-multiselect-wrap{position:relative;border-width:0;border-style:solid;border-radius:4px;border-color:#c5c5c5;background-color:#fff;padding-right:22px}.k-multiselect-wrap .k-input{min-width:25px;min-height:2.07142857em;padding:.17857143em;text-indent:.8em;background-color:transparent;border:0;margin:0;float:left}.k-multiselect-wrap .k-input::-ms-clear{display:none}.k-multiselect-wrap li{margin:1px 0 1px 1px;padding:.1em 1.6em .1em .4em;line-height:1.92142857em;min-height:-webkit-calc(2.12142857em + 2px);min-height:calc(2.12142857em + 2px);float:left;position:relative}.k-autocomplete .k-i-loading,.k-multiselect .k-i-loading{position:absolute;top:auto;right:.4em;bottom:.4em}.k-multiselect-wrap .k-select{position:absolute;top:0;bottom:0;right:0;padding:.03em .2em}.k-autocomplete-clearable .k-input,.k-combobox-clearable .k-input,.k-multiselect-clearable .k-input{overflow:hidden;text-overflow:ellipsis}.k-combobox-clearable .k-input{padding-right:2.42142857em}.k-multiselect-clearable .k-multiselect-wrap{padding-right:2.42142857em}.k-datetimepicker .k-picker-wrap{padding-right:4em}.k-datetimepicker .k-select{width:4em}.k-datetimepicker .k-select .k-link-date{margin-left:-.285em}.k-datetimepicker .k-select .k-link-time{margin-right:-.285em;margin-left:.428em}.k-datetimepicker .k-picker-wrap .k-icon{margin:0 2px}.k-picker-wrap .k-icon{cursor:pointer}.k-datepicker,.k-datetimepicker,.k-textbox,.k-timepicker{display:inline-block;vertical-align:middle}.k-time-popup .k-item{padding:1px 3px}.k-input{font-size:inherit;padding:.25em 0}.k-input,.k-textbox>input{outline:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-textbox{outline:0}input.k-textbox,textarea.k-textbox{padding:.17857143em 0}input.k-textbox{line-height:2.07142857em;text-indent:.8em}.k-ie input.k-textbox{text-indent:.4em}textarea.k-textbox{height:auto}span.k-numerictextbox{background-color:transparent}.k-numerictextbox .k-input{margin:0}.k-numerictextbox .k-link{display:block;height:1em;line-height:1em;vertical-align:middle;border-width:0;padding:0;overflow:hidden}.k-numerictextbox .k-icon{display:block;margin:auto;height:100%}.k-numerictextbox .k-i-arrow-60-up{top:0}.k-numerictextbox .k-i-arrow-60-down{bottom:0}.k-numeric-wrap .k-input::-webkit-inner-spin-button{-webkit-appearance:none}.k-disabled-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.5;filter:alpha(opacity=50)}.k-rtl .k-multiselect-wrap{padding-right:0;padding-left:22px}.k-maskedtextbox{position:relative;display:inline-block;background-color:transparent;border-width:0}.k-maskedtextbox ::-ms-clear{display:none;width:0;height:0}.k-maskedtextbox .k-i-warning{display:none;position:absolute;width:2em;right:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.k-maskedtextbox.k-state-invalid .k-i-warning{display:inline-block}.k-dateinput{position:relative;display:inline-block;border-width:0}.k-dateinput.k-widget{background-color:transparent}.k-dateinput ::-ms-clear{display:none;width:0;height:0}.k-dateinput .k-i-warning{display:none;position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);overflow:visible}.k-dateinput.k-state-invalid .k-i-warning{display:inline-block}.k-datepicker .k-picker-wrap .k-i-warning,.k-datetimepicker .k-picker-wrap .k-i-warning,.k-timepicker .k-picker-wrap .k-i-warning{display:none;position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);overflow:visible}.k-datepicker .k-picker-wrap.k-state-invalid .k-i-warning,.k-datetimepicker .k-picker-wrap.k-state-invalid .k-i-warning,.k-timepicker .k-picker-wrap.k-state-invalid .k-i-warning{display:inline-block}.k-listbox{-webkit-box-sizing:border-box;box-sizing:border-box;height:200px}.k-listbox.k-widget{background-color:transparent}.k-listbox .k-list-scroller{height:100%;overflow:auto;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;box-sizing:border-box}.k-listbox .k-list-scroller li{cursor:default;-moz-user-select:none;-ms-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.k-listbox .k-listbox-toolbar{-webkit-box-sizing:border-box;box-sizing:border-box}.k-listbox.k-listbox-toolbar-top{padding:15px 0 1.42857143em}.k-listbox.k-listbox-toolbar-top .k-listbox-toolbar{margin-top:-15px;margin-bottom:5px}.k-listbox.k-listbox-toolbar-top .k-listbox-toolbar li{display:inline-block}.k-listbox.k-listbox-toolbar-top .k-listbox-toolbar li+li{margin-left:5px}.k-listbox.k-listbox-toolbar-left .k-listbox-toolbar{float:left;margin-right:5px}.k-listbox.k-listbox-toolbar-left .k-listbox-toolbar li+li{margin-top:5px}.k-listbox.k-listbox-toolbar-right .k-listbox-toolbar{float:right;margin-left:5px}.k-listbox.k-listbox-toolbar-right .k-listbox-toolbar li:not(:last-child){margin-bottom:5px}.k-listbox.k-listbox-toolbar-bottom{padding:15px 0 1.45em}.k-listbox.k-listbox-toolbar-bottom .k-list-scroller{margin-top:-15px}.k-listbox.k-listbox-toolbar-bottom .k-listbox-toolbar{margin-top:5px}.k-listbox.k-listbox-toolbar-bottom .k-listbox-toolbar li{display:inline-block}.k-listbox.k-listbox-toolbar-bottom .k-listbox-toolbar li+li{margin-left:5px}.k-listbox .k-ghost{opacity:.5}.k-rtl .k-combobox-clearable .k-input,.k-rtl .k-dropdown-wrap,.k-rtl .k-numeric-wrap,.k-rtl .k-picker-wrap{padding-right:0;padding-left:2.42142857em}.k-colorpicker .k-picker-wrap{line-height:2.42857143em}.k-colorpicker .k-selected-color{vertical-align:top;display:inline-block;height:2.42142857em;width:2.42142857em}.k-colorpicker .k-selected-color .k-i-line{font-size:2em;color:#ff525e;display:inline-block;-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1);-webkit-filter:FlipH;filter:FlipH;-ms-filter:FlipH}.k-colorpicker .k-selected-color .k-i-line:before{content:\\\"\\\\E510\\\"}.k-colorpicker .k-tool-icon{position:relative;top:-2px;display:inline-block;padding:3px 3px 2px;margin-right:3px;margin-left:2px;margin-bottom:3px;background-repeat:no-repeat;vertical-align:middle;width:16px;height:16px;-ms-high-contrast-adjust:none}.k-colorpicker .k-tool-icon .k-selected-color{display:block;height:3px;width:16px;position:absolute;left:3px;bottom:-3px;border-radius:0!important}.k-colorpicker .k-select{cursor:pointer}.k-colorpicker .k-picker-wrap .k-icon{overflow:visible}.k-flatcolorpicker{position:relative;display:inline-block;width:265px;padding-bottom:5px;background-color:transparent;background-image:none}.k-flatcolorpicker .k-selected-color{background-image:url(\" + escape(require(\"./textures/transtexture.png\")) + \");background-position:50% 50%;text-align:right}.k-flatcolorpicker .k-selected-color input.k-color-value{font-family:Consolas,\\\"Ubuntu Mono\\\",\\\"Lucida Console\\\",\\\"Courier New\\\",monospace;padding:.75em .1em .65em .65em;border:0;margin:0;width:82%}.k-flatcolorpicker .k-selected-color .k-color-input{background-color:#fff;display:inline-block;width:84%;text-align:left}.k-flatcolorpicker .k-selected-color .k-clear-color{padding:.4em;line-height:0}.k-flatcolorpicker .k-selected-color .k-clear-color .k-i-reset-color:before{color:#000;opacity:.8}.k-flatcolorpicker .k-selected-color .k-clear-color .k-i-reset-color:active,.k-flatcolorpicker .k-selected-color .k-clear-color .k-i-reset-color:hover{opacity:1}.k-flatcolorpicker .k-clear-color-container .k-clear-color.k-state-focused:active{color:inherit}.k-flatcolorpicker .k-clear-color-container .k-clear-color:active{color:#000;opacity:1}.k-flatcolorpicker .k-clear-color-container .k-clear-color .k-i-reset-color,.k-flatcolorpicker .k-selected-color .k-clear-color .k-i-reset-color{background-image:none}.k-flatcolorpicker .k-clear-color-container{text-align:left}.k-flatcolorpicker .k-hsv-rectangle{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pinch-zoom double-tap-zoom}.k-flatcolorpicker .k-hsv-rectangle .k-draghandle{cursor:pointer;position:absolute;z-index:10;left:50%;top:50%;width:8px;height:8px;border:1px solid #eee;margin-left:-5px;margin-top:-5px;border-radius:6px;-webkit-box-shadow:0 1px 2px #444;box-shadow:0 1px 2px #444;background:0 0}.k-flatcolorpicker .k-hsv-rectangle .k-draghandle:focus,.k-flatcolorpicker .k-hsv-rectangle .k-draghandle:hover{background:0 0;border-color:#fff;-webkit-box-shadow:0 1px 5px #000;box-shadow:0 1px 5px #000}.k-flatcolorpicker .k-hsv-rectangle.k-dragging,.k-flatcolorpicker .k-hsv-rectangle.k-dragging *{cursor:none}.k-flatcolorpicker .k-slider-horizontal{height:20px;width:90%;margin:0 5%}.k-flatcolorpicker .k-slider-horizontal .k-slider-track{-webkit-box-shadow:0 1px 0 #fff,0 -1px 0 #999;box-shadow:0 1px 0 #fff,0 -1px 0 #999}.k-flatcolorpicker .k-hue-slider,.k-flatcolorpicker .k-transparency-slider{display:block}.k-flatcolorpicker .k-hue-slider .k-slider-selection,.k-flatcolorpicker .k-transparency-slider .k-slider-selection{background:0 0}.k-flatcolorpicker .k-hue-slider .k-draghandle,.k-flatcolorpicker .k-transparency-slider .k-draghandle{background:0 0;border:3px solid #eee;margin-top:1px;height:8px;width:8px;-webkit-box-shadow:0 1px 4px #444;box-shadow:0 1px 4px #444}.k-flatcolorpicker .k-hue-slider .k-draghandle:focus,.k-flatcolorpicker .k-hue-slider .k-draghandle:hover,.k-flatcolorpicker .k-transparency-slider .k-draghandle:focus,.k-flatcolorpicker .k-transparency-slider .k-draghandle:hover{background:0 0;border-color:#fff;-webkit-box-shadow:0 1px 5px #000;box-shadow:0 1px 5px #000;border-width:2px;padding:1px}.k-flatcolorpicker .k-hue-slider .k-slider-track{background:-webkit-gradient(linear,left top,right top,from(red),color-stop(16%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(84%,#f0f),to(#ff0004));background:-webkit-linear-gradient(left,red 0,#ff0 16%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 84%,#ff0004 100%);background:linear-gradient(to right,red 0,#ff0 16%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 84%,#ff0004 100%)}.k-flatcolorpicker .k-transparency-slider .k-slider-track{background-image:url(\" + escape(require(\"./textures/transparency.png\")) + \");-webkit-background-size:100% auto;background-size:100% auto;background-position:100% 50%;background-repeat:no-repeat}.k-flatcolorpicker .k-controls{margin-top:10px;margin-bottom:5px;text-align:center;font-size:90%}.k-flatcolorpicker .k-controls .k-button{width:6em}.k-flatcolorpicker .k-hsv-gradient{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#000)),-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:-webkit-linear-gradient(top,rgba(0,0,0,0) 0,#000 100%),-webkit-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 100%),linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%);height:180px;margin-bottom:5px}.k-ie9 .k-flatcolorpicker .k-hue-slider .k-slider-track{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmMDAwMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjE2JSIgc3RvcC1jb2xvcj0iI2ZmZmYwMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjMzJSIgc3RvcC1jb2xvcj0iIzAwZmYwMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjY3JSIgc3RvcC1jb2xvcj0iIzAwMDBmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9Ijg0JSIgc3RvcC1jb2xvcj0iI2ZmMDBmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZjAwMDQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+)}.k-ie9 .k-flatcolorpicker .k-hsv-gradient{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+)}.k-colorpalette{position:relative;line-height:0;border-width:0;display:inline-block}.k-colorpalette .k-palette{border-collapse:collapse;position:relative;width:100%;height:100%}.k-colorpalette .k-item{width:14px;height:14px;overflow:hidden;-ms-high-contrast-adjust:none}.k-colorpalette .k-item.k-state-selected,.k-colorpalette .k-item.k-state-selected:hover{z-index:100;background:0 0;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.45);box-shadow:0 1px 3px 1px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.45);position:relative}.k-colorpalette .k-item:hover{z-index:101;position:relative;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.3);box-shadow:0 1px 3px 1px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.3)}table.k-editor{width:100%;height:250px;table-layout:fixed;border-style:solid;border-width:1px;border-collapse:separate;border-spacing:4px;font-size:100%;vertical-align:top;position:relative}.k-editor-inline{padding:.3em .5em;word-wrap:break-word;overflow:auto;position:relative;-webkit-transition:border-color .5s;transition:border-color .5s}.k-editor-inline.k-editor{border:1px solid transparent}.k-editortoolbar-dragHandle{cursor:move;padding-left:0;padding-right:3px;-webkit-box-shadow:none!important;box-shadow:none!important}.k-editor-widget>.k-window-content{overflow:hidden}.k-editor .k-editor-toolbar-wrap{border:0;padding:0}.k-editor-toolbar{margin:0;padding:.1em 0;list-style-type:none;line-height:1.3em;cursor:default;word-wrap:break-word}.k-editor-toolbar li{display:inline-block;vertical-align:middle}.k-edge .k-editor-toolbar,.k-ff .k-editor-toolbar,.k-ie9 .k-editor-toolbar,.k-webkit .k-editor-toolbar{padding:0}.k-editor-toolbar li{display:inline-block;padding:.1em 0}.k-editor-toolbar .k-editor-widget,.k-editor-toolbar>li{margin-right:6px}.k-group-start.k-group-end .k-editor-widget{margin-right:0}.k-editor-toolbar .k-editor-dropdown{position:relative}.k-select-overlay{-webkit-appearance:none;opacity:0;z-index:11000;top:0;left:0;position:absolute;height:26px;width:100%;margin:-4px 0 0}.k-editor-toolbar .k-separator{position:relative;top:1px;border-style:solid;border-width:0 1px 0 0;margin:0 .3em 0 .1em;padding:0 0 0 1px;font-size:1.3em}.k-editor-toolbar .k-break{display:block;height:1px;font-size:0;line-height:0}.k-editor-toolbar .k-colorpicker,.k-editor-toolbar .k-combobox,.k-editor-toolbar .k-dropdown,.k-editor-toolbar .k-selectbox{vertical-align:middle}.k-button-group .k-tool{display:inline-block;vertical-align:middle;margin:1px 0;width:36px;height:36px;line-height:36px}.k-button-group .k-tool-icon{width:24px;height:24px;vertical-align:middle;-ms-high-contrast-adjust:none}.k-editor-toolbar .k-tool-icon.k-icon{top:auto;font-size:16px}.k-fontName{width:110px}.k-fontSize{width:124px}.k-formatBlock{width:147px}.k-editortoolbar-dragHandle{float:left;margin:1px 0 0}.k-editor-toolbar .k-button-group{padding:1px}.k-editor .k-editor-toolbar .k-row-break{display:block;height:0;font-size:0;line-height:0}.k-editor-toolbar .k-i-login{-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.k-button-group .k-tool{border-style:solid;border-width:1px;margin-right:-1px}.k-button-group .k-tool.k-state-hover,.k-button-group .k-tool:focus{position:relative;z-index:1}.k-rtl .k-button-group .k-tool{border-style:solid;border-width:1px}.k-button-group .k-tool.k-group-end{border-right-width:1px}.k-rtl .k-button-group .k-tool.k-group-end{border-left-width:1px}.k-editor-toolbar .k-button-group .k-state-disabled,.k-editor-toolbar .k-button-group.k-state-disabled{display:none!important}.k-editor-toolbar .k-button-group .k-state-active,.k-editor-toolbar .k-button-group .k-state-hover{vertical-align:middle}.k-editor-toolbar .k-button-group .k-state-disabled{filter:alpha(opacity=30);opacity:.3}.k-editor .k-editable-area{width:100%;height:100%;outline:0}.k-editor.k-resizable .k-editable-area{padding-bottom:16px}.k-editor .k-content{display:block;width:100%;height:100%;border-width:0;margin:0;padding:0;background:#fff}.k-editor .k-editable-area .k-content{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid}a.k-tool{color:inherit;outline:0}.k-editor iframe.k-content{display:inline;vertical-align:top}.k-editor .k-raw-content{border:0;margin:0;padding:0}.k-editor .k-raw-content,.k-editor-dialog .k-editor-textarea{font-size:inherit;font-family:consolas,\\\"courier new\\\",monospace}.k-editor-dialog{padding:1em;width:400px}.k-editor-dialog .k-edit-label{width:25%}.k-editor-dialog .k-edit-field{width:66%}.k-editor-dialog .k-edit-field .k-textbox{width:96%}.k-viewhtml-dialog{width:auto}.k-filebrowser-dialog{width:auto;min-width:350px}.k-filebrowser-dialog .k-filebrowser{margin:0 1em 0}.k-filebrowser-dialog .k-edit-label{width:18%}.k-filebrowser-dialog .k-edit-field{width:75%}.k-filebrowser-dialog .k-edit-field .k-textbox{width:70%}#k-editor-image-height,#k-editor-image-width{width:5em}.k-editor-dialog .k-button{display:inline-block}.k-editor-dialog .k-editor-textarea{width:600px;height:350px;padding:.2em .2em .2em .4em;border-width:1px;border-style:solid;overflow:auto}.k-button-wrapper .k-link:hover{text-decoration:underline}.k-ct-popup{width:180.4px;padding:.65em .5em .5em}.k-ct-popup .k-status{margin:.3em 0}.k-ct-cell{border-width:1px;border-style:solid;width:18px;height:18px;margin:1px;vertical-align:top;display:inline-block;overflow:hidden;-ms-high-contrast-adjust:none}.k-editor .k-resize-handle{position:absolute;padding:2px 0;right:0;bottom:0;cursor:se-resize}.k-editor .k-overlay{position:absolute;background-color:#fff;opacity:0}.k-editor .k-toolbar-resizable{min-height:2.4375em;position:relative}.k-overflow-tools{position:absolute;right:0;top:0}.k-editor-overflow-popup .k-tool{width:auto;height:auto;display:block;text-align:left;text-decoration:initial;border:0;padding-right:.5em;margin:0;padding:0 6px}.k-editor-overflow-popup .k-tool.k-state-disabled{display:none}.k-editor-toolbar .k-tool-text{display:none}.k-editor-inline .k-table-resize-handle-wrapper{position:absolute;width:5px;height:5px;background-color:#fff;border:1px solid #000;z-index:100}.k-editor-inline .k-table-resize-handle-wrapper .k-table-resize-handle{width:100%;height:100%}.k-editor-inline .k-table-resize-handle-wrapper .k-table-resize-handle.k-resize-east{cursor:e-resize}.k-editor-inline .k-table-resize-handle-wrapper .k-table-resize-handle.k-resize-north{cursor:n-resize}.k-editor-inline .k-table-resize-handle-wrapper .k-table-resize-handle.k-resize-northeast{cursor:ne-resize}.k-editor-inline .k-table-resize-handle-wrapper .k-table-resize-handle.k-resize-northwest{cursor:nw-resize}.k-editor-inline .k-table-resize-handle-wrapper .k-table-resize-handle.k-resize-south{cursor:s-resize}.k-editor-inline .k-table-resize-handle-wrapper .k-table-resize-handle.k-resize-southeast{cursor:se-resize}.k-editor-inline .k-table-resize-handle-wrapper .k-table-resize-handle.k-resize-southwest{cursor:sw-resize}.k-editor-inline .k-table-resize-handle-wrapper .k-table-resize-handle.k-resize-west{cursor:w-resize}.k-editor-inline .k-column-resize-handle-wrapper{position:absolute;height:10px;width:10px;cursor:col-resize;z-index:2}.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle{width:100%;height:100%}.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker{width:2px;height:100%;margin:0 auto;background-color:#00b0ff;display:none;opacity:.8}.k-editor-inline .k-table{width:100%;border-spacing:0;margin:0 0 1em}.k-editor-inline .k-table,.k-editor-inline .k-table td{outline:0;border:1px dotted #ccc}.k-editor-inline .k-table td{min-width:1px;padding:.2em .3em}.k-table.k-table-resizing{opacity:.6}.k-editor-inline .k-row-resize-handle-wrapper{position:absolute;z-index:2;cursor:row-resize;width:10px;height:10px}.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-handle{display:table;width:100%;height:100%}.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker-wrapper{display:table-cell;width:100%;height:100%;margin:0;padding:0;vertical-align:middle}.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker{display:none;margin:0;padding:0;width:100%;height:2px;background-color:#00b0ff;opacity:.8}.k-editor-dialog.k-viewhtml-dialog .k-edit-buttons{clear:both;text-align:right;border-width:1px 0 0;border-style:solid;position:relative;bottom:-1em;padding:.6em}.k-editor-dialog.k-viewhtml-dialog .k-edit-buttons .k-button{margin-right:.5em}.k-editor-dialog.k-editor-table-wizard-dialog.k-window-content{overflow:hidden;min-width:325px;width:24em;padding:1em 0}.k-editor-dialog .k-edit-form-container{width:auto}.k-editor-dialog .k-tabstrip{margin:-1.333em 0 0}.k-editor-dialog .k-root-tabs{margin:-1em -1em -1.5em;padding:.5em 1em 0;border-width:0}.k-editor-dialog ul.k-tabstrip-items{padding:.5em 1em 0;border-width:0 0 1px;border-style:solid}.k-editor-dialog ul.k-tabstrip-items .k-loading{border-top-width:0}.k-editor-dialog .k-tabstrip:focus{-webkit-box-shadow:none;box-shadow:none}.k-editor-dialog.k-editor-table-wizard-dialog .k-tabstrip-wrapper .k-content{overflow:hidden;min-height:440px;height:35em;margin:0;padding:1em .5em 0;border-width:0}.k-editor-dialog .k-edit-field .k-numerictextbox{width:10.6em;margin:0 .35714285em 0 0}.k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-numerictextbox+.k-dropdown{width:4em}.k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-dropdown,.k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox{width:15em}.k-editor-table-wizard-dialog .k-numerictextbox+.k-dropdown{width:5.35714285em}.k-editor-dialog textarea.k-textbox{height:14.28571428em}.k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown.k-align{width:4em}.k-popup.k-list-container.k-align{padding:0;text-align:center}.k-align-group{vertical-align:text-top}.k-popup.k-align .k-list .k-item{display:inline-block;width:2.57142857em;height:2.57142857em;margin:0;padding:0;border:0;border-radius:0}.k-popup.k-align .k-list .k-icon{vertical-align:bottom;vertical-align:-webkit-baseline-middle}.k-popup.k-align .k-list .k-item:last-child{width:auto;display:block;border-width:1px 0 0;border-style:solid}.k-popup.k-align .k-list .k-item:before{width:2.57142857em;height:2.57142857em;line-height:2.57142857em}.k-animation-container .k-editor-toolbar{text-align:center;line-height:1.3em}.k-animation-container .k-editor-toolbar .k-tool{display:inline-block;height:24px;padding:0 .5em;text-decoration:none;font-size:.85em;color:inherit}.k-animation-container .k-editor-toolbar .k-i-table-wizard-insert{width:24px;height:24px}.k-animation-container .k-editor-toolbar .k-tool-text{display:inline;vertical-align:sub;padding:0 0 0 .5em}.k-editor-dialog.k-editor-table-wizard-dialog .k-edit-buttons{padding:1em .8em;margin:.5em 0 0}.k-notification-wrap{padding:.6em .5em;cursor:default;position:relative;white-space:nowrap}.k-notification-button .k-notification-wrap{padding-right:20px}.k-notification-wrap>.k-i-information,.k-notification-wrap>.k-i-warning{vertical-align:text-bottom;margin-right:4px}.k-notification-wrap>.k-i-close{position:absolute;top:7px;right:4px;display:none}.k-notification-button .k-notification-wrap>.k-i-close{display:block}.k-progressbar{display:inline-block;position:relative;vertical-align:middle}.k-progressbar{border-radius:4px}.k-progressbar-horizontal{width:27em;height:1.9em}.k-progressbar-vertical{width:1.9em;height:27em}.k-progressbar>.k-state-selected{position:absolute;border-style:solid;border-width:1px;overflow:hidden}.k-progressbar-horizontal>.k-state-selected,.k-rtl .k-progressbar-horizontal.k-progressbar-reverse>.k-state-selected{left:-1px;right:auto;top:-1px;height:100%;border-radius:4px 0 0 4px}.k-progressbar-horizontal.k-progressbar-reverse>.k-state-selected,.k-rtl .k-progressbar-horizontal>.k-state-selected{left:auto;right:-1px;border-radius:0 4px 4px 0}.k-progressbar-vertical>.k-state-selected{left:-1px;bottom:-1px;width:100%;border-radius:0 0 4px 4px}.k-progressbar-vertical.k-progressbar-reverse>.k-state-selected{bottom:auto;top:-1px;border-radius:4px 4px 0 0}.k-progressbar>.k-state-selected.k-complete,.k-rtl .k-progressbar>.k-state-selected.k-complete{border-radius:4px}.k-progressbar>.k-reset{list-style:none;margin:0;padding:0;position:absolute;left:-1px;top:-1px;width:100%;height:100%;border-radius:4px;white-space:nowrap}.k-progressbar-horizontal .k-item{display:inline-block;height:100%;border-style:solid;margin-left:-1px}.k-progressbar-horizontal .k-item.k-first{margin-left:0}.k-progressbar-horizontal .k-item.k-last{border-right-width:0}.k-progressbar-horizontal .k-item,.k-rtl .k-progressbar-horizontal.k-progressbar-reverse .k-item{border-width:1px 0 1px 1px}.k-progressbar-horizontal.k-progressbar-reverse .k-item,.k-rtl .k-progressbar-horizontal .k-item{border-width:1px 0 1px 1px}.k-progressbar-horizontal .k-first,.k-rtl .k-progressbar-horizontal .k-last,.k-rtl .k-progressbar-horizontal.k-progressbar-reverse .k-last{border-top-left-radius:4px;border-bottom-left-radius:4px;border-left-width:1px}.k-progressbar-horizontal .k-last,.k-rtl .k-progressbar-horizontal .k-first{border-top-right-radius:4px;border-bottom-right-radius:4px}.k-progressbar-horizontal.k-progressbar-reverse .k-last,.k-rtl .k-progressbar-horizontal .k-first{border-right-width:1px}.k-progressbar-horizontal .k-last.k-state-selected{border-right-width:1px}.k-progressbar-vertical .k-item{width:100%;border-style:solid;border-width:1px 1px 0 1px;margin-top:-1px}.k-progressbar-vertical .k-item.k-first{margin-top:0}.k-progressbar-vertical li.k-item.k-last{border-bottom-width:0}.k-progressbar-vertical .k-first{border-top-left-radius:4px;border-top-right-radius:4px}.k-progressbar-vertical .k-last{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom-width:1px}.k-progressbar-vertical.k-progressbar-reverse .k-item{border-width:0 1px 1px 1px}.k-progressbar-vertical.k-progressbar-reverse .k-first{border-top-width:1px}.k-progress-status-wrap{position:absolute;top:-1px;border:1px solid transparent;line-height:2em;width:100%;height:100%}.k-progress-status-wrap,.k-rtl .k-progressbar-horizontal.k-progressbar-reverse .k-progress-status-wrap{left:-1px;right:auto;text-align:right}.k-progressbar-horizontal.k-progressbar-reverse .k-progress-status-wrap,.k-rtl .k-progressbar-horizontal .k-progress-status-wrap{left:auto;right:-1px;text-align:left}.k-progressbar-vertical .k-progress-status-wrap{top:auto;bottom:-1px}.k-progressbar-vertical.k-progressbar-reverse .k-progress-status-wrap{bottom:auto;top:-1px}.k-progress-status{display:inline-block;padding:0 .5em;min-width:10px;white-space:nowrap}.k-progressbar-vertical.k-progressbar-reverse .k-progress-status{position:absolute;bottom:0;left:0}.k-progressbar-vertical .k-progress-status{-webkit-transform:rotate(-90deg) translateX(-100%);-ms-transform:rotate(-90deg) translateX(-100%);transform:rotate(-90deg) translateX(-100%);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.k-progressbar-vertical.k-progressbar-reverse .k-progress-status{-webkit-transform:rotate(90deg) translateX(-100%);-ms-transform:rotate(90deg) translateX(-100%);transform:rotate(90deg) translateX(-100%);-webkit-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%}div.k-slider{position:relative;border-width:0;background-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.k-slider-vertical{width:26px;height:200px}.k-slider-horizontal{display:inline-block;width:200px;height:26px}.k-slider-wrap{width:100%;height:100%}.k-grid .k-slider .k-button,.k-slider .k-button{position:absolute;top:0;width:24px;min-width:0;height:24px;margin:0;padding:0;outline:0}.k-state-disabled .k-slider-wrap{filter:alpha(opacity=60);opacity:.6}.k-state-disabled .k-slider-wrap .k-slider-items{color:#333}.k-slider .k-button-decrease{left:0}.k-grid .k-slider-vertical .k-button-decrease,.k-slider-vertical .k-button-decrease{top:auto;bottom:0}.k-slider .k-button-increase{right:0}.k-slider .k-icon,.k-slider .k-tick,.k-slider-track{cursor:pointer}.k-slider-selection,.k-slider-track{position:absolute;margin:0;padding:0}.k-slider-horizontal .k-slider-selection,.k-slider-horizontal .k-slider-track{top:50%;left:0;height:8px;margin-top:-4px;background-repeat:repeat-x}.k-slider-horizontal .k-slider-buttons .k-slider-track{left:34px}.k-slider-vertical .k-slider-selection,.k-slider-vertical .k-slider-track{left:50%;bottom:0;width:8px;margin-left:-4px;background-repeat:repeat-y}.k-slider-vertical .k-slider-buttons .k-slider-track{bottom:34px}.k-draghandle{position:absolute;background-repeat:no-repeat;background-color:transparent;text-indent:-3333px;overflow:hidden;text-decoration:none;text-align:center;outline:0}.k-slider-horizontal .k-draghandle{top:-4px;width:13px;height:14px}.k-slider-vertical .k-draghandle{left:-4px;width:14px;height:13px}.k-slider-buttons .k-slider-items{margin-left:34px}.k-slider-horizontal .k-slider-items{height:100%}.k-slider-vertical .k-slider-items{padding-top:1px}.k-slider-vertical .k-slider-buttons .k-slider-items{padding-top:0}.k-slider-vertical .k-slider-buttons .k-slider-items{margin:0;padding-top:35px}.k-slider .k-tick{position:relative;margin:0;padding:0;background-color:transparent;background-repeat:no-repeat;background-position:center center}.k-slider-horizontal .k-tick{float:left;height:100%;text-align:center}.k-slider-horizontal .k-tick{background-position:center -92px}.k-slider-horizontal .k-slider-topleft .k-tick{background-position:center -122px}.k-slider-horizontal .k-slider-bottomright .k-tick{background-position:center -152px}.k-slider-horizontal .k-tick-large{background-position:center -2px}.k-slider-horizontal .k-slider-topleft .k-tick-large{background-position:center -32px}.k-slider-horizontal .k-slider-bottomright .k-tick-large{background-position:center -62px}.k-slider-vertical .k-tick{background-position:-92px center}.k-slider-vertical .k-slider-topleft .k-tick{background-position:-122px center}.k-slider-vertical .k-slider-bottomright .k-tick{background-position:-152px center}.k-slider-vertical .k-tick-large{background-position:-2px center}.k-slider-vertical .k-slider-topleft .k-tick-large{background-position:-32px center}.k-slider-vertical .k-slider-bottomright .k-tick-large{background-position:-62px center}.k-slider-horizontal .k-first{background-position:0 -92px}.k-slider-horizontal .k-tick-large.k-first{background-position:0 -2px}.k-slider-horizontal .k-slider-topleft .k-first{background-position:0 -122px}.k-slider-horizontal .k-slider-topleft .k-tick-large.k-first{background-position:0 -32px}.k-slider-horizontal .k-slider-bottomright .k-first{background-position:0 -152px}.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-first{background-position:0 -62px}.k-slider-horizontal .k-last{background-position:100% -92px}.k-slider-horizontal .k-tick-large.k-last{background-position:100% -2px}.k-slider-horizontal .k-slider-topleft .k-last{background-position:100% -122px}.k-slider-horizontal .k-slider-topleft .k-tick-large.k-last{background-position:100% -32px}.k-slider-horizontal .k-slider-bottomright .k-last{background-position:100% -152px}.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-last{background-position:100% -62px}.k-slider-vertical .k-first{background-position:-92px 100%}.k-slider-vertical .k-tick-large.k-first{background-position:-2px 100%}.k-slider-vertical .k-slider-topleft .k-first{background-position:-122px 100%}.k-slider-vertical .k-slider-topleft .k-tick-large.k-first{background-position:-32px 100%}.k-slider-vertical .k-slider-bottomright .k-first{background-position:-152px 100%}.k-slider-vertical .k-slider-bottomright .k-tick-large.k-first{background-position:-62px 100%}.k-slider-vertical .k-last{background-position:-92px 0}.k-slider-vertical .k-tick-large.k-last{background-position:-2px 0}.k-slider-vertical .k-slider-topleft .k-last{background-position:-122px 0}.k-slider-vertical .k-slider-topleft .k-tick-large.k-last{background-position:-32px 0}.k-slider-vertical .k-slider-bottomright .k-last{background-position:-152px 0}.k-slider-vertical .k-slider-bottomright .k-tick-large.k-last{background-position:-62px 0}.k-slider-vertical .k-tick{text-align:right}.k-slider-vertical .k-slider-topleft .k-tick{text-align:left}.k-slider .k-label{position:absolute;white-space:nowrap;font-size:.92em}.k-slider-horizontal .k-label{left:0;width:100%;line-height:1}.k-slider-horizontal .k-first .k-label{left:-50%}.k-slider-horizontal .k-last .k-label{left:auto;right:-50%}.k-slider-horizontal .k-label{bottom:-1.2em}.k-slider-horizontal .k-slider-topleft .k-label{top:-1.2em}.k-slider-vertical .k-label{left:120%;display:block;text-align:left}.k-slider-vertical .k-last .k-label{top:-.5em}.k-slider-vertical .k-first .k-label{bottom:-.5em}.k-slider-vertical .k-slider-topleft .k-label{left:auto;right:120%}.k-slider-tooltip{top:-4444px}.k-scheduler-footer,.k-scheduler-toolbar{border-style:solid}.k-scheduler-footer,.k-scheduler-toolbar{line-height:28px;padding:6px}.k-scheduler-toolbar{position:relative;border-width:0 0 1px}.k-edit-field.k-scheduler-toolbar{border-width:0;padding-top:0;padding-left:0;padding-right:0}.k-scheduler-header{text-align:center}.k-scheduler-footer{border-width:1px 0 0}.k-scheduler-toolbar>ul{float:right}.k-scheduler-toolbar>ul:first-child{float:left}.k-scheduler-toolbar>.k-scheduler-tools{float:left;margin-bottom:.5em}.k-scheduler-tools+.k-scheduler-navigation{float:left;clear:left}.k-scheduler-footer>ul>li,.k-scheduler-toolbar>ul>li{display:inline-block;border-style:solid;border-width:1px 1px 1px 0}.k-scheduler .k-scheduler-toolbar .k-nav-current,.k-scheduler .k-scheduler-toolbar .k-scheduler-tools>li{border-width:0}.k-scheduler-toolbar>ul.k-scheduler-views>li:first-child+li,.k-scheduler-toolbar>ul>li:first-child{border-left-width:1px}.k-scheduler div.k-scheduler-footer ul li{margin-right:.6em;border-width:1px}.k-scheduler-footer .k-link,.k-scheduler-toolbar .k-link{display:inline-block;padding:0 1.1em}.k-scheduler-toolbar .k-nav-next .k-link,.k-scheduler-toolbar .k-nav-prev .k-link{padding-left:.6em;padding-right:.6em}.k-scheduler-toolbar .k-nav-current .k-link{padding:0}.k-scheduler-toolbar .k-nav-current{margin:0 1.1em}.k-scheduler .k-nav-current>.k-state-active,.k-scheduler div.k-scheduler-toolbar>ul>li.k-nav-current{background:0 0}.k-scheduler-phone .k-scheduler-toolbar+.k-scheduler-toolbar .k-scheduler-navigation{width:100%;text-align:center}.k-scheduler-phone .k-scheduler-toolbar+.k-scheduler-toolbar .k-scheduler-navigation>li{background:0 0;border:0}.k-scheduler-phone .k-toolbar .k-nav-next{float:right}.k-scheduler-phone .k-toolbar .k-nav-prev{float:left}.k-scheduler-footer .k-icon,.k-scheduler-toolbar .k-i-calendar{margin:-2px 6px 0 0}.k-scheduler-header,.k-scheduler-header-wrap{overflow:hidden}.k-scheduler-header-wrap{position:relative;border-style:solid;border-width:0}.k-scheduler .k-scrollbar-v .k-scheduler-header-wrap{border-right-width:1px}.k-scheduler-content,.k-scheduler-times{position:relative}.k-scheduler-times{overflow:hidden;border-style:solid;border-width:0}.k-scheduler-content{overflow:auto}.k-scheduler-layout,.k-scheduler-table{border-spacing:0;width:100%;margin:0;border-collapse:separate}.k-scheduler-layout>tbody>tr>td{padding:0;vertical-align:top}.k-safari .k-scheduler-layout>tbody>tr>td+td{width:100%}.k-scheduler-table{table-layout:fixed;max-width:none}.k-scheduler-times .k-scheduler-table{table-layout:auto}.k-scheduler-monthview .k-scheduler-content .k-scheduler-table{height:100%}.k-scheduler-table td,.k-scheduler-table th{height:1.5em;padding:.334em .5em;font-size:100%}.k-scheduler .k-scheduler-table td,.k-scheduler .k-scheduler-table th{-webkit-box-sizing:content-box;box-sizing:content-box}.k-scheduler-dayview div:not(.k-scheduler-header) .k-today:not(.k-nonwork-hour),.k-scheduler-timelineview .k-today:not(.k-nonwork-hour){background-color:transparent}.k-scheduler-monthview .k-hidden,.k-scheduler-monthview .k-hidden>div{width:0!important;overflow:hidden!important}.k-scheduler-monthview .k-hidden{padding-left:0!important;padding-right:0!important;border-right-width:0!important}.k-scheduler-monthview>tbody>tr:first-child .k-scheduler-times{margin-right:1px}.k-scheduler-monthview>tbody>tr:first-child .k-scheduler-times .k-hidden{height:auto}.k-scheduler-monthview .k-hidden,.k-scheduler-monthview .k-scheduler-table td{height:80px;text-align:right}.k-scheduler-phone .k-scheduler-monthview .k-hidden,.k-scheduler-phone .k-scheduler-monthview .k-scheduler-table td{height:40px}.k-scheduler-table td,.k-slot-cell{vertical-align:top}.k-scheduler-layout tr+tr .k-scheduler-times th:last-child{vertical-align:top}.k-scheduler-phone .k-scheduler-monthview .k-scheduler-table td{text-align:center;vertical-align:middle}.k-scheduler-phone .k-scheduler-monthview .k-scheduler-table td span{font-size:1.5em}.k-scheduler-header th{overflow:hidden;text-overflow:ellipsis}.k-scheduler-header th,.k-scheduler-table td{border-style:solid;border-width:0 0 1px 1px}.k-scheduler-header th:first-child,.k-scheduler-table td:first-child{border-left-width:0}.k-scheduler-agendaview .k-scheduler-table td:first-child{border-left-width:1px}.k-scheduler-agendaview .k-scheduler-table td.k-first{border-left-width:0}.k-scheduler-layout tr+tr .k-scheduler-table>tbody>tr:last-child>td,.k-scheduler-layout tr+tr .k-scheduler-times tr:last-child>th,.k-scheduler-table>tbody>tr>.k-last{border-bottom-width:0}.k-scheduler-agendaview.k-scrollbar-h .k-scheduler-table>tbody>tr>td.k-last,.k-scrollbar-h .k-scheduler-content .k-scheduler-table>tbody>tr:last-child>td,.k-scrollbar-h tr+tr .k-scheduler-times{border-bottom-width:1px}.k-scheduler-times th{text-align:right;padding-right:.6em;border-style:solid;border-width:0 1px 1px 0;border-color:transparent;white-space:nowrap}.k-scheduler-layout tr+tr .k-scheduler-times th{border-bottom-color:transparent}.k-scheduler-layout tr+tr .k-scheduler-times th.k-scheduler-times-all-day,.k-scheduler-layout tr+tr .k-scheduler-times th.k-slot-cell{border-bottom-color:inherit}.k-scheduler .k-middle-row td{border-bottom-style:dotted}.k-scheduler-now-arrow,.k-scheduler-now-line{position:absolute}.k-scheduler-now-arrow{width:0;height:0;border:solid 5px transparent;left:0}.k-scheduler-now-line{left:5px;right:0;height:1px}.k-task{position:relative}div.k-more-events{text-align:center;font-size:18px;line-height:1.2;padding:0}.k-more-events>span{display:block;margin-top:-.6em}.k-event,.k-more-events{position:absolute;border-style:solid;border-width:1px;text-align:left;overflow:hidden}.k-event{cursor:default;min-height:1.3em}.k-event-drag-hint{filter:alpha(opacity=60);opacity:.6;cursor:-webkit-grabbing;cursor:-moz-grabbing}.k-scheduler-header .k-event{white-space:nowrap}.k-event-template{padding:.3em 1.4em .3em .6em}.k-event-time{display:none;padding-bottom:0;font-size:.9em}.k-event-drag-hint .k-event-time{display:block}.k-event-actions,.k-event>.k-link,.k-task>.k-link{position:absolute;top:3px;right:4px;white-space:nowrap}.k-event-actions{z-index:1}.k-scheduler-agendaview .k-task>.k-link{top:0;right:0}.k-event-actions:first-child{position:static;float:left;margin:4px 2px 0 4px}.k-webkit .k-event-actions:first-child{margin-top:3px}.k-event-actions:first-child>.k-link{display:inline-block}.k-event-delete{display:none}.k-event:hover .k-event-delete,tr:hover>td>.k-task .k-event-delete{display:inline-block}.k-event .k-event-bottom-actions,.k-event .k-event-top-actions{position:absolute;top:0;left:0;width:100%;text-align:center}.k-event .k-event-bottom-actions{top:auto;bottom:0}.k-event .k-resize-handle,.k-scheduler-mobile .k-event:hover .k-resize-handle{position:absolute;visibility:hidden;z-index:2}.k-event-active .k-resize-handle,.k-event:hover .k-resize-handle,.k-scheduler-mobile .k-event-active:hover .k-resize-handle{visibility:visible}.k-event .k-resize-handle:after{content:\\\"\\\";position:absolute;filter:alpha(opacity=50);opacity:.5}.k-scheduler-mobile .k-event .k-resize-handle:after{-webkit-filter:none;filter:none;opacity:1}.k-event>.k-resize-n{top:0;left:0;right:0;height:.4em}.k-event>.k-resize-s{bottom:0;left:0;right:0;height:.4em}.k-event>.k-resize-e{right:0;top:0;bottom:0;width:.4em}.k-event>.k-resize-w{left:0;top:0;bottom:0;width:.4em}.k-event>.k-resize-n:after,.k-event>.k-resize-s:after{top:1px;left:50%;margin-left:-1em;width:2em;height:1px}.k-event>.k-resize-s:after{top:auto;bottom:1px}.k-event>.k-resize-e:after,.k-event>.k-resize-w:after{left:1px;top:50%;margin-top:-.7em;height:1.4em;width:1px}.k-event>.k-resize-e:after{left:auto;right:1px}.k-scheduler-mobile .k-event>.k-resize-n,.k-scheduler-mobile .k-event>.k-resize-s{height:.6em}.k-scheduler-mobile .k-event>.k-resize-e,.k-scheduler-mobile .k-event>.k-resize-w{width:.6em}.k-scheduler-mobile .k-event>.k-resize-n:after,.k-scheduler-mobile .k-event>.k-resize-s:after{top:0;margin-left:-3em;width:4em;height:.6em}.k-scheduler-mobile .k-event>.k-resize-s:after{bottom:0}.k-scheduler-mobile .k-event>.k-resize-e:after,.k-scheduler-mobile .k-event>.k-resize-w:after{left:0;margin-top:-.7em;height:1.4em;width:.6em}.k-scheduler-mobile .k-event>.k-resize-e:after{right:0}.k-scheduler-mobile .k-event>.k-resize-n:after{border-radius:0 0 4px 4px}.k-scheduler-mobile .k-event>.k-resize-s:after{border-radius:4px 4px 0 0}.k-scheduler-mobile .k-event>.k-resize-w:after{border-radius:0 4px 4px 0}.k-scheduler-mobile .k-event>.k-resize-e:after{border-radius:4px 0 0 4px}.k-scheduler-phone .k-scheduler-monthview .k-events-container{position:absolute;text-align:center;height:6px;line-height:6px}.k-scheduler-phone .k-scheduler-monthview .k-event{position:static;display:inline-block;width:4px;height:4px;min-height:0;margin:1px}.k-scheduler-marquee{border-style:solid;border-width:0}.k-scheduler-marquee.k-first:before,.k-scheduler-marquee.k-last:after{content:\\\"\\\";position:absolute;width:0;height:0;border-style:solid;border-width:3px}div.k-scheduler-marquee:before{top:0;left:0;border-right-color:transparent;border-bottom-color:transparent}div.k-scheduler-marquee:after{bottom:0;right:0;border-top-color:transparent;border-left-color:transparent}.k-scheduler-marquee .k-label-top{position:absolute;top:.3em;left:.8em;font-size:.8em}.k-scheduler-marquee .k-label-bottom{position:absolute;bottom:.3em;right:.81em;font-size:.8em}.k-scheduler-quickedit .k-textbox{width:200px}.k-tooltip-bottom{text-align:left}.k-tooltip-bottom .k-button{float:left;margin-right:.3em}.k-tooltip-bottom .k-quickedit-details{float:right;margin-right:0}.k-scheduler-agendaview .k-scheduler-table td,.k-scheduler-agendaview .k-scheduler-table th{text-align:left}.k-scheduler-groupcolumn,.k-scheduler-times .k-slot-cell{width:6em}.k-scheduler-datecolumn{width:12em}.k-scheduler-timecolumn{width:11em}.k-scheduler-timecolumn>div{position:relative;vertical-align:top}.k-webkit .k-scheduler-timecolumn>div>.k-icon{vertical-align:top}.k-scheduler-timecolumn>div>.k-i-arrow-60-right{position:absolute;right:-4px}.k-scheduler-timecolumn .k-i-arrow-60-left{margin-left:-4px}.k-scheduler-mark{display:inline-block;width:1em;height:1em;vertical-align:middle;margin-right:.5em}.k-scheduler-agendaday{float:left;margin:0 .2em 0 0;font-size:3em;font-weight:400}.k-scheduler-agendaweek{display:block;margin:.4em 0 0;font-size:1.1em;font-style:normal}.k-scheduler-agendadate{font-size:.8em}.k-scheduler-timecolumn{white-space:nowrap}.k-scheduler-edit-form .k-edit-form-container,.k-scheduler-timezones .k-edit-form-container{width:520px}.k-scheduler-edit-form .k-edit-label{width:17%}.k-scheduler-edit-form .k-edit-field{width:77%}.k-scheduler-edit-form .k-textbox[name=title],.k-scheduler-edit-form textarea.k-textbox{width:100%}.k-scheduler-edit-form textarea.k-textbox{min-height:4em;resize:vertical}.k-scheduler-edit-form>.k-edit-box:first-child .k-datetimepicker{margin-right:1em}.km-pane-wrapper .k-scheduler-edit-form .k-edit-buttons{clear:right;margin-right:2%;margin-left:2%;padding:0 0 .6em}.k-edit-box{float:left}.k-edit-box+.k-edit-box{float:right}.k-scheduler-edit-form label+input{margin-left:1em}.k-edit-field>ul.k-reset>li{margin:.2em 0 .4em;line-height:2.4}.k-edit-field>ul.k-reset.k-toolbar>li{margin:0}.k-edit-field>ul.k-reset .k-widget{margin-left:.8em}.k-edit-field span.k-recur-interval,.k-edit-field>ul.k-reset .k-numerictextbox{width:5em}.k-edit-field>ul.k-reset .k-datepicker,.k-edit-field>ul.k-reset .k-dropdown,div[name=recurrenceRule]>.k-dropdown{width:9em}.k-scheduler-edit-form .k-edit-buttons .k-scheduler-delete{float:left}.k-popup-message{margin:0;padding:1em 0 2em;text-align:center}.k-scheduler-timezones .k-dropdown:first-child{width:100%}.k-scheduler-timezones .k-dropdown+.k-dropdown{margin:.5em 0 .7em}.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view{display:none}.k-scheduler-toolbar .k-nav-current .k-lg-date-format,.k-scheduler-toolbar .k-nav-current .k-sm-date-format{vertical-align:top;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-scheduler-toolbar .k-nav-current .k-lg-date-format{display:inline-block}.k-scheduler-toolbar .k-nav-current .k-sm-date-format{display:none}.k-scheduler-refresh{float:right;padding:0 .5em}@media only screen and (max-width:1024px){.k-scheduler-toolbar>ul.k-scheduler-views{position:absolute;right:6px;top:6px;z-index:10000}.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views{right:auto;left:6px}.k-scheduler-toolbar>ul.k-scheduler-views>li:not(.k-current-view){display:none}.k-scheduler-toolbar li.k-nav-current .k-lg-date-format{display:none}.k-scheduler-toolbar li.k-nav-current .k-sm-date-format{display:inline-block}.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view{display:block;border-width:1px}.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view{text-align:left;padding-left:1em}.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link{display:block;position:relative;padding-right:2.5em;padding-left:1em}.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link{padding-left:0}.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link:after{content:\\\"\\\\E006\\\";position:absolute;top:50%;right:.6em;margin-top:-.5em;line-height:1em}.k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li,.k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li:first-child+li{display:block;border:0;border-radius:0}.k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded{border:1px solid #c5c5c5;background-color:#fff;background-image:none;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.3);box-shadow:0 2px 2px 0 rgba(0,0,0,.3)}.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded{text-align:left}}@media only screen and (max-width:480px){.k-scheduler:not(.k-scheduler-mobile) .k-scheduler-toolbar li.k-nav-current .k-sm-date-format{display:none}.k-scheduler-timecolumn{width:5em}.k-scheduler-datecolumn{width:6em;overflow:hidden}.k-scheduler-datecolumn>div,.k-scheduler-timecolumn>div{white-space:normal}}.k-scheduler-pdf-export{overflow:hidden}.k-pdf-export-shadow .k-scheduler,.k-scheduler-pdf-export .k-scheduler-content,.k-scheduler-pdf-export .k-scheduler-times{height:auto!important;overflow:visible!important}.k-scheduler-pdf-export .k-scheduler-header{padding:0!important}.k-scheduler-pdf-export .k-scheduler-header-wrap{border-width:0!important}.k-scheduler-pdf-export .k-scheduler-content .k-scheduler-table,.k-scheduler-pdf-export .k-scheduler-header .k-scheduler-table{width:100%!important}.k-tooltip{position:absolute;z-index:12000;border-style:solid;border-width:0;padding:5px 5px 5px 6px;background-repeat:repeat-x;min-width:20px;text-align:center}.k-tooltip-button{text-align:right;height:0}.k-tooltip-content{height:100%}.k-tooltip-closable .k-tooltip-content{padding-right:20px}span.k-tooltip{position:static;display:inline-block;border-width:1px;padding:2px 5px 1px 6px}.k-invalid-msg{display:none}.k-callout{position:absolute;width:0;height:0;border-style:solid;border-width:6px;border-color:transparent;pointer-events:none}.k-callout-n{top:-12px;left:50%;pointer-events:none}.k-callout-w{top:50%;left:-12px;pointer-events:none}.k-callout-s{left:50%;bottom:-12px;pointer-events:none}.k-callout-e{top:50%;right:-12px;pointer-events:none}.k-slider-tooltip .k-callout-n,.k-slider-tooltip .k-callout-s{margin-left:-6px}.k-slider-tooltip .k-callout-e,.k-slider-tooltip .k-callout-w{margin-top:-6px}.k-tooltip-validation .k-i-warning{vertical-align:text-top;margin-right:3px}.k-tooltip-validation{z-index:9999}.k-toolbar{position:relative;display:block;vertical-align:middle;padding:.28571428em 0;overflow:hidden}.k-overflow-container .k-button .k-sprite,.k-toolbar .k-button .k-sprite{vertical-align:middle;margin-top:-7px;margin-bottom:-5px}.k-toolbar .k-input:before{content:\\\"\\\\A0\\\";display:inline-block;width:0}.k-toolbar .k-combobox .k-dropdown-wrap:before,.k-toolbar .k-numeric-wrap:before,.k-toolbar .k-picker-wrap:before{display:none}.k-overflow-container .k-sprite{margin-left:-4px}.k-toolbar-resizable{white-space:nowrap}.k-toolbar>.k-align-left{float:none}.k-toolbar>.k-align-right{float:right}.k-toolbar>*{display:inline-block;vertical-align:middle}.k-toolbar .k-separator{border-width:0 0 0 1px;border-style:solid;width:1px;line-height:2.1428571429em}.k-toolbar .k-button-group{list-style-type:none}.k-toolbar .k-button-group>li{display:inline-block}.k-toolbar .k-button-group .k-button{margin-left:-1px;margin-right:0;border-radius:0}.k-toolbar .k-button,.k-toolbar .k-button-group,.k-toolbar .k-separator,.k-toolbar .k-split-button,.k-toolbar .k-widget,.k-toolbar label,.k-toolbar span:not(.k-maskedtextbox) .k-textbox{margin:0 .2em;vertical-align:middle}.k-toolbar .k-split-button{padding-left:0;border:1px solid transparent}.k-toolbar .k-split-button .k-button{margin:-1px 0 -1px -1px}.k-toolbar .k-split-button .k-split-button-arrow{margin:-1px}.k-toolbar .k-button-group .k-group-start{margin-left:0;margin-right:0}.k-toolbar .k-button-icontext{padding-right:.8em}.k-toolbar .k-overflow-anchor{position:absolute;top:-1px;right:-1px;bottom:-1px;width:2.8571428571em;margin:0;line-height:inherit;border-radius:0}.k-toolbar .k-overflow-anchor>.k-icon{position:absolute;top:50%;left:50%;margin:-8px}.k-overflow-container .k-button-group .k-button{margin:0}.k-overflow-container .k-item{float:none;border:0}.k-overflow-container .k-separator{border-width:0 0 1px;border-style:solid;height:1px;line-height:0;font-size:0;padding:0}.k-overflow-container .k-overflow-button,.k-split-container .k-button{text-align:left;display:block;background:0 0;border-color:transparent;white-space:nowrap}.k-split-container{margin-top:-1px}.k-overflow-container .k-button-group>li{display:block}.k-overflow-container .k-overflow-group{display:block;border-width:1px 0;border-style:solid;border-radius:0;margin:1px 0}.k-overflow-container .k-overflow-hidden{display:none}.k-overflow-container .k-overflow-group+.k-overflow-group,.k-overflow-container .k-separator+.k-overflow-group,.k-overflow-container .k-toolbar-first-visible{border-top:0;margin-top:0;padding-top:1px}.k-overflow-container .k-overflow-group+.k-separator{display:none}.k-overflow-container .k-toolbar-last-visible{border-bottom:0;margin-bottom:0;padding-bottom:1px}.k-splitter{position:relative;height:300px}.k-pane>.k-splitter{border-width:0;overflow:hidden}.k-splitter .k-pane{overflow:hidden}.k-splitter .k-scrollable{overflow:auto}.k-splitter .k-pane-loading{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px}.k-ghost-splitbar,.k-splitbar{position:absolute;border-style:solid;font-size:0;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.k-splitter .k-ghost-splitbar-horizontal,.k-splitter .k-splitbar-horizontal{top:0;width:5px;border-width:0 1px;background-repeat:repeat-y}.k-ghost-splitbar-vertical,.k-splitbar-vertical{left:0;height:5px;border-width:1px 0;background-repeat:repeat-x}.k-splitbar-draggable-horizontal{cursor:w-resize}.k-splitbar-draggable-vertical{cursor:n-resize}.k-splitbar .k-resize-handle{display:none}.k-restricted-size-horizontal,.k-restricted-size-vertical{background-color:red}.k-splitbar-horizontal .k-icon{position:absolute;top:50%;margin-top:-10px}.k-splitbar-horizontal .k-i-arrow-60-right{margin-left:-2px}.k-splitbar-horizontal.k-splitbar-draggable-horizontal .k-i-arrow-60-right{margin-top:13px}.k-splitbar-horizontal .k-i-arrow-60-left{margin-left:-3px}.k-splitbar-horizontal.k-splitbar-draggable-horizontal .k-i-arrow-60-left{margin-top:-28px}.k-splitbar-vertical .k-i-arrow-60-up{margin-top:-2px}.k-splitbar-vertical .k-i-arrow-60-down{margin-top:-2px}.k-splitbar-vertical.k-splitbar-draggable-vertical .k-i-arrow-60-up{margin-left:-17px}.k-splitbar-vertical.k-splitbar-draggable-vertical .k-i-arrow-60-down{margin-left:23px}.k-i-arrow-60-down,.k-i-arrow-60-left,.k-i-arrow-60-right,.k-i-arrow-60-up{cursor:pointer}.k-splitbar-horizontal .k-icon{position:absolute;top:50%;width:7px;height:20px;margin-top:-10px}.k-splitbar-static-horizontal{width:1px}.k-splitbar-static-vertical{height:1px}.k-splitbar-vertical .k-icon{position:absolute;left:50%}.k-splitbar-draggable-horizontal .k-resize-handle,.k-splitbar-draggable-vertical .k-resize-handle{display:inline-block;border-radius:1px}.k-splitbar-draggable-horizontal .k-resize-handle{width:3px;height:16px;margin-left:1px}.k-splitbar-draggable-vertical .k-resize-handle{width:16px;height:3px;margin-top:1px}.k-splitbar .k-i-arrow-60-down,.k-splitbar .k-i-arrow-60-left,.k-splitbar .k-i-arrow-60-right,.k-splitbar .k-i-arrow-60-up{font-size:10px}.k-splitter-resizing{overflow:hidden}.k-rtl .k-splitbar-horizontal .k-resize-handle{margin-right:1px}.k-rtl .k-splitbar-horizontal .k-i-arrow-60-right{margin-top:13px;margin-right:-3px}.k-rtl .k-splitbar-horizontal .k-i-arrow-60-left{margin-top:-28px;margin-right:-2px}.k-rtl .k-splitbar-vertical .k-i-arrow-60-up{margin-top:-2px;margin-left:-17px}.k-rtl .k-splitbar-vertical .k-i-arrow-60-down{margin-top:-2px;margin-left:23px}html .k-upload{position:relative}.k-dropzone em,.k-upload-button{vertical-align:middle}.k-dropzone,.k-file{position:relative}.k-dropzone{border-style:solid;border-width:0;padding:.8em;background-color:transparent}.k-dropzone em{display:none;margin-left:.6em}.k-dropzone-active em{display:inline-block}.k-dropzone-active .k-upload-status{display:none}.k-upload-button{position:relative;overflow:hidden;direction:ltr}.k-upload .k-upload-button{min-width:7.167em;margin-right:1.6em}.k-upload-sync .k-upload-button{margin:.8em}.k-upload-button input{position:absolute;bottom:0;right:0;z-index:1;font:170px monospace!important;filter:alpha(opacity=0);opacity:0;margin:0;padding:0;cursor:pointer}.k-upload-files{line-height:2.66;border-style:solid;border-width:1px 0 0;padding-bottom:5px}.k-upload-files .k-button{padding:0}.k-upload-status .k-i-warning{display:none}.k-upload-status-total .k-icon{display:inline-block;margin-right:4px;vertical-align:text-bottom}.k-dropzone .k-upload-status-total{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.k-ie .k-dropzone .k-upload-status-total{-webkit-transform:none;-ms-transform:none;transform:none}.k-upload .k-clear-selected,.k-upload .k-upload-selected{display:inline-block;width:50%;margin:0;line-height:1em;padding:1.214em 0;border:0}.k-upload .k-upload-selected{border-left-width:1px;border-left-style:solid;margin-left:-1px}.k-upload .k-clear-selected{border-radius:0 0 0 4px}.k-upload .k-upload-selected{border-radius:0 0 4px 0}.k-upload-files~.k-clear-selected,.k-upload-files~.k-upload-selected{margin-top:-5px}.k-upload .k-fail{background-position:-161px -111px}.k-file{border-style:solid;border-width:0 0 1px;padding:.65em .17em .65em 1em;white-space:nowrap}.k-file .k-upload-action{background:0 0;border-width:0;-webkit-box-shadow:none;box-shadow:none;margin-right:3px}.k-file .k-icon{display:inline-block;position:relative}.k-file-extension-wrapper,.k-file-invalid-extension-wrapper,.k-file-name-size-wrapper,.k-multiple-files-extension-wrapper,.k-multiple-files-invalid-extension-wrapper{display:inline-block}.k-file-extension-wrapper,.k-file-invalid-extension-wrapper,.k-multiple-files-extension-wrapper,.k-multiple-files-invalid-extension-wrapper{position:relative;width:24px;height:34px;border-width:2px;border-style:solid;vertical-align:top;font-size:.57em;text-transform:uppercase}.k-file-invalid-extension-wrapper,.k-multiple-files-invalid-extension-wrapper{font-size:1.2em}.k-multiple-files-extension-wrapper,.k-multiple-files-invalid-extension-wrapper{margin-top:4px}.k-file-state{visibility:hidden}.k-file-name-size-wrapper{vertical-align:middle;margin-left:1em;max-width:-webkit-calc(100% - 24px - 7em);max-width:calc(100% - 24px - 7em)}.k-file-extension-wrapper:before,.k-file-invalid-extension-wrapper:before,.k-multiple-files-extension-wrapper:after,.k-multiple-files-extension-wrapper:before,.k-multiple-files-invalid-extension-wrapper:after,.k-multiple-files-invalid-extension-wrapper:before{position:absolute;content:\\\"\\\";display:inline-block;border-style:solid}.k-file-extension-wrapper:before,.k-file-invalid-extension-wrapper:before,.k-multiple-files-extension-wrapper:before,.k-multiple-files-invalid-extension-wrapper:before{top:-1px;right:-1px;width:0;height:0;border-width:6px;margin-top:-1px;margin-right:-1px}.k-multiple-files-extension-wrapper:after,.k-multiple-files-invalid-extension-wrapper:after{top:-6px;left:-6px;width:15px;height:35px;border-width:2px 0 0 2px}.k-file-extension,.k-file-invalid-icon{position:absolute;bottom:0;line-height:normal}.k-file-extension{margin-left:.4em;margin-bottom:.3em;overflow:hidden;text-overflow:ellipsis;max-width:100%}.k-file-invalid-icon{margin-left:5px}.k-file-information,.k-file-name,.k-file-size,.k-file-validation-message{display:block}.k-file-name{position:relative;max-width:100%;vertical-align:middle;line-height:1.2em;overflow:hidden;text-overflow:ellipsis}.k-file-information,.k-file-size,.k-file-validation-message{font-size:.78em;line-height:1.5em}.k-file-information,.k-file-validation-message{line-height:1.5em}.k-file-size{line-height:1.2em}.k-upload-files .k-upload-status{line-height:1;position:absolute;right:10px;top:1em;opacity:.65}.k-button.k-upload-action.k-state-active:hover,.k-button.k-upload-action:active:hover,.k-button.k-upload-action:hover,.k-upload-action{color:inherit;background:0 0;border:0}.k-upload-action{opacity:.6}.k-upload-action:hover{opacity:1}.k-upload-action .k-icon{vertical-align:top}.k-file .k-upload-status .k-button,.k-file .k-upload-status>.k-icon{vertical-align:middle;border-radius:50%}.k-dropzone .k-upload-status{position:static;margin-left:10px}.k-upload-pct{margin-right:.75em}.k-ie9 .k-upload-status-total{top:1.5em}.k-ie9 .k-upload-status-total>.k-icon{margin-top:-3px}.k-upload-action{line-height:normal}.k-progress{position:absolute;bottom:0;left:0;height:2px}.k-file-invalid>.k-progress{width:100%}.k-upload-selected{min-width:7.167em;margin:.25em 0 0;-webkit-box-sizing:content-box;box-sizing:content-box}.k-upload-cancel,.k-upload-selected{margin-bottom:.8em}.k-upload-selected{margin-left:.8em;margin-right:.2em}.k-rtl .k-file-extension-wrapper{margin-left:14px}.k-mediaplayer{position:relative}.k-mediaplayer>iframe,.k-mediaplayer>video{vertical-align:top}.k-mediaplayer .k-mediaplayer-overlay{z-index:1;width:100%;height:100%;position:absolute}.k-mediaplayer-titlebar{padding:8px;position:absolute;z-index:2;top:0;left:0;right:0;color:#fff;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.7)),color-stop(80%,rgba(0,0,0,.05)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.05) 80%,rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.05) 80%,rgba(0,0,0,0))}.k-mediaplayer-toolbar-wrap{position:absolute;z-index:2;bottom:0;left:0;right:0}.k-mediaplayer-toolbar{padding:2px;border-width:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;position:relative}.k-mediaplayer-toolbar>*{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center}.k-mediaplayer-toolbar>*+*{margin-left:5px}.k-mediaplayer-toolbar .k-toolbar-spacer{margin-top:0;margin-bottom:0;border-width:0;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;opacity:0}.k-mediaplayer-toolbar .k-align-right>*+*{margin-left:5px}.k-mediaplayer-toolbar .k-button.k-bare{padding-left:9px;padding-right:9px}.k-mediaplayer-toolbar .k-mediaplayer-quality{width:auto;padding:0;background:none transparent}.k-mediaplayer-toolbar .k-mediaplayer-quality .k-dropdown-wrap{border:0 none;-webkit-box-shadow:none;box-shadow:none;padding:0;background:none transparent;color:inherit}.k-mediaplayer-toolbar .k-mediaplayer-quality .k-input{display:none}.k-mediaplayer-toolbar .k-mediaplayer-quality .k-select{position:relative;width:auto;min-height:0;line-height:inherit}.k-mediaplayer-quality-wrap,.k-mediaplayer-volume-wrap{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.k-quality-list{width:80px!important;margin-left:-32px!important}.k-slider.k-mediaplayer-seekbar{width:100%;position:absolute;z-index:3;top:-17px;left:0}.k-slider.k-mediaplayer-seekbar .k-slider-track{width:100%!important;border-radius:0}.k-slider.k-mediaplayer-seekbar .k-slider-selection{border-radius:0}.k-slider.k-mediaplayer-seekbar .k-draghandle{opacity:0;-webkit-transition:.2s opacity;transition:.2s opacity}.k-slider.k-mediaplayer-seekbar .k-draghandle.k-state-selected,.k-slider.k-mediaplayer-seekbar:hover .k-draghandle{opacity:1}.k-mediaplayer-fullscreen{position:fixed;z-index:10000;top:0;left:0;width:100%!important;height:100%!important}.k-no-flexbox .k-mediaplayer-toolbar .k-align-right>*{display:inline-block;vertical-align:middle}.k-no-flexbox .k-mediaplayer-toolbar .k-bare.k-button{height:auto}.k-no-flexbox .k-mediaplayer-toolbar .k-toolbar-spacer{display:none}.k-toolbar-wrap{float:left}.k-toolbar-wrap .k-dropzone em,.k-toolbar-wrap .k-upload-files{display:none}.k-toolbar-wrap .k-dropzone{border:0;padding:0}.k-toolbar-wrap .k-dropzone-active{text-align:center}.k-toolbar-wrap .k-dropzone-active em{display:inline;margin:0;font-size:5em;font-style:normal}.k-toolbar-wrap .k-dropzone-active .k-upload-button{display:none}.k-filebrowser-dropzone{z-index:10010;filter:alpha(opacity=40);opacity:.4;position:fixed}.k-search-wrap{position:relative;float:right;width:20%;padding:0}.k-search-wrap label{position:absolute;top:0;left:4px;line-height:20px;font-style:italic}.k-search-wrap input.k-input{padding-left:0;padding-right:0}.k-search-wrap .k-search{position:absolute;top:50%;right:2px;margin:0;margin-top:-8px}.k-breadcrumbs{position:relative;float:left;width:79%}.k-breadcrumbs-wrap{position:absolute;top:3px;left:0;z-index:1;padding-left:5px;line-height:18px}.k-breadcrumbs>.k-input{width:100%;font-size:inherit;font-family:inherit;border:0}.k-breadcrumbs .k-link,.k-breadcrumbs-wrap .k-icon{margin-top:0;text-decoration:none;vertical-align:middle;position:relative}.k-breadcrumbs .k-link:hover{text-decoration:underline}.k-filebrowser .k-tile .k-file,.k-filebrowser .k-tile .k-folder,.k-filebrowser .k-tile .k-i-file,.k-filebrowser .k-tile .k-i-folder{font-size:5em}.k-filebrowser .k-breadcrumbs .k-i-arrow-end-left{text-decoration:none;cursor:default}.k-filebrowser .k-filebrowser-toolbar{border-style:solid;border-width:1px;margin:8px 0 0;padding:.25em;line-height:23px;white-space:nowrap}.k-filebrowser .k-filebrowser-toolbar .k-button.k-state-disabled{display:none}.k-filebrowser .k-tiles-arrange{float:right}.k-filebrowser .k-tiles-arrange .k-dropdown{width:5.3em}.k-filebrowser .k-upload{float:left;z-index:10010;border-width:0;background-color:transparent}.k-filebrowser .k-upload .k-upload-status{display:none}.k-filebrowser .k-upload .k-upload-button{width:auto;margin-left:0}.k-tiles{clear:both;height:390px;border-style:solid;border-width:1px;border-top-width:0;margin:0 0 1.4em;padding:9px;overflow:auto;line-height:1.2}.k-tile{float:left;width:223px;height:88px;overflow:hidden;border-style:solid;border-width:1px;margin:1px;padding:0 0 4px;background-position:0 100px;background-repeat:repeat-x;cursor:pointer}.k-tiles li.k-state-hover,.k-tiles li.k-state-selected{background-position:0 center}.k-filebrowser .k-thumb{float:left;display:inline;width:80px;height:80px;margin:4px 10px 0 4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.k-filebrowser .k-file,.k-filebrowser .k-i-file{width:80px;height:80px}.k-filebrowser .k-image{margin:2px 0 0 2px}.k-filebrowser .k-folder,.k-filebrowser .k-i-folder{width:80px;height:80px;background-position:0 -200px;background-repeat:no-repeat}.k-filebrowser .k-loading{margin:35px 0 0 33px}.k-tile input,.k-tile strong{margin:10px 0 4px;font-weight:400}.k-tile strong{float:left;width:120px;overflow:hidden;text-overflow:ellipsis}.k-tile input{width:100px}.k-tile input,.k-tile strong{display:block}.k-tile .k-filesize{display:inline-block}.k-filebrowser .k-form-text-row{text-align:right}.k-filebrowser .k-form-text-row label{width:14%}.k-filebrowser .k-form-text-row input{width:80%}.k-tile-empty{margin:160px 0 0}.k-tile-empty .k-dialog-upload{font-weight:700;font-size:120%}.k-tile-empty strong{display:block;margin:0 0 .2em;font-size:3em;font-weight:400}.k-tile-empty,.k-tile-empty .k-button-wrapper{text-align:center}.k-chart,.k-gauge,.k-sparkline,.k-stockchart{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.k-chart,.k-stockchart{height:400px}.k-chart>canvas{vertical-align:top}.k-stockchart,div.k-chart,div.k-gauge,span.k-sparkline{background-color:transparent}.k-gauge{text-align:left;position:relative}.k-baseline-marker{zoom:1;*display:inline}.k-chart-tooltip{border-radius:4px;padding:6px;white-space:nowrap;z-index:12000;line-height:normal;background-repeat:repeat-x;background-position:0 0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADNJREFUeNpi/P//vwMDFQELEP8beQb+HTWQYgP/DHoD/466cAR4edRAyg38P6hLbIAAAwCnWhhVsxvdCAAAAABJRU5ErkJggg==);color:#fff}.k-chart-tooltip-inverse{color:#000}.k-chart-tooltip table{border-spacing:0;border-collapse:collapse}.k-chart-tooltip th{width:auto;text-align:center;padding:1px}.k-chart-tooltip td{width:auto;text-align:left;padding:.1em .2em}.k-chart-shared-tooltip-marker{display:block;width:15px;height:3px}.k-selector{position:absolute;-webkit-transform:translateZ(0)}.k-selection{position:absolute;border-width:1px;border-style:solid;border-color:#d2d2d2;border-bottom:0;height:100%}.k-selection-bg{position:absolute;width:100%;height:100%;background-color:#fff;background-color:rgba(255,255,255,.01);filter:alpha(opacity=1)}.k-handle{background:#d2d2d2;width:7px;height:26px;cursor:e-resize;z-index:1;border-radius:6px;position:absolute}.k-handle div{width:100%;height:100%;background-color:transparent}.k-left-handle{left:-4px}.k-right-handle{right:-4px}.k-left-handle div{margin:-20px 0 0 -15px;padding:40px 30px 0 0}.k-left-handle.k-handle-active div{margin-left:-40px;padding-right:55px}.k-right-handle div{margin:-20px 0 0 -15px;padding:40px 0 0 30px}.k-right-handle.k-handle-active div{padding-left:55px}.k-mask{position:absolute;height:100%;background-color:#fff;filter:alpha(opacity=80);opacity:.8}.k-border{background:#d2d2d2;width:1px;height:100%;position:absolute}.k-navigator-hint div{position:absolute}.k-navigator-hint .k-scroll{position:absolute;height:4px;border-radius:4px;background:#d2d2d2}.k-navigator-hint .k-tooltip{margin-top:20px;min-width:160px;opacity:1;text-align:center;border:0;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 1px 2px rgba(0,0,0,.5);background:#fff}.k-sparkline,.k-sparkline span{display:inline-block;vertical-align:top}.k-sparkline span{height:100%;width:100%}.k-diagram,.k-map{height:600px}.k-diagram .km-scroll-wrapper,.k-map .km-scroll-wrapper{padding-bottom:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.k-diagram .km-scroll-container,.k-diagram .km-scroll-wrapper,.k-map .km-scroll-container,.k-map .km-scroll-wrapper{position:absolute;width:100%;height:100%}.k-diagram .k-layer,.k-map .k-layer{position:absolute;left:0;top:0}.k-diagram .km-touch-scrollbar,.k-map .km-touch-scrollbar{display:none}.k-map .k-marker{position:absolute;width:28px;height:40px;margin:-40px 0 0 -14px;cursor:pointer}.k-map .k-marker-pin{background-position:0 40px}.k-map .k-marker-pin-target{background-position:0 0}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){.k-map .k-marker{width:56px;height:80px;margin:-80px 0 0 -28px}.k-map .k-marker-pin{background-position:0 80px}}.k-map .k-pos-top{top:0}.k-map .k-pos-bottom{bottom:0}.k-map .k-pos-left{left:0}.k-map .k-pos-right{right:0}.k-map-controls{position:absolute}.k-map-controls.k-pos-left .k-widget:first-child{margin-right:0}.k-map-controls.k-pos-right .k-widget:first-child{margin-left:0}.k-navigator{width:50px;height:50px;margin:20px;border-radius:80px;position:relative;display:inline-block;vertical-align:middle}.k-pdf-export .k-navigator{display:none}.k-navigator>button{border-color:transparent;background:0 0}div.k-navigator>.k-button{margin:0;padding:0;line-height:10px;border-radius:16px;position:absolute;font-size:1px;line-height:1px}div.k-navigator .k-navigator-n,div.k-navigator .k-navigator-up{top:2px;left:50%;margin-left:-9px}div.k-navigator .k-navigator-e,div.k-navigator .k-navigator-right{right:2px;top:50%;margin-top:-9px}div.k-navigator .k-navigator-down,div.k-navigator .k-navigator-s{bottom:2px;left:50%;margin-left:-9px}div.k-navigator .k-navigator-left,div.k-navigator .k-navigator-w{left:2px;top:50%;margin-top:-9px}.k-map .k-attribution{background-color:rgba(255,255,255,.8);font-size:10px;padding:2px 4px;z-index:1000}.k-zoom-control{margin:14px;vertical-align:middle}.k-pdf-export .k-zoom-control{display:none}.k-button-wrap{border-radius:4px;display:inline-block}.k-button-wrap .k-button{position:relative;padding:4px;line-height:16px}.k-button-wrap .k-button .k-icon{vertical-align:top}.k-buttons-horizontal :first-child{border-radius:4px 0 0 4px}.k-buttons-horizontal :first-child+.k-zoom-in{border-radius:0;margin-left:-1px}.k-buttons-horizontal .k-zoom-out{border-radius:0 4px 4px 0;margin-left:-1px}.k-button-wrap .k-button:hover{z-index:1}.k-buttons-vertical .k-button{display:block}.k-buttons-vertical :first-child{border-radius:4px 4px 0 0}.k-buttons-vertical .k-zoom-out{border-radius:0 0 4px 4px;margin-top:-1px}.k-zoom-text{margin:0;width:4.3em;vertical-align:top}.k-rtl .k-buttons-horizontal :first-child{border-radius:0 4px 4px 0}.k-rtl .k-buttons-horizontal :first-child+.k-zoom-in{border-radius:0;margin-left:0;margin-right:-1px}.k-rtl .k-buttons-horizontal .k-zoom-out{border-radius:4px 0 0 4px;margin-left:0;margin-right:-1px}.k-diagram{height:600px}.k-diagram .km-scroll-wrapper{width:100%;height:100%;position:relative}.k-diagram .km-scroll-wrapper{width:100%;height:100%;position:relative}.k-canvas-container{width:100%;height:100%}.k-diagram img{-webkit-box-sizing:content-box;box-sizing:content-box}.k-treemap{overflow:hidden;height:400px}.k-treemap-tile{-webkit-box-sizing:border-box;box-sizing:border-box;border-style:solid;border-width:1px;position:absolute;margin:-1px 0 0 -1px;overflow:hidden}.k-treemap-tile.k-leaf{padding:.6em}.k-treemap-wrap.k-last>.k-treemap-tile{padding:.3em}.k-treemap-tile.k-state-hover,.k-treemap-tile.k-state-hover:hover{z-index:2;background-image:none}.k-treemap>.k-treemap-tile{position:relative;height:100%}.k-treemap-title{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;line-height:2.42em;height:2.42em;padding:0 .6em;white-space:nowrap}.k-treemap-wrap .k-treemap-title{border-width:0 0 1px;border-style:solid}.k-treemap-wrap{position:absolute;top:0;left:0;bottom:0;right:0}.k-treemap-title+.k-treemap-wrap{top:2.42em}.k-treemap-title-vertical{-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;position:absolute;top:0;bottom:0;width:2.42em;line-height:2.42em;overflow:hidden;padding:.6em 0;white-space:nowrap}.k-treemap-title-vertical>div{position:absolute;top:0;right:1.23em;-webkit-transform-origin:right;-ms-transform-origin:right;transform-origin:right;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.k-treemap-title-vertical+.k-treemap-wrap{left:2.42em}.km-pane,.km-pane-wrapper,.km-root{width:100%;height:100%;-ms-touch-action:none;-ms-content-zooming:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}.km-pane-wrapper{position:absolute;width:100%;height:100%}.km-pane,.km-shim{font-family:sans-serif}.km-pane{overflow-x:hidden}.km-view{top:0;left:0;position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;vertical-align:top}.k-ff .km-pane,.k-ff .km-view{overflow:hidden}.k-ff18 .km-pane,.k-ff18 .km-view,.k-ff19 .km-pane,.k-ff19 .km-view,.k-ff20 .km-pane,.k-ff20 .km-view,.k-ff21 .km-pane,.k-ff21 .km-view{position:relative}.k-ff .km-view{display:-moz-inline-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.km-content{min-height:1px;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;flex-align:stretch;display:block;width:auto;overflow:hidden;position:relative}.km-actionsheet>li{list-style-type:none;padding:inherit 1em;line-height:2em}.km-actionsheet{padding:0;margin:0}.km-shim{left:0;bottom:0;position:fixed;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:10001}.km-actionsheet-wrapper,.km-shim .k-animation-container{width:100%;-webkit-box-shadow:none;box-shadow:none;border:0}.km-shim .k-animation-container{width:auto}.km-pane-wrapper .k-grid-column-menu>.km-header,.km-pane-wrapper .k-grid-edit-form>.km-header,.km-pane-wrapper .k-grid-filter-menu>.km-header,.km-pane-wrapper .k-scheduler-edit-form>.km-header{border-style:solid;border-width:1px;padding:.3em .6em;text-align:center;width:auto;line-height:2em}.k-ie .km-pane-wrapper .k-scheduler>.k-scheduler-footer,.k-ie .km-pane-wrapper .k-scheduler>.k-scheduler-toolbar{line-height:2em}.km-pane-wrapper .k-grid-edit-form .k-multiselect,.km-pane-wrapper .k-scheduler-edit-form .k-multiselect{width:15em}.km-pane-wrapper .k-grid-edit-form .k-dropdown-wrap,.km-pane-wrapper .k-scheduler-edit-form .k-dropdown-wrap{display:block}.km-pane-wrapper .k-grid-column-menu .k-done,.km-pane-wrapper .k-grid-edit-form .k-grid-update,.km-pane-wrapper .k-grid-filter-menu .k-submit,.km-pane-wrapper .k-scheduler-edit-form .k-scheduler-update{float:right}.km-pane-wrapper .k-grid-edit-form .k-grid-cancel,.km-pane-wrapper .k-grid-filter-menu .k-i-cancel,.km-pane-wrapper .k-scheduler-edit-form .k-scheduler-cancel{float:left}.km-pane-wrapper .k-grid-edit-row .k-textbox{-webkit-box-sizing:border-box;box-sizing:border-box}.km-pane-wrapper .k-scheduler-edit-form .k-scheduler-delete,:not(.km-pane)>.km-shim .km-actionsheet .k-button{display:block;text-align:center}:not(.km-pane)>.km-shim .km-actionsheet .k-button{font-size:1.4em;margin:.3em 1em}:not(.km-pane)>.km-shim .km-actionsheet-title{text-align:center;line-height:3em;margin-bottom:-.3em}:not(.km-pane)>.km-shim>.k-animation-container{margin:0!important;padding:0!important;left:0!important}.km-pane-wrapper>div.km-pane{-webkit-box-shadow:none;box-shadow:none;font-weight:400}.km-pane-wrapper .k-grid-column-menu .km-content>.km-scroll-container,.km-pane-wrapper .k-grid-edit-form .km-content>.km-scroll-container,.km-pane-wrapper .k-grid-filter-menu .km-content>.km-scroll-container,.km-pane-wrapper .k-popup-edit-form .km-content>.km-scroll-container{position:absolute;width:100%;min-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.km-pane-wrapper .k-grid-filter-menu .km-header .k-button.k-i-cancel:before{font-family:WebComponentsIcons}.km-pane-wrapper .k-mobile-list .k-edit-field{width:74%}.km-pane-wrapper .k-grid-edit-form .k-edit-form-container,.km-pane-wrapper .k-grid-edit-form .k-popup-edit-form{width:auto}.km-pane-wrapper .k-filter-menu .k-button{width:100%;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.k-grid-mobile{border-width:0}.k-grid-mobile .k-resize-handle-inner{position:absolute;top:50%;margin-top:-10px;left:-7px;width:17px;height:17px;border-style:solid;border-width:2px;border-radius:10px}.k-grid-mobile .k-resize-handle-inner:before{content:\\\"\\\";position:absolute;top:50%;margin-top:-3px;left:1px;width:6px;height:6px;background-position:-5px -53px}.k-grid-mobile .k-resize-handle-inner:after{content:\\\"\\\";position:absolute;top:50%;margin-top:-3px;right:1px;width:6px;height:6px;background-position:-5px -21px}.km-pane-wrapper .km-pane *{-webkit-background-clip:border-box;background-clip:border-box}.km-pane-wrapper .k-mobile-list ul,.km-pane-wrapper .km-pane .k-mobile-list{padding:0;margin:0;list-style-type:none;border-radius:0;background:0 0}.km-pane-wrapper .km-switch{top:50%;right:.8rem;position:absolute;margin-top:-1.1rem}.km-pane-wrapper .k-mobile-list .k-state-disabled{opacity:1}.km-pane-wrapper .k-mobile-list .k-state-disabled>*{opacity:.7}.km-pane-wrapper .k-mobile-list .k-edit-label,.km-pane-wrapper .k-mobile-list .k-item,.km-pane-wrapper .k-mobile-list .k-item>.k-label,.km-pane-wrapper .k-mobile-list .k-item>.k-link{display:block;position:relative;list-style-type:none;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em 0 .5em 1em;font-size:1em}.km-pane-wrapper .k-edit-form-container,.km-pane-wrapper .k-scheduler-edit-form .km-scroll-container{padding-top:1em;width:100%}.km-pane-wrapper .k-mobile-list .k-edit-label{position:absolute;margin:0;float:none;clear:none;width:100%}.km-pane-wrapper .k-mobile-list .k-edit-field,.km-pane-wrapper .k-mobile-list .k-edit-label label{display:block;text-align:left;overflow:hidden;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box;padding:.1em 0;margin:0}.km-pane-wrapper .k-mobile-list .k-edit-field,.km-pane-wrapper .k-mobile-list .k-edit-label,.km-pane-wrapper .k-mobile-list .k-item{font-size:1em;line-height:1.6em;overflow:hidden}.km-pane-wrapper .k-mobile-list .k-edit-field,.km-pane-wrapper .k-mobile-list .k-edit-label{width:100%;float:none;clear:none;min-height:2.7em}.km-pane-wrapper .k-grid-delete .k-icon,.km-pane-wrapper .k-grid-edit .k-icon,.km-pane-wrapper .k-grid-toolbar .k-icon,.km-pane-wrapper .km-header .k-icon{display:none}.km-pane-wrapper .k-mobile-list .k-edit-field{padding:.5em 0}.km-pane-wrapper .k-mobile-list .k-scheduler-toolbar{padding:.3em 0}.km-pane-wrapper .k-mobile-list .k-scheduler-toolbar ul li{line-height:2em}.km-pane-wrapper .k-mobile-list .k-item>*{line-height:normal}.km-pane-wrapper .k-mobile-list .k-button-container,.km-pane-wrapper .k-mobile-list .k-edit-buttons{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em 1em;margin:0}.km-pane-wrapper #recurrence .km-scroll-container>.k-edit-label:first-child,.km-pane-wrapper .k-mobile-list .k-filter-help-text>li>.k-link,.km-pane-wrapper .k-mobile-list .k-recur-view>.k-edit-label:nth-child(3),.km-pane-wrapper .k-mobile-list>ul>li>.k-link{display:block;padding:.2em 1em;font-size:.95em;position:-webkit-sticky;margin:0;font-weight:400;line-height:2em;background:0 0;border-top:1em solid transparent}.km-pane-wrapper #recurrence .km-scroll-container>.k-edit-label:first-child,.km-pane-wrapper .k-mobile-list .k-recur-view>.k-edit-label:nth-child(3){position:relative}.km-pane-wrapper .k-mobile-list .k-item:first-child{border-top:0}.km-pane-wrapper .k-mobile-list .k-item:last-child{border-bottom:0}.km-pane-wrapper .k-mobile-list .k-item>.k-label,.km-pane-wrapper .k-mobile-list .k-item>.k-link{line-height:inherit;text-decoration:none;margin:-.5em 0 -.5em -1em}.k-check[type=checkbox],.k-check[type=radio],.k-mobile-list .k-edit-field [type=checkbox],.k-mobile-list .k-edit-field [type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.k-mobile-list .k-edit-field [type=checkbox],.k-mobile-list .k-edit-field [type=radio],.km-pane-wrapper .k-mobile-list .k-label .k-check,.km-pane-wrapper .k-mobile-list .k-link .k-check{border:0;font-size:inherit;width:13px;height:13px;margin:.26em 1em .26em 0}.k-ie .k-mobile-list .k-edit-field [type=checkbox],.k-ie .k-mobile-list .k-edit-field [type=radio],.k-ie .km-pane-wrapper .k-icon,.k-ie .km-pane-wrapper .k-mobile-list .k-label .k-check,.k-ie .km-pane-wrapper .k-mobile-list .k-link .k-check{font-size:inherit;text-indent:-9999px;width:1.01em;height:1em}.k-ie .km-pane-wrapper .k-grid .k-icon{text-indent:0}.km-pane-wrapper .k-column-menu .k-label .k-check{height:16px;width:16px}.km-pane-wrapper .k-edit-field>:not([type=checkbox]):not([type=radio]):not(.k-button),.km-pane-wrapper .k-mobile-list .k-widget,.km-pane-wrapper .km-pane .k-mobile-list input:not([type=checkbox]):not([type=radio]),.km-pane-wrapper .km-pane .k-mobile-list select:not([multiple]),.km-pane-wrapper .km-pane .k-mobile-list textarea{text-indent:0;font-size:1em;line-height:1.6em;vertical-align:middle;height:auto;padding:0;border:0;margin:0;color:inherit;background:0 0;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.km-pane-wrapper .k-mobile-list .k-widget{border:0;border-radius:0}.k-ie .km-pane-wrapper .k-mobile-list .k-widget{height:initial}.km-pane-wrapper .k-mobile-list .k-widget .k-input,.km-pane-wrapper .k-mobile-list .k-widget .k-state-default{border:0;background:0 0}.km-pane-wrapper .k-edit-field>:not([type=checkbox]):not([type=radio]):not(.k-button),.km-pane-wrapper .k-mobile-list .k-widget,.km-pane-wrapper .k-mobile-list select:not([multiple]),.km-pane-wrapper .k-mobile-list textarea,.km-pane-wrapper :not(.k-state-default):not(.k-pager-input)>input:not([type=checkbox]):not([type=radio]){width:80%;padding:.6em 0;margin:-.5em 0}.km-pane-wrapper .k-mobile-list .k-edit-field>*,.km-pane-wrapper .k-mobile-list .k-widget,.km-pane-wrapper .km-pane .k-mobile-list input,.km-pane-wrapper .km-pane .k-mobile-list select:not([multiple]),.km-pane-wrapper .km-pane .k-mobile-list textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;float:right;z-index:1;position:relative}.km-pane-wrapper .km-pane .k-mobile-list.k-filter-menu .k-space-right{padding:10px;border-radius:0}.km-pane-wrapper .km-pane .k-mobile-list.k-filter-menu .k-space-right>input{float:none;width:100%;padding:1px 0;margin:0;border-radius:3px;text-indent:30px;border-width:1px;border-style:solid}.km-pane-wrapper .k-mobile-list .k-edit-field.k-scheduler-toolbar{background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none;padding:.5em 1em}.km-pane-wrapper #recurrence .k-scheduler-navigation{width:100%}.km-pane-wrapper .k-mobile-list .k-scheduler-navigation,.km-pane-wrapper .k-scheduler-views{display:table;table-layout:fixed}.km-pane-wrapper .k-mobile-list .k-scheduler-navigation li,.km-pane-wrapper .k-scheduler-views li{display:table-cell;text-align:center}.km-pane-wrapper .k-mobile-list .k-recur-view>.k-edit-field .k-check{margin:0;padding-left:1em;-webkit-box-sizing:border-box;box-sizing:border-box}.km-pane-wrapper .k-mobile-list .k-recur-view>.k-edit-field .k-check:first-child{margin-top:-.5em}.km-pane-wrapper .k-mobile-list .k-recur-view>.k-edit-field .k-check:last-child{margin-bottom:-.5em}.km-pane-wrapper .k-mobile-list .k-scheduler-timezones .k-edit-field label.k-check{text-indent:1em}.km-pane-wrapper .k-mobile-list .k-edit-field>.k-button{margin-left:20%;float:left}.km-pane-wrapper .k-mobile-list .k-dropdown-wrap,.km-pane-wrapper .k-mobile-list .k-numeric-wrap,.km-pane-wrapper .k-mobile-list .k-picker-wrap{position:static;-webkit-box-shadow:none;box-shadow:none}.km-pane-wrapper .k-mobile-list .k-datepicker .k-select,.km-pane-wrapper .k-mobile-list .k-datetimepicker .k-select,.km-pane-wrapper .k-mobile-list .k-numerictextbox .k-select{position:absolute;top:0;right:0;line-height:normal}.km-pane-wrapper .k-mobile-list .k-datepicker .k-select:before,.km-pane-wrapper .k-mobile-list .k-datetimepicker .k-select:before{content:\\\"\\\\A0\\\";display:inline-block;width:0;height:100%;vertical-align:middle}.km-pane-wrapper .k-mobile-list .k-numerictextbox .k-link{height:50%}.km-pane-wrapper .k-edit-form-container .k-button,.km-pane-wrapper .k-grid .k-button{margin:0}.km-pane-wrapper .k-edit-form-container .k-button+.k-button,.km-pane-wrapper .k-grid .k-button+.k-button{margin:0 0 0 .18em}.km-pane-wrapper .k-pager-numbers .k-link,.km-pane-wrapper .k-pager-numbers .k-state-selected,.km-pane-wrapper .k-pager-wrap>.k-link{width:2.4em;height:2.4em;line-height:2.1em;border-radius:2em;-webkit-box-sizing:border-box;box-sizing:border-box}.km-pane-wrapper .k-pager-numbers .k-link,.km-pane-wrapper .k-pager-numbers .k-state-selected{width:auto;line-height:2.2em;padding:0 .86em;min-width:.7em}.km-pane-wrapper .k-pager-wrap{line-height:2.4em}@media all and (max-width:1024px){.km-pane-wrapper .k-pager-nav+.k-pager-nav~.k-pager-nav{position:absolute;right:.3em;top:.3em}.km-pane-wrapper .k-pager-nav:first-child+.k-pager-nav+.k-pager-nav,.km-pane-wrapper .k-pager-wrap .k-pager-numbers+.k-pager-nav{right:3em}.km-pane-wrapper .k-pager-info,.km-pane-wrapper .k-pager-refresh{display:none}}@media all and (max-width:699px),(-ms-high-contrast:active) and (-ms-high-contrast:none) and (max-width:800px){.km-pane-wrapper .k-edit-field>:not([type=checkbox]):not([type=radio]):not(.k-button),.km-pane-wrapper .k-mobile-list .k-widget,.km-pane-wrapper .k-mobile-list select:not([multiple]),.km-pane-wrapper .k-mobile-list textarea,.km-pane-wrapper :not(.k-state-default):not(.k-pager-input)>input:not([type=checkbox]):not([type=radio]){width:50%}.km-pane-wrapper .k-mobile-list .k-edit-field>.k-button{margin-left:50%}.km-pane-wrapper .k-mobile-list .k-edit-field>.k-timezone-button{margin-left:1em}.km-pane-wrapper .k-nav-today a{padding-left:.6em;padding-right:.6em}.km-pane-wrapper li.k-nav-current{margin-left:0;margin-right:0}.km-pane-wrapper .k-pager-wrap{position:relative}.km-pane-wrapper .k-pager-numbers{width:auto;display:block;overflow:hidden;margin-right:5.5em;float:none;text-overflow:ellipsis;height:2.4em;text-align:center}.km-pane-wrapper .k-pager-numbers li{float:none;display:inline-block}.km-pane-wrapper .k-pager-nav{float:left}}.km-pane-wrapper .k-mobile-list .k-edit-field>*>select:not([multiple]),.km-pane-wrapper .k-mobile-list .k-recur-view>.k-edit-field .k-check,.km-pane-wrapper .k-mobile-list .k-scheduler-timezones .k-edit-field label.k-check{width:100%}.km-scroll-container{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-margin-collapse:separate;-webkit-transform:translatez(0)}.k-widget .km-scroll-wrapper{position:relative;padding-bottom:0}.km-touch-scrollbar{position:absolute;visibility:hidden;z-index:200000;height:.3em;width:.3em;background-color:rgba(0,0,0,.7);opacity:0;-webkit-transition:opacity .3s linear;transition:opacity .3s linear;-webkit-transition:\\\"opacity 0.3s linear\\\";transition:\\\"opacity 0.3s linear\\\"}.km-vertical-scrollbar{height:100%;right:2px;top:2px}.km-horizontal-scrollbar{width:100%;left:2px;bottom:2px}@media only screen and (max-width:1024px){.k-scheduler-toolbar>ul.k-scheduler-views{position:absolute;right:6px;top:6px;z-index:10000}.km-pane-wrapper .k-scheduler-views{width:18em}.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views{right:auto;left:6px}.k-scheduler-toolbar>ul.k-scheduler-views>li:not(.k-current-view){display:none}.k-scheduler-toolbar li.k-nav-current .k-lg-date-format{display:none}.k-scheduler-toolbar li.k-nav-current .k-sm-date-format{display:inline}.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view{display:block;border-width:1px}.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view{text-align:left;padding-left:1em}.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link{display:block;position:relative;padding-right:2.5em;padding-left:1em;-webkit-box-sizing:border-box;box-sizing:border-box}.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link{padding-left:0}.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link:after{content:\\\"\\\\E006\\\";position:absolute;top:50%;right:.6em;margin-top:-.5em;line-height:1em}.k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li,.k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li:first-child+li{display:block;border:0;border-radius:0}.k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded{border:1px solid #c5c5c5;background-color:#fff;background-image:none;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.3);box-shadow:0 2px 2px 0 rgba(0,0,0,.3)}.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded{text-align:left}}@media only screen and (max-width:420px){.km-pane-wrapper .k-scheduler-views{width:auto}}.k-fx-end .k-fx-current,.k-fx-end .k-fx-next{-webkit-transition:all 350ms ease-out;transition:all 350ms ease-out}.k-fx{position:relative}.k-fx .k-fx-current{z-index:0}.k-fx .k-fx-next{z-index:1}.k-fx-hidden,.k-fx-hidden *{visibility:hidden!important}.k-fx-reverse .k-fx-current{z-index:1}.k-fx-reverse .k-fx-next{z-index:0}.k-fx-zoom.k-fx-start .k-fx-next{-webkit-transform:scale(0)!important;-ms-transform:scale(0)!important;transform:scale(0)!important}.k-fx-zoom.k-fx-end .k-fx-next{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-next,.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-current{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:scale(0)!important;-ms-transform:scale(0)!important;transform:scale(0)!important}.k-fx-fade.k-fx-start .k-fx-next{will-change:opacity;opacity:0}.k-fx-fade.k-fx-end .k-fx-next{opacity:1}.k-fx-fade.k-fx-reverse.k-fx-start .k-fx-current{will-change:opacity;opacity:1}.k-fx-fade.k-fx-reverse.k-fx-end .k-fx-current{opacity:0}.k-fx-slide.k-fx-end .k-fx-current .km-content,.k-fx-slide.k-fx-end .k-fx-current .km-footer,.k-fx-slide.k-fx-end .k-fx-current .km-header,.k-fx-slide.k-fx-end .k-fx-next .km-content,.k-fx-slide.k-fx-end .k-fx-next .km-footer,.k-fx-slide.k-fx-end .k-fx-next .km-header{-webkit-transition:all 350ms ease-out;transition:all 350ms ease-out}.k-fx-slide.k-fx-start .k-fx-next .km-content{will-change:transform;-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-slide.k-fx-start .k-fx-next .km-footer,.k-fx-slide.k-fx-start .k-fx-next .km-header{will-change:opacity;opacity:0}.k-fx-slide.k-fx-end .k-fx-current .km-content{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-slide.k-fx-end .k-fx-next .km-footer,.k-fx-slide.k-fx-end .k-fx-next .km-header{opacity:1}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-content{will-change:transform;-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-content{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-content{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-content{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-footer,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-header{will-change:opacity;opacity:1}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-footer,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-header{opacity:1}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-footer,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-header{opacity:0}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-footer,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-header{opacity:1}.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .km-content{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .km-content{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .km-content{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .km-content{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .km-content{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .km-content{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-start .k-fx-next{will-change:transform;-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current{will-change:transform;-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-right.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-right.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-start .k-fx-next{will-change:transform;-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current{will-change:transform;-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-right.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-right.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx.k-fx-overlay.k-fx-left.k-fx-start .k-fx-next,.k-fx.k-fx-overlay.k-fx-start .k-fx-next{will-change:transform;-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx.k-fx-overlay.k-fx-right.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx.k-fx-overlay.k-fx-up.k-fx-start .k-fx-next{-webkit-transform:translatey(100%);-ms-transform:translatey(100%);transform:translatey(100%)}.k-fx.k-fx-overlay.k-fx-down.k-fx-start .k-fx-next{-webkit-transform:translatey(-100%);-ms-transform:translatey(-100%);transform:translatey(-100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:none;-ms-transform:none;transform:none}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-current{will-change:transform;-webkit-transform:none;-ms-transform:none;transform:none}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-end .k-fx-current,.k-fx.k-fx-overlay.k-fx-reverse.k-fx-left.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-right.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-up.k-fx-end .k-fx-current{-webkit-transform:translatey(100%);-ms-transform:translatey(100%);transform:translatey(100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-down.k-fx-end .k-fx-current{-webkit-transform:translatey(-100%);-ms-transform:translatey(-100%);transform:translatey(-100%)}.k-virtual-wrap{position:relative}.k-virtual-wrap .k-list.k-virtual-list{height:auto}.k-virtual-content{overflow-y:scroll;-webkit-overflow-scrolling:touch;position:relative}.k-virtual-list>.k-virtual-content{position:absolute;top:0;width:100%;margin:0;padding:0;list-style-type:none}.k-virtual-option-label{width:100%;margin:0;padding:0;list-style-type:none}.k-virtual-wrap>.k-virtual-header{text-align:right}.k-popup .k-item.k-first{position:relative}.k-virtual-content>.k-virtual-list>.k-virtual-item{position:absolute;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;white-space:nowrap}.k-popup .k-list .k-item>.k-group,.k-popup>.k-group-header,.k-popup>.k-virtual-wrap>.k-group-header{text-transform:uppercase;font-size:.857em}.k-popup .k-list .k-item>.k-group{position:absolute;top:0;right:0;padding:0 .5em;line-height:1.8}.k-popup .k-state-hover>.k-group{right:-1px}.k-group-header+.k-list>.k-item.k-first,.k-static-header+.k-list>.k-item.k-first,.k-virtual-item.k-first{border-top-style:solid;border-top-width:1px;padding-top:0}.k-popup>.k-group-header,.k-popup>.k-virtual-wrap>.k-group-header{text-align:right}@font-face{font-family:WebComponentsIcons;src:url(\" + escape(require(\"./fonts/glyphs/WebComponentsIcons.eot?gedxeo\")) + \");src:url(\" + escape(require(\"./fonts/glyphs/WebComponentsIcons.eot?gedxeo\")) + \"#iefix) format('embedded-opentype'),url(\" + escape(require(\"./fonts/glyphs/WebComponentsIcons.ttf?gedxeo\")) + \") format('truetype'),url(\" + escape(require(\"./fonts/glyphs/WebComponentsIcons.woff?gedxeo\")) + \") format('woff'),url(\" + escape(require(\"./fonts/glyphs/WebComponentsIcons.svg?gedxeo\")) + \"#WebComponentsIcons) format('svg');font-weight:400;font-style:normal}.k-i-arrow-45-up-right:before{content:\\\"\\\\E000\\\"}.k-i-collapse-ne:before{content:\\\"\\\\E000\\\"}.k-i-resize-ne:before{content:\\\"\\\\E000\\\"}.k-i-arrow-45-down-right:before{content:\\\"\\\\E001\\\"}.k-i-collapse-se:before{content:\\\"\\\\E001\\\"}.k-i-collapse:before{content:\\\"\\\\E001\\\"}.k-i-resize-se:before{content:\\\"\\\\E001\\\"}.k-i-arrow-45-down-left:before{content:\\\"\\\\E002\\\"}.k-i-collapse-sw:before{content:\\\"\\\\E002\\\"}.k-i-resize-sw:before{content:\\\"\\\\E002\\\"}.k-i-arrow-45-up-left:before{content:\\\"\\\\E003\\\"}.k-i-collapse-nw:before{content:\\\"\\\\E003\\\"}.k-i-resize-new:before{content:\\\"\\\\E003\\\"}.k-i-arrow-60-up:before{content:\\\"\\\\E004\\\"}.k-i-arrow-n:before{content:\\\"\\\\E004\\\"}.k-i-kpi-trend-increase:before{content:\\\"\\\\E004\\\"}.k-i-arrow-60-right:before{content:\\\"\\\\E005\\\"}.k-i-arrow-e:before{content:\\\"\\\\E005\\\"}.k-i-expand:before{content:\\\"\\\\E005\\\"}.k-i-arrow-60-down:before{content:\\\"\\\\E006\\\"}.k-i-arrow-s:before{content:\\\"\\\\E006\\\"}.k-i-kpi-trend-decrease:before{content:\\\"\\\\E006\\\"}.k-i-arrow-60-left:before{content:\\\"\\\\E007\\\"}.k-i-arrow-w:before{content:\\\"\\\\E007\\\"}.k-i-arrow-end-up:before{content:\\\"\\\\E008\\\"}.k-i-seek-n:before{content:\\\"\\\\E008\\\"}.k-i-arrow-end-right:before{content:\\\"\\\\E009\\\"}.k-i-seek-e:before{content:\\\"\\\\E009\\\"}.k-i-arrow-end-down:before{content:\\\"\\\\E00A\\\"}.k-i-seek-s:before{content:\\\"\\\\E00A\\\"}.k-i-arrow-end-left:before{content:\\\"\\\\E00B\\\"}.k-i-seek-w:before{content:\\\"\\\\E00B\\\"}.k-i-arrow-double-60-up:before{content:\\\"\\\\E00C\\\"}.k-i-arrow-seek-up:before{content:\\\"\\\\E00C\\\"}.k-i-arrow-double-60-right:before{content:\\\"\\\\E00D\\\"}.k-i-arrow-seek-right:before{content:\\\"\\\\E00D\\\"}.k-i-forward-sm:before{content:\\\"\\\\E00D\\\"}.k-i-arrow-double-60-down:before{content:\\\"\\\\E00E\\\"}.k-i-arrow-seek-down:before{content:\\\"\\\\E00E\\\"}.k-i-arrow-double-60-left:before{content:\\\"\\\\E00F\\\"}.k-i-arrow-seek-left:before{content:\\\"\\\\E00F\\\"}.k-i-rewind-sm:before{content:\\\"\\\\E00F\\\"}.k-i-arrows-kpi:before{content:\\\"\\\\E010\\\"}.k-i-kpi:before{content:\\\"\\\\E010\\\"}.k-i-arrows-no-change:before{content:\\\"\\\\E011\\\"}.k-i-arrow-overflow-down:before{content:\\\"\\\\E012\\\"}.k-i-arrow-chevron-up:before{content:\\\"\\\\E013\\\"}.k-i-arrow-chevron-right:before{content:\\\"\\\\E014\\\"}.k-i-arrow-chevron-down:before{content:\\\"\\\\E015\\\"}.k-i-arrow-chevron-left:before{content:\\\"\\\\E016\\\"}.k-i-arrow-up:before{content:\\\"\\\\E017\\\"}.k-i-arrow-right:before{content:\\\"\\\\E018\\\"}.k-i-arrow-down:before{content:\\\"\\\\E019\\\"}.k-i-arrow-left:before{content:\\\"\\\\E01A\\\"}.k-i-arrow-drill:before{content:\\\"\\\\E01B\\\"}.k-i-arrow-parent:before{content:\\\"\\\\E01C\\\"}.k-i-arrow-root:before{content:\\\"\\\\E01D\\\"}.k-i-arrows-resizing:before{content:\\\"\\\\E01E\\\"}.k-i-arrows-dimensions:before{content:\\\"\\\\E01F\\\"}.k-i-arrows-swap:before{content:\\\"\\\\E020\\\"}.k-i-drag-and-drop:before{content:\\\"\\\\E021\\\"}.k-i-categorize:before{content:\\\"\\\\E022\\\"}.k-i-grid:before{content:\\\"\\\\E023\\\"}.k-i-grid-layout:before{content:\\\"\\\\E024\\\"}.k-i-group:before{content:\\\"\\\\E025\\\"}.k-i-ungroup:before{content:\\\"\\\\E026\\\"}.k-i-handler-drag:before{content:\\\"\\\\E027\\\"}.k-i-layout:before{content:\\\"\\\\E028\\\"}.k-i-layout-1-by-4:before{content:\\\"\\\\E029\\\"}.k-i-layout-2-by-2:before{content:\\\"\\\\E02A\\\"}.k-i-layout-side-by-side:before{content:\\\"\\\\E02B\\\"}.k-i-layout-stacked:before{content:\\\"\\\\E02C\\\"}.k-i-columns:before{content:\\\"\\\\E02D\\\"}.k-i-rows:before{content:\\\"\\\\E02E\\\"}.k-i-reorder:before{content:\\\"\\\\E02F\\\"}.k-i-menu:before{content:\\\"\\\\E030\\\"}.k-i-more-vertical:before{content:\\\"\\\\E031\\\"}.k-i-more-horizontal:before{content:\\\"\\\\E032\\\"}.k-i-undo:before{content:\\\"\\\\E100\\\"}.k-i-redo:before{content:\\\"\\\\E101\\\"}.k-i-reset:before{content:\\\"\\\\E102\\\"}.k-i-reload:before{content:\\\"\\\\E103\\\"}.k-i-refresh:before{content:\\\"\\\\E103\\\"}.k-i-recurrence:before{content:\\\"\\\\E103\\\"}.k-i-non-recurrence:before{content:\\\"\\\\E104\\\"}.k-i-reset-sm:before{content:\\\"\\\\E105\\\"}.k-i-reload-sm:before{content:\\\"\\\\E106\\\"}.k-i-refresh-sm:before{content:\\\"\\\\E106\\\"}.k-i-recurrence-sm:before{content:\\\"\\\\E106\\\"}.k-i-clock:before{content:\\\"\\\\E107\\\"}.k-i-calendar:before{content:\\\"\\\\E108\\\"}.k-i-save:before{content:\\\"\\\\E109\\\"}.k-i-floppy:before{content:\\\"\\\\E109\\\"}.k-i-print:before{content:\\\"\\\\E10A\\\"}.k-i-printer:before{content:\\\"\\\\E10A\\\"}.k-i-edit:before{content:\\\"\\\\E10B\\\"}.k-i-pencil:before{content:\\\"\\\\E10B\\\"}.k-i-delete:before{content:\\\"\\\\E10C\\\"}.k-i-trash:before{content:\\\"\\\\E10C\\\"}.k-i-attachment:before{content:\\\"\\\\E10D\\\"}.k-i-clip:before{content:\\\"\\\\E10D\\\"}.k-i-attachment-45:before{content:\\\"\\\\E10E\\\"}.k-i-clip-45:before{content:\\\"\\\\E10E\\\"}.k-i-link-horizontal:before{content:\\\"\\\\E10F\\\"}.k-i-hyperlink:before{content:\\\"\\\\E10F\\\"}.k-i-unlink-horizontal:before{content:\\\"\\\\E110\\\"}.k-i-hyperlink-remove:before{content:\\\"\\\\E110\\\"}.k-i-link-vertical:before{content:\\\"\\\\E111\\\"}.k-i-unlink-vertical:before{content:\\\"\\\\E112\\\"}.k-i-lock:before{content:\\\"\\\\E113\\\"}.k-i-unlock:before{content:\\\"\\\\E114\\\"}.k-i-cancel:before{content:\\\"\\\\E115\\\"}.k-i-cancel-outline:before{content:\\\"\\\\E116\\\"}.k-i-cancel-circle:before{content:\\\"\\\\E117\\\"}.k-i-check:before{content:\\\"\\\\E118\\\"}.k-i-checkmark:before{content:\\\"\\\\E118\\\"}.k-i-check-outline:before{content:\\\"\\\\E119\\\"}.k-i-checkmark-outline:before{content:\\\"\\\\E119\\\"}.k-i-success:before{content:\\\"\\\\E119\\\"}.k-i-check-circle:before{content:\\\"\\\\E11A\\\"}.k-i-checkmark-circle:before{content:\\\"\\\\E11A\\\"}.k-i-close:before{content:\\\"\\\\E11B\\\"}.k-i-x:before{content:\\\"\\\\E11B\\\"}.k-i-close-outline:before{content:\\\"\\\\E11C\\\"}.k-i-x-outline:before{content:\\\"\\\\E11C\\\"}.k-i-error:before{content:\\\"\\\\E11C\\\"}.k-i-close-circle:before{content:\\\"\\\\E11D\\\"}.k-i-x-circle:before{content:\\\"\\\\E11D\\\"}.k-i-plus:before{content:\\\"\\\\E11E\\\"}.k-i-add:before{content:\\\"\\\\E11E\\\"}.k-i-plus-outline:before{content:\\\"\\\\E11F\\\"}.k-i-plus-circle:before{content:\\\"\\\\E120\\\"}.k-i-minus:before{content:\\\"\\\\E121\\\"}.k-i-kpi-trend-equal:before{content:\\\"\\\\E121\\\"}.k-i-minus-outline:before{content:\\\"\\\\E122\\\"}.k-i-minus-circle:before{content:\\\"\\\\E123\\\"}.k-i-sort-asc:before{content:\\\"\\\\E124\\\"}.k-i-sort-desc:before{content:\\\"\\\\E125\\\"}.k-i-unsort:before{content:\\\"\\\\E126\\\"}.k-i-sort-clear:before{content:\\\"\\\\E126\\\"}.k-i-sort-asc-sm:before{content:\\\"\\\\E127\\\"}.k-i-sort-desc-sm:before{content:\\\"\\\\E128\\\"}.k-i-filter:before{content:\\\"\\\\E129\\\"}.k-i-filter-clear:before{content:\\\"\\\\E12A\\\"}.k-i-filter-sm:before{content:\\\"\\\\E12B\\\"}.k-i-filter-sort-asc-sm:before{content:\\\"\\\\E12C\\\"}.k-i-filter-sort-desc-sm:before{content:\\\"\\\\E12D\\\"}.k-i-filter-add-expression:before{content:\\\"\\\\E12E\\\"}.k-i-filter-add-group:before{content:\\\"\\\\E12F\\\"}.k-i-login:before{content:\\\"\\\\E130\\\"}.k-i-logout:before{content:\\\"\\\\E131\\\"}.k-i-download:before{content:\\\"\\\\E132\\\"}.k-i-upload:before{content:\\\"\\\\E133\\\"}.k-i-hyperlink-open:before{content:\\\"\\\\E134\\\"}.k-i-hyperlink-open-sm:before{content:\\\"\\\\E135\\\"}.k-i-launch:before{content:\\\"\\\\E136\\\"}.k-i-window:before{content:\\\"\\\\E137\\\"}.k-i-window-maximize:before{content:\\\"\\\\E137\\\"}.k-i-windows:before{content:\\\"\\\\E138\\\"}.k-i-window-restore:before{content:\\\"\\\\E138\\\"}.k-i-tiles:before{content:\\\"\\\\E138\\\"}.k-i-window-minimize:before{content:\\\"\\\\E139\\\"}.k-i-gear:before{content:\\\"\\\\E13A\\\"}.k-i-cog:before{content:\\\"\\\\E13A\\\"}.k-i-custom:before{content:\\\"\\\\E13A\\\"}.k-i-gears:before{content:\\\"\\\\E13B\\\"}.k-i-cogs:before{content:\\\"\\\\E13B\\\"}.k-i-wrench:before{content:\\\"\\\\E13C\\\"}.k-i-settings:before{content:\\\"\\\\E13C\\\"}.k-i-preview:before{content:\\\"\\\\E13D\\\"}.k-i-eye:before{content:\\\"\\\\E13D\\\"}.k-i-zoom:before{content:\\\"\\\\E13E\\\"}.k-i-search:before{content:\\\"\\\\E13E\\\"}.k-i-zoom-in:before{content:\\\"\\\\E13F\\\"}.k-i-zoom-out:before{content:\\\"\\\\E140\\\"}.k-i-pan:before{content:\\\"\\\\E141\\\"}.k-i-move:before{content:\\\"\\\\E141\\\"}.k-i-calculator:before{content:\\\"\\\\E142\\\"}.k-i-cart:before{content:\\\"\\\\E143\\\"}.k-i-shopping-cart:before{content:\\\"\\\\E143\\\"}.k-i-connector:before{content:\\\"\\\\E144\\\"}.k-i-plus-sm:before{content:\\\"\\\\E145\\\"}.k-i-minus-sm:before{content:\\\"\\\\E146\\\"}.k-i-kpi-status-deny:before{content:\\\"\\\\E147\\\"}.k-i-kpi-status-hold:before{content:\\\"\\\\E148\\\"}.k-i-kpi-status-open:before{content:\\\"\\\\E149\\\"}.k-i-play:before{content:\\\"\\\\E200\\\"}.k-i-pause:before{content:\\\"\\\\E201\\\"}.k-i-stop:before{content:\\\"\\\\E202\\\"}.k-i-rewind:before{content:\\\"\\\\E203\\\"}.k-i-forward:before{content:\\\"\\\\E204\\\"}.k-i-volume-down:before{content:\\\"\\\\E205\\\"}.k-i-volume-up:before{content:\\\"\\\\E206\\\"}.k-i-volume-off:before{content:\\\"\\\\E207\\\"}.k-i-hd:before{content:\\\"\\\\E208\\\"}.k-i-subtitles:before{content:\\\"\\\\E209\\\"}.k-i-playlist:before{content:\\\"\\\\E20A\\\"}.k-i-audio:before{content:\\\"\\\\E20B\\\"}.k-i-play-sm:before{content:\\\"\\\\E20C\\\"}.k-i-pause-sm:before{content:\\\"\\\\E20D\\\"}.k-i-stop-sm:before{content:\\\"\\\\E20E\\\"}.k-i-heart-outline:before{content:\\\"\\\\E300\\\"}.k-i-fav-outline:before{content:\\\"\\\\E300\\\"}.k-i-favorite-outline:before{content:\\\"\\\\E300\\\"}.k-i-heart:before{content:\\\"\\\\E301\\\"}.k-i-fav:before{content:\\\"\\\\E301\\\"}.k-i-favorite:before{content:\\\"\\\\E301\\\"}.k-i-star-outline:before{content:\\\"\\\\E302\\\"}.k-i-bookmark-outline:before{content:\\\"\\\\E302\\\"}.k-i-star:before{content:\\\"\\\\E303\\\"}.k-i-bookmark:before{content:\\\"\\\\E303\\\"}.k-i-checkbox:before{content:\\\"\\\\E304\\\"}.k-i-shape-rect:before{content:\\\"\\\\E304\\\"}.k-i-checkbox-checked:before{content:\\\"\\\\E305\\\"}.k-i-tri-state-indeterminate:before{content:\\\"\\\\E306\\\"}.k-i-tri-state-null:before{content:\\\"\\\\E307\\\"}.k-i-circle:before{content:\\\"\\\\E308\\\"}.k-i-radiobutton:before{content:\\\"\\\\E309\\\"}.k-i-shape-circle:before{content:\\\"\\\\E309\\\"}.k-i-radiobutton-checked:before{content:\\\"\\\\E30A\\\"}.k-i-notification:before{content:\\\"\\\\E400\\\"}.k-i-bell:before{content:\\\"\\\\E400\\\"}.k-i-information:before{content:\\\"\\\\E401\\\"}.k-i-info:before{content:\\\"\\\\E401\\\"}.k-i-question:before{content:\\\"\\\\E402\\\"}.k-i-help:before{content:\\\"\\\\E402\\\"}.k-i-warning:before{content:\\\"\\\\E403\\\"}.k-i-exception:before{content:\\\"\\\\E403\\\"}.k-i-photo-camera:before{content:\\\"\\\\E500\\\"}.k-i-image:before{content:\\\"\\\\E501\\\"}.k-i-photo:before{content:\\\"\\\\E501\\\"}.k-i-image-export:before{content:\\\"\\\\E502\\\"}.k-i-photo-export:before{content:\\\"\\\\E502\\\"}.k-i-zoom-actual-size:before{content:\\\"\\\\E503\\\"}.k-i-zoom-best-fit:before{content:\\\"\\\\E504\\\"}.k-i-image-resize:before{content:\\\"\\\\E505\\\"}.k-i-crop:before{content:\\\"\\\\E506\\\"}.k-i-mirror:before{content:\\\"\\\\E507\\\"}.k-i-flip-horizontal:before{content:\\\"\\\\E508\\\"}.k-i-flip-vertical:before{content:\\\"\\\\E509\\\"}.k-i-rotate:before{content:\\\"\\\\E50A\\\"}.k-i-rotate-right:before{content:\\\"\\\\E50B\\\"}.k-i-rotate-left:before{content:\\\"\\\\E50C\\\"}.k-i-brush:before{content:\\\"\\\\E50D\\\"}.k-i-palette:before{content:\\\"\\\\E50E\\\"}.k-i-paint:before{content:\\\"\\\\E50F\\\"}.k-i-droplet:before{content:\\\"\\\\E50F\\\"}.k-i-background:before{content:\\\"\\\\E50F\\\"}.k-i-line:before{content:\\\"\\\\E510\\\"}.k-i-shape-line:before{content:\\\"\\\\E510\\\"}.k-i-brightness-contrast:before{content:\\\"\\\\E511\\\"}.k-i-saturation:before{content:\\\"\\\\E512\\\"}.k-i-invert-colors:before{content:\\\"\\\\E513\\\"}.k-i-transperancy:before{content:\\\"\\\\E514\\\"}.k-i-opacity:before{content:\\\"\\\\E514\\\"}.k-i-greyscale:before{content:\\\"\\\\E515\\\"}.k-i-blur:before{content:\\\"\\\\E516\\\"}.k-i-sharpen:before{content:\\\"\\\\E517\\\"}.k-i-shape:before{content:\\\"\\\\E518\\\"}.k-i-round-corners:before{content:\\\"\\\\E519\\\"}.k-i-front-element:before{content:\\\"\\\\E51A\\\"}.k-i-back-element:before{content:\\\"\\\\E51B\\\"}.k-i-forward-element:before{content:\\\"\\\\E51C\\\"}.k-i-backward-element:before{content:\\\"\\\\E51D\\\"}.k-i-align-left-element:before{content:\\\"\\\\E51E\\\"}.k-i-align-center-element:before{content:\\\"\\\\E51F\\\"}.k-i-align-right-element:before{content:\\\"\\\\E520\\\"}.k-i-align-top-element:before{content:\\\"\\\\E521\\\"}.k-i-align-middle-element:before{content:\\\"\\\\E522\\\"}.k-i-align-bottom-element:before{content:\\\"\\\\E523\\\"}.k-i-thumbnails-up:before{content:\\\"\\\\E524\\\"}.k-i-thumbnails-right:before{content:\\\"\\\\E525\\\"}.k-i-thumbnails-down:before{content:\\\"\\\\E526\\\"}.k-i-thumbnails-left:before{content:\\\"\\\\E527\\\"}.k-i-full-screen:before{content:\\\"\\\\E528\\\"}.k-i-fullscreen:before{content:\\\"\\\\E528\\\"}.k-i-full-screen-exit:before{content:\\\"\\\\E529\\\"}.k-i-fullscreen-exit:before{content:\\\"\\\\E529\\\"}.k-i-reset-color:before{content:\\\"\\\\E52A\\\"}.k-i-paint-remove:before{content:\\\"\\\\E52A\\\"}.k-i-background-remove:before{content:\\\"\\\\E52A\\\"}.k-i-page-properties:before{content:\\\"\\\\E600\\\"}.k-i-bold:before{content:\\\"\\\\E601\\\"}.k-i-italic:before{content:\\\"\\\\E602\\\"}.k-i-underline:before{content:\\\"\\\\E603\\\"}.k-i-font-family:before{content:\\\"\\\\E604\\\"}.k-i-foreground-color:before{content:\\\"\\\\E605\\\"}.k-i-convert-lowercase:before{content:\\\"\\\\E606\\\"}.k-i-convert-uppercase:before{content:\\\"\\\\E607\\\"}.k-i-strikethrough:before{content:\\\"\\\\E608\\\"}.k-i-sub-script:before{content:\\\"\\\\E609\\\"}.k-i-sup-script:before{content:\\\"\\\\E60A\\\"}.k-i-div:before{content:\\\"\\\\E60B\\\"}.k-i-all:before{content:\\\"\\\\E60C\\\"}.k-i-h1:before{content:\\\"\\\\E60D\\\"}.k-i-h2:before{content:\\\"\\\\E60E\\\"}.k-i-h3:before{content:\\\"\\\\E60F\\\"}.k-i-h4:before{content:\\\"\\\\E610\\\"}.k-i-h5:before{content:\\\"\\\\E611\\\"}.k-i-h6:before{content:\\\"\\\\E612\\\"}.k-i-list-ordered:before{content:\\\"\\\\E613\\\"}.k-i-list-numbered:before{content:\\\"\\\\E613\\\"}.k-i-list-unordered:before{content:\\\"\\\\E614\\\"}.k-i-list-bulleted:before{content:\\\"\\\\E614\\\"}.k-i-indent-increase:before{content:\\\"\\\\E615\\\"}.k-i-indent:before{content:\\\"\\\\E615\\\"}.k-i-indent-decrease:before{content:\\\"\\\\E616\\\"}.k-i-outdent:before{content:\\\"\\\\E616\\\"}.k-i-insert-up:before{content:\\\"\\\\E617\\\"}.k-i-insert-top:before{content:\\\"\\\\E617\\\"}.k-i-insert-middle:before{content:\\\"\\\\E618\\\"}.k-i-insert-down:before{content:\\\"\\\\E619\\\"}.k-i-insert-bottom:before{content:\\\"\\\\E619\\\"}.k-i-align-top:before{content:\\\"\\\\E61A\\\"}.k-i-align-middle:before{content:\\\"\\\\E61B\\\"}.k-i-align-bottom:before{content:\\\"\\\\E61C\\\"}.k-i-align-left:before{content:\\\"\\\\E61D\\\"}.k-i-align-center:before{content:\\\"\\\\E61E\\\"}.k-i-align-right:before{content:\\\"\\\\E61F\\\"}.k-i-align-justify:before{content:\\\"\\\\E620\\\"}.k-i-align-remove:before{content:\\\"\\\\E621\\\"}.k-i-text-wrap:before{content:\\\"\\\\E622\\\"}.k-i-rule-horizontal:before{content:\\\"\\\\E623\\\"}.k-i-table-align-top-left:before{content:\\\"\\\\E624\\\"}.k-i-table-align-top-center:before{content:\\\"\\\\E625\\\"}.k-i-table-align-top-right:before{content:\\\"\\\\E626\\\"}.k-i-table-align-middle-left:before{content:\\\"\\\\E627\\\"}.k-i-table-align-middle-center:before{content:\\\"\\\\E628\\\"}.k-i-table-align-middle-right:before{content:\\\"\\\\E629\\\"}.k-i-table-align-bottom-left:before{content:\\\"\\\\E62A\\\"}.k-i-table-align-bottom-center:before{content:\\\"\\\\E62B\\\"}.k-i-table-align-bottom-right:before{content:\\\"\\\\E62C\\\"}.k-i-table-align-remove:before{content:\\\"\\\\E62D\\\"}.k-i-borders-all:before{content:\\\"\\\\E62E\\\"}.k-i-all-borders:before{content:\\\"\\\\E62E\\\"}.k-i-borders-outside:before{content:\\\"\\\\E62F\\\"}.k-i-outside-borders:before{content:\\\"\\\\E62F\\\"}.k-i-borders-inside:before{content:\\\"\\\\E630\\\"}.k-i-inside-borders:before{content:\\\"\\\\E630\\\"}.k-i-borders-inside-horizontal:before{content:\\\"\\\\E631\\\"}.k-i-inside-horizontal-borders:before{content:\\\"\\\\E631\\\"}.k-i-borders-inside-vertical:before{content:\\\"\\\\E632\\\"}.k-i-inside-vertical-borders:before{content:\\\"\\\\E632\\\"}.k-i-border-top:before{content:\\\"\\\\E633\\\"}.k-i-top-border:before{content:\\\"\\\\E633\\\"}.k-i-border-bottom:before{content:\\\"\\\\E634\\\"}.k-i-bottom-border:before{content:\\\"\\\\E634\\\"}.k-i-border-left:before{content:\\\"\\\\E635\\\"}.k-i-left-border:before{content:\\\"\\\\E635\\\"}.k-i-border-right:before{content:\\\"\\\\E636\\\"}.k-i-right-border:before{content:\\\"\\\\E636\\\"}.k-i-border-no:before{content:\\\"\\\\E637\\\"}.k-i-no-borders:before{content:\\\"\\\\E637\\\"}.k-i-borders-show-hide:before{content:\\\"\\\\E638\\\"}.k-i-form:before{content:\\\"\\\\E639\\\"}.k-i-border:before{content:\\\"\\\\E639\\\"}.k-i-form-element:before{content:\\\"\\\\E63A\\\"}.k-i-code-snippet:before{content:\\\"\\\\E63B\\\"}.k-i-select-all:before{content:\\\"\\\\E63C\\\"}.k-i-button:before{content:\\\"\\\\E63D\\\"}.k-i-select-box:before{content:\\\"\\\\E63E\\\"}.k-i-calendar-date:before{content:\\\"\\\\E63F\\\"}.k-i-group-box:before{content:\\\"\\\\E640\\\"}.k-i-textarea:before{content:\\\"\\\\E641\\\"}.k-i-textbox:before{content:\\\"\\\\E642\\\"}.k-i-textbox-hidden:before{content:\\\"\\\\E643\\\"}.k-i-password:before{content:\\\"\\\\E644\\\"}.k-i-paragraph-add:before{content:\\\"\\\\E645\\\"}.k-i-edit-tools:before{content:\\\"\\\\E646\\\"}.k-i-template-manager:before{content:\\\"\\\\E647\\\"}.k-i-change-manually:before{content:\\\"\\\\E648\\\"}.k-i-track-changes:before{content:\\\"\\\\E649\\\"}.k-i-track-changes-enable:before{content:\\\"\\\\E64A\\\"}.k-i-track-changes-accept:before{content:\\\"\\\\E64B\\\"}.k-i-track-changes-accept-all:before{content:\\\"\\\\E64C\\\"}.k-i-track-changes-reject:before{content:\\\"\\\\E64D\\\"}.k-i-track-changes-reject-all:before{content:\\\"\\\\E64E\\\"}.k-i-document-manager:before{content:\\\"\\\\E64F\\\"}.k-i-custom-icon:before{content:\\\"\\\\E650\\\"}.k-i-dictionary-add:before{content:\\\"\\\\E651\\\"}.k-i-image-light-dialog:before{content:\\\"\\\\E652\\\"}.k-i-image-insert:before{content:\\\"\\\\E652\\\"}.k-i-image-edit:before{content:\\\"\\\\E653\\\"}.k-i-image-map-editor:before{content:\\\"\\\\E654\\\"}.k-i-comment:before{content:\\\"\\\\E655\\\"}.k-i-comment-remove:before{content:\\\"\\\\E656\\\"}.k-i-comments-remove-all:before{content:\\\"\\\\E657\\\"}.k-i-silverlight:before{content:\\\"\\\\E658\\\"}.k-i-media-manager:before{content:\\\"\\\\E659\\\"}.k-i-video-external:before{content:\\\"\\\\E65A\\\"}.k-i-flash-manager:before{content:\\\"\\\\E65B\\\"}.k-i-find-and-replace:before{content:\\\"\\\\E65C\\\"}.k-i-find:before{content:\\\"\\\\E65C\\\"}.k-i-copy:before{content:\\\"\\\\E65D\\\"}.k-i-files:before{content:\\\"\\\\E65D\\\"}.k-i-cut:before{content:\\\"\\\\E65E\\\"}.k-i-paste:before{content:\\\"\\\\E65F\\\"}.k-i-paste-as-html:before{content:\\\"\\\\E660\\\"}.k-i-paste-from-word:before{content:\\\"\\\\E661\\\"}.k-i-paste-from-word-strip-file:before{content:\\\"\\\\E662\\\"}.k-i-paste-html:before{content:\\\"\\\\E663\\\"}.k-i-paste-markdown:before{content:\\\"\\\\E664\\\"}.k-i-paste-plain-text:before{content:\\\"\\\\E665\\\"}.k-i-apply-format:before{content:\\\"\\\\E666\\\"}.k-i-clear-css:before{content:\\\"\\\\E667\\\"}.k-i-copy-format:before{content:\\\"\\\\E668\\\"}.k-i-strip-all-formating:before{content:\\\"\\\\E669\\\"}.k-i-strip-css-format:before{content:\\\"\\\\E66A\\\"}.k-i-strip-font-elements:before{content:\\\"\\\\E66B\\\"}.k-i-strip-span-elements:before{content:\\\"\\\\E66C\\\"}.k-i-strip-word-formatting:before{content:\\\"\\\\E66D\\\"}.k-i-format-code-block:before{content:\\\"\\\\E66E\\\"}.k-i-style-builder:before{content:\\\"\\\\E66F\\\"}.k-i-module-manager:before{content:\\\"\\\\E670\\\"}.k-i-hyperlink-light-dialog:before{content:\\\"\\\\E671\\\"}.k-i-hyperlink-insert:before{content:\\\"\\\\E671\\\"}.k-i-hyperlink-globe:before{content:\\\"\\\\E672\\\"}.k-i-hyperlink-globe-remove:before{content:\\\"\\\\E673\\\"}.k-i-hyperlink-email:before{content:\\\"\\\\E674\\\"}.k-i-anchor:before{content:\\\"\\\\E675\\\"}.k-i-table-light-dialog:before{content:\\\"\\\\E676\\\"}.k-i-table-insert:before{content:\\\"\\\\E676\\\"}.k-i-table:before{content:\\\"\\\\E677\\\"}.k-i-table-properties:before{content:\\\"\\\\E678\\\"}.k-i-table-wizard:before{content:\\\"\\\\E678\\\"}.k-i-table-cell:before{content:\\\"\\\\E679\\\"}.k-i-table-cell-properties:before{content:\\\"\\\\E67A\\\"}.k-i-table-column-insert-left:before{content:\\\"\\\\E67B\\\"}.k-i-table-column-insert-right:before{content:\\\"\\\\E67C\\\"}.k-i-table-row-insert-above:before{content:\\\"\\\\E67D\\\"}.k-i-table-row-insert-below:before{content:\\\"\\\\E67E\\\"}.k-i-table-column-delete:before{content:\\\"\\\\E67F\\\"}.k-i-table-row-delete:before{content:\\\"\\\\E680\\\"}.k-i-table-cell-delete:before{content:\\\"\\\\E681\\\"}.k-i-table-delete:before{content:\\\"\\\\E682\\\"}.k-i-cells-merge:before{content:\\\"\\\\E683\\\"}.k-i-cells-merge-horizontally:before{content:\\\"\\\\E684\\\"}.k-i-cells-merge-vertically:before{content:\\\"\\\\E685\\\"}.k-i-cell-split-horizontally:before{content:\\\"\\\\E686\\\"}.k-i-cell-split-vertically:before{content:\\\"\\\\E687\\\"}.k-i-table-unmerge:before{content:\\\"\\\\E688\\\"}.k-i-pane-freeze:before{content:\\\"\\\\E689\\\"}.k-i-row-freeze:before{content:\\\"\\\\E68A\\\"}.k-i-column-freeze:before{content:\\\"\\\\E68B\\\"}.k-i-toolbar-float:before{content:\\\"\\\\E68C\\\"}.k-i-spell-checker:before{content:\\\"\\\\E68D\\\"}.k-i-validation-xhtml:before{content:\\\"\\\\E68E\\\"}.k-i-validation-data:before{content:\\\"\\\\E68F\\\"}.k-i-toggle-full-screen-mode:before{content:\\\"\\\\E690\\\"}.k-i-formula-fx:before{content:\\\"\\\\E691\\\"}.k-i-sum:before{content:\\\"\\\\E692\\\"}.k-i-symbol:before{content:\\\"\\\\E693\\\"}.k-i-dollar:before{content:\\\"\\\\E694\\\"}.k-i-currency:before{content:\\\"\\\\E694\\\"}.k-i-percent:before{content:\\\"\\\\E695\\\"}.k-i-custom-format:before{content:\\\"\\\\E696\\\"}.k-i-decimal-increase:before{content:\\\"\\\\E697\\\"}.k-i-decimal-decrease:before{content:\\\"\\\\E698\\\"}.k-i-font-size:before{content:\\\"\\\\E699\\\"}.k-i-image-absolute-position:before{content:\\\"\\\\E69A\\\"}.k-i-globe-outline:before{content:\\\"\\\\E700\\\"}.k-i-globe:before{content:\\\"\\\\E701\\\"}.k-i-marker-pin:before{content:\\\"\\\\E702\\\"}.k-i-marker-pin-target:before{content:\\\"\\\\E703\\\"}.k-i-pin:before{content:\\\"\\\\E704\\\"}.k-i-unpin:before{content:\\\"\\\\E705\\\"}.k-i-share:before{content:\\\"\\\\E800\\\"}.k-i-user:before{content:\\\"\\\\E801\\\"}.k-i-inbox:before{content:\\\"\\\\E802\\\"}.k-i-blogger:before{content:\\\"\\\\E803\\\"}.k-i-blogger-box:before{content:\\\"\\\\E804\\\"}.k-i-delicious:before{content:\\\"\\\\E805\\\"}.k-i-delicious-box:before{content:\\\"\\\\E806\\\"}.k-i-digg:before{content:\\\"\\\\E807\\\"}.k-i-digg-box:before{content:\\\"\\\\E808\\\"}.k-i-email:before{content:\\\"\\\\E809\\\"}.k-i-envelop:before{content:\\\"\\\\E809\\\"}.k-i-letter:before{content:\\\"\\\\E809\\\"}.k-i-email-box:before{content:\\\"\\\\E80A\\\"}.k-i-envelop-box:before{content:\\\"\\\\E80A\\\"}.k-i-letter-box:before{content:\\\"\\\\E80A\\\"}.k-i-facebook:before{content:\\\"\\\\E80B\\\"}.k-i-facebook-box:before{content:\\\"\\\\E80C\\\"}.k-i-google:before{content:\\\"\\\\E80D\\\"}.k-i-google-box:before{content:\\\"\\\\E80E\\\"}.k-i-google-plus:before{content:\\\"\\\\E80F\\\"}.k-i-google-plus-box:before{content:\\\"\\\\E810\\\"}.k-i-linkedin:before{content:\\\"\\\\E811\\\"}.k-i-linkedin-box:before{content:\\\"\\\\E812\\\"}.k-i-myspace:before{content:\\\"\\\\E813\\\"}.k-i-myspace-box:before{content:\\\"\\\\E814\\\"}.k-i-pinterest:before{content:\\\"\\\\E815\\\"}.k-i-pinterest-box:before{content:\\\"\\\\E816\\\"}.k-i-reddit:before{content:\\\"\\\\E817\\\"}.k-i-reddit-box:before{content:\\\"\\\\E818\\\"}.k-i-stumble-upon:before{content:\\\"\\\\E819\\\"}.k-i-stumble-upon-box:before{content:\\\"\\\\E81A\\\"}.k-i-tell-a-friend:before{content:\\\"\\\\E81B\\\"}.k-i-tell-a-friend-box:before{content:\\\"\\\\E81C\\\"}.k-i-tumblr:before{content:\\\"\\\\E81D\\\"}.k-i-tumblr-box:before{content:\\\"\\\\E81E\\\"}.k-i-twitter:before{content:\\\"\\\\E81F\\\"}.k-i-twitter-box:before{content:\\\"\\\\E820\\\"}.k-i-yammer:before{content:\\\"\\\\E821\\\"}.k-i-yammer-box:before{content:\\\"\\\\E822\\\"}.k-i-behance:before{content:\\\"\\\\E823\\\"}.k-i-behance-box:before{content:\\\"\\\\E824\\\"}.k-i-dribbble:before{content:\\\"\\\\E825\\\"}.k-i-dribbble-box:before{content:\\\"\\\\E826\\\"}.k-i-rss:before{content:\\\"\\\\E827\\\"}.k-i-rss-box:before{content:\\\"\\\\E828\\\"}.k-i-vimeo:before{content:\\\"\\\\E829\\\"}.k-i-vimeo-box:before{content:\\\"\\\\E82A\\\"}.k-i-youtube:before{content:\\\"\\\\E82B\\\"}.k-i-youtube-box:before{content:\\\"\\\\E82C\\\"}.k-i-folder:before{content:\\\"\\\\E900\\\"}.k-i-folder-open:before{content:\\\"\\\\E901\\\"}.k-i-folder-add:before{content:\\\"\\\\E902\\\"}.k-i-folder-up:before{content:\\\"\\\\E903\\\"}.k-i-folder-more:before{content:\\\"\\\\E904\\\"}.k-i-fields-more:before{content:\\\"\\\\E904\\\"}.k-i-aggregate-fields:before{content:\\\"\\\\E905\\\"}.k-i-file:before{content:\\\"\\\\E906\\\"}.k-i-file-vertical:before{content:\\\"\\\\E906\\\"}.k-i-file-add:before{content:\\\"\\\\E907\\\"}.k-i-file-txt:before{content:\\\"\\\\E908\\\"}.k-i-txt:before{content:\\\"\\\\E908\\\"}.k-i-file-csv:before{content:\\\"\\\\E909\\\"}.k-i-csv:before{content:\\\"\\\\E909\\\"}.k-i-file-excel:before{content:\\\"\\\\E90A\\\"}.k-i-file-xls:before{content:\\\"\\\\E90A\\\"}.k-i-excel:before{content:\\\"\\\\E90A\\\"}.k-i-xls:before{content:\\\"\\\\E90A\\\"}.k-i-file-word:before{content:\\\"\\\\E90B\\\"}.k-i-file-doc:before{content:\\\"\\\\E90B\\\"}.k-i-word:before{content:\\\"\\\\E90B\\\"}.k-i-doc:before{content:\\\"\\\\E90B\\\"}.k-i-file-mdb:before{content:\\\"\\\\E90C\\\"}.k-i-mdb:before{content:\\\"\\\\E90C\\\"}.k-i-file-ppt:before{content:\\\"\\\\E90D\\\"}.k-i-ppt:before{content:\\\"\\\\E90D\\\"}.k-i-file-pdf:before{content:\\\"\\\\E90E\\\"}.k-i-pdf:before{content:\\\"\\\\E90E\\\"}.k-i-file-psd:before{content:\\\"\\\\E90F\\\"}.k-i-psd:before{content:\\\"\\\\E90F\\\"}.k-i-file-flash:before{content:\\\"\\\\E910\\\"}.k-i-flash:before{content:\\\"\\\\E910\\\"}.k-i-file-config:before{content:\\\"\\\\E911\\\"}.k-i-config:before{content:\\\"\\\\E911\\\"}.k-i-file-ascx:before{content:\\\"\\\\E912\\\"}.k-i-ascx:before{content:\\\"\\\\E912\\\"}.k-i-file-bac:before{content:\\\"\\\\E913\\\"}.k-i-bac:before{content:\\\"\\\\E913\\\"}.k-i-file-zip:before{content:\\\"\\\\E914\\\"}.k-i-zip:before{content:\\\"\\\\E914\\\"}.k-i-film:before{content:\\\"\\\\E915\\\"}.k-i-css3:before{content:\\\"\\\\E916\\\"}.k-i-html5:before{content:\\\"\\\\E917\\\"}.k-i-html:before{content:\\\"\\\\E918\\\"}.k-i-source-code:before{content:\\\"\\\\E918\\\"}.k-i-view-source:before{content:\\\"\\\\E918\\\"}.k-i-css:before{content:\\\"\\\\E919\\\"}.k-i-js:before{content:\\\"\\\\E91A\\\"}.k-i-exe:before{content:\\\"\\\\E91B\\\"}.k-i-csproj:before{content:\\\"\\\\E91C\\\"}.k-i-vbproj:before{content:\\\"\\\\E91D\\\"}.k-i-cs:before{content:\\\"\\\\E91E\\\"}.k-i-vb:before{content:\\\"\\\\E91F\\\"}.k-i-sln:before{content:\\\"\\\\E920\\\"}.k-i-cloud:before{content:\\\"\\\\E921\\\"}.k-i-file-horizontal:before{content:\\\"\\\\E922\\\"}.k-i-page-portrait::before{content:\\\"\\\\E906\\\"}.k-i-page-landscape::before{content:\\\"\\\\E922\\\"}.k-rtl .k-i-collapse,.k-rtl .k-i-expand,.k-rtl .k-i-indent-decrease,.k-rtl .k-i-indent-increase{-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.k-spreadsheet{width:800px;height:600px;position:relative;border-width:1px;border-style:solid;cursor:default}.k-spreadsheet .k-spreadsheet-pane{padding-right:1px;position:absolute;border-width:1px;border-bottom-width:0;border-right-width:0;border-style:solid;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.k-spreadsheet .k-spreadsheet-pane.k-top{border-top-width:0}.k-spreadsheet .k-spreadsheet-pane.k-left{border-left-width:0}.k-spreadsheet .k-spreadsheet-pane .k-spreadsheet-cell{position:absolute;white-space:pre;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;padding:1px 3px;-webkit-background-clip:padding-box;background-clip:padding-box}.k-spreadsheet .k-spreadsheet-haxis,.k-spreadsheet .k-spreadsheet-vaxis{position:absolute;border-style:solid}.k-spreadsheet .k-spreadsheet-vaxis{top:0;border-width:0 0 0 1px}.k-spreadsheet .k-spreadsheet-haxis{left:0;border-width:1px 0 0}.k-spreadsheet .k-filter-range,.k-spreadsheet .k-spreadsheet-selection{border-width:1px;border-style:solid;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box}.k-spreadsheet .k-spreadsheet-active-cell{position:absolute;outline-color:transparent!important;-webkit-box-sizing:border-box;box-sizing:border-box}.k-spreadsheet .k-spreadsheet-action-bar{border-width:0 0 1px;border-style:solid;position:relative;display:table;width:100%}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-formula-bar,.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-name-editor{display:table-cell;vertical-align:middle}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-name-editor{position:relative;vertical-align:top;border-width:0 1px 0 0;border-style:solid}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-name-editor .k-combobox{width:9.5em;border-radius:0;border-color:transparent}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-name-editor .k-combobox .k-dropdown-wrap{border-radius:0;border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;border-width:0}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-name-editor .k-combobox .k-dropdown-wrap .k-input{border-radius:0}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-name-editor .k-combobox .k-dropdown-wrap .k-select{border-radius:0;margin:-1px -1px -1px 0;padding:1px 1px 1px 0}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-formula-bar{width:100%;padding-left:31px}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-formula-bar::before{position:relative;display:inline-block;overflow:hidden;width:1em;height:1em;text-align:center;vertical-align:middle;background-image:none;font:16px/1 WebComponentsIcons;speak:none;font-variant:normal;text-transform:none;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\\\"\\\\E691\\\";display:block;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);border-width:0 1px 0 0;border-style:solid;width:24px;margin-left:-24px}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-formula-bar .k-spreadsheet-formula-input.k-spreadsheet-array-formula:before{content:\\\"{\\\";font-weight:700}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-formula-bar .k-spreadsheet-formula-input.k-spreadsheet-array-formula:after{content:\\\"}\\\";font-weight:700}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-formula-input{overflow:hidden;text-indent:.8em;border:0;margin:0}.k-spreadsheet .k-spreadsheet-action-bar .k-state-border-down{padding-bottom:0}.k-spreadsheet .k-spreadsheet-formula-input{outline:0;border-width:0;height:26px;line-height:20px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:pre;padding:3px .5em}.k-spreadsheet .k-spreadsheet-cell-editor{position:absolute;display:none;padding:0 3px;line-height:20px;z-index:2000;overflow:hidden}.k-spreadsheet>.k-spreadsheet-view{position:relative;font-size:12px;font-family:Arial,Verdana,sans-serif}.k-spreadsheet .k-tabstrip-wrapper{position:relative;line-height:1.7em}.k-spreadsheet .k-tabstrip-wrapper .k-tabstrip-items{padding:0 0 0}.k-spreadsheet .k-spreadsheet-quick-access-toolbar{display:inline-block;position:absolute;z-index:1;top:0;left:0;padding:0 0 0}.k-spreadsheet .k-spreadsheet-quick-access-toolbar .k-button{padding:.3em;line-height:1.4em;height:auto}.k-spreadsheet .k-filter-wrapper,.k-spreadsheet .k-merged-cells-wrapper,.k-spreadsheet .k-selection-wrapper,.k-spreadsheet .k-spreadsheet-row-header{position:relative}.k-spreadsheet .k-spreadsheet-column-header{position:absolute}.k-spreadsheet .k-filter-wrapper{pointer-events:none}.k-spreadsheet .k-spreadsheet-sheets-bar{border-width:1px 0 0}.k-spreadsheet .k-vertical-align-center{position:relative;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.k-spreadsheet .k-vertical-align-bottom{position:relative;top:100%;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.k-spreadsheet .k-dirty{position:absolute;top:0;right:0;margin:-2px 0 0 -7px;border-width:4px;border-color:red red transparent transparent}.k-spreadsheet .k-single-selection{cursor:crosshair}.k-spreadsheet .k-single-selection::after{content:\\\" \\\";height:6px;width:6px;position:absolute;display:block;bottom:0;right:0;border-radius:50%;margin-bottom:-4px;margin-right:-4px;border-width:1px;border-style:solid;z-index:100}.k-spreadsheet .k-spreadsheet-edit-container .k-single-selection::after{display:none}.k-spreadsheet .k-auto-fill,.k-spreadsheet .k-auto-fill-br-hint,.k-spreadsheet .k-auto-fill-punch{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box}.k-spreadsheet .k-auto-fill{border-width:1px;border-style:solid;cursor:crosshair}.k-spreadsheet .k-auto-fill-wrapper{position:relative}.k-spreadsheet .k-spreadsheet-vborder{position:absolute;border-left-style:solid;border-left-width:1px}.k-spreadsheet .k-spreadsheet-hborder{position:absolute;border-top-style:solid;border-top-width:1px}.k-spreadsheet-names-popup .k-item{position:relative}.k-spreadsheet-names-popup .k-icon{position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);opacity:.7;cursor:pointer}.k-spreadsheet-names-popup .k-icon:hover{opacity:1}.k-horizontal-resize{cursor:col-resize}.k-vertical-resize{cursor:row-resize}.k-merged-cells-wrapper,.k-selection-wrapper,.k-spreadsheet-active-cell,.k-spreadsheet-data{cursor:cell}.k-horizontal-resize .k-merged-cells-wrapper,.k-horizontal-resize .k-selection-wrapper,.k-horizontal-resize .k-spreadsheet-active-cell,.k-horizontal-resize .k-spreadsheet-data{cursor:col-resize}.k-vertical-resize .k-merged-cells-wrapper,.k-vertical-resize .k-selection-wrapper,.k-vertical-resize .k-spreadsheet-active-cell,.k-vertical-resize .k-spreadsheet-data{cursor:row-resize}.k-spreadsheet .k-colorpicker .k-tool-icon{overflow:visible}.k-button.k-custom-color,.k-button.k-reset-color{display:block;width:100%;border-radius:0;border:none;text-align:left;line-height:2em}.k-spreadsheet-colorpicker .k-colorpalette{border:1px solid #dbdbdb;border-left:none;border-right:none;padding:.4em}.k-spreadsheet-filter{position:absolute;cursor:pointer;pointer-events:all}.k-spreadsheet-sample{float:right}.k-spreadsheet-clipboard,.k-spreadsheet-clipboard-paste{position:fixed;opacity:0;top:0;left:0;overflow:hidden;padding:0;margin:0;border:0;width:1px;height:1px;-webkit-box-sizing:border-box;box-sizing:border-box}textarea.k-spreadsheet-clipboard{position:fixed}.k-spreadsheet-top-corner{position:absolute;top:0;left:0;z-index:10000;border-width:0 1px 1px 0;border-style:solid}.k-spreadsheet-top-corner:after{content:\\\"\\\";display:block;width:0;height:0;overflow:hidden;position:absolute;bottom:0;right:0;border-width:6px;border-style:solid}.k-spreadsheet-scroller{width:100%;height:100%;overflow:scroll;-webkit-overflow-scrolling:touch;position:absolute;z-index:1}.k-spreadsheet-fixed-container{position:absolute;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.k-spreadsheet-view-size{position:relative}.k-spreadsheet-column-header,.k-spreadsheet-row-header{text-align:center}.k-spreadsheet-column-header .k-spreadsheet-cell,.k-spreadsheet-row-header .k-spreadsheet-cell{border-style:solid;border-width:0 1px 1px 0}div.k-spreadsheet-window{padding:1.167em .75em .75em}.k-spreadsheet-window .k-edit-form-container{width:100%}.k-spreadsheet-window .k-root-tabs{border-width:0;margin:-1em -1em 0;padding:.5em 1em 0}.k-spreadsheet-window .k-root-tabs .k-loading{display:none}.k-spreadsheet-window .k-list-wrapper{padding:.15em 0;height:190px}.k-spreadsheet-window .k-list .k-item{border-radius:0;padding:.5em .6em .4em .6em;cursor:pointer;line-height:1.1em}.k-spreadsheet-window .k-format-filter{width:100%}.k-spreadsheet-window .k-format-filter+.k-group-header+.k-list-wrapper{margin-top:1em}.k-spreadsheet-window .k-action-buttons{top:10px;padding:10px;margin-bottom:-webkit-calc(10px - 1em);margin-bottom:calc(10px - 1em)}.k-spreadsheet-window .k-edit-label{width:25%;margin:0 0 0 .75em}.k-spreadsheet-window .k-edit-field{width:67%;margin:0 .917em 0 0}.k-spreadsheet-window .k-edit-field>.k-radio-label{margin-right:1.25em;vertical-align:baseline}.k-spreadsheet-window .k-edit-field>.k-radio-label:after,.k-spreadsheet-window .k-edit-field>.k-radio-label:before{margin-top:-1px}.k-spreadsheet-window .k-edit-field,.k-spreadsheet-window .k-edit-label{padding:0;line-height:3em}.k-spreadsheet-window .k-edit-field .k-dropdown,.k-spreadsheet-window .k-edit-field .k-textbox{width:100%}.k-spreadsheet-window .k-export-config .k-hr{margin-left:15px;margin-right:15px}.k-spreadsheet-window .k-export-config .k-edit-field{width:40%;float:left;margin-left:30px}.k-spreadsheet-window .k-edit-field>input[type=radio]{display:inline;opacity:0;width:0;margin:0}.k-spreadsheet-window .k-page-orientation{position:absolute;right:2em;top:25%}.k-spreadsheet-window .k-page-orientation .k-icon{font-size:6em}.k-spreadsheet-window .k-export-config:after,.k-spreadsheet-window>div:after{content:\\\"\\\";display:block;clear:both;height:0}.k-spreadsheet-format-cells .k-spreadsheet-preview{font-weight:700;text-align:center;font-size:1.16em;line-height:3.64em;margin:0 -.863em .72em;border-style:solid;border-width:1px 0}.k-spreadsheet-border-palette{width:153px}.k-spreadsheet-border-palette .k-spreadsheet-border-type-palette .k-button{-webkit-box-sizing:border-box;box-sizing:border-box;width:20%}.k-spreadsheet-border-palette .k-colorpalette{vertical-align:bottom}.k-spreadsheet-popup .k-separator{width:1px;height:1.8em;vertical-align:middle;display:inline-block}.k-spreadsheet-popup .k-colorpalette{vertical-align:top}.k-spreadsheet-popup .k-button.k-button-icon{padding:.6em;border-width:0;border-radius:0}.k-spreadsheet-popup .k-button.k-button-icontext{display:block;text-align:left;text-transform:initial;padding:.6em 1.2em .6em 1em;border-width:0;border-radius:0}.k-spreadsheet-filter-menu{width:280px}.k-spreadsheet-filter-menu>.k-menu{border-width:0}.k-spreadsheet-filter-menu>.k-menu .k-link{padding-left:26px}.k-spreadsheet-filter-menu>.k-menu .k-link .k-icon{margin-left:-26px;width:26px}.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper{height:200px;overflow-y:scroll;overflow-x:auto;border-width:1px;border-style:solid}.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper .k-treeview{overflow:visible;padding:6px 7px}.k-spreadsheet-filter-menu .k-details{border-top-width:1px;border-top-style:solid;padding:4px 0}.k-spreadsheet-filter-menu .k-details-summary{cursor:pointer;line-height:26px}.k-spreadsheet-filter-menu .k-details-summary .k-icon{margin:0 5px}.k-spreadsheet-filter-menu .k-details-content{padding:0 8px 0 26px}.k-spreadsheet-filter-menu .k-details-content>.k-textbox,.k-spreadsheet-filter-menu .k-details-content>.k-widget{width:100%;margin-bottom:3px}.k-spreadsheet-filter-menu .k-details-content .k-space-right{background-image:none}.k-spreadsheet-filter-menu .k-details-content .k-filter-and{width:75px;margin:8px 0}.k-spreadsheet-filter-menu .k-action-buttons{border-top-width:0;margin:8px;padding:0;position:static}.k-resize-handle,.k-resize-hint{position:absolute}.k-resize-hint-handle{width:100%;height:20px}.k-resize-hint-marker{width:2px;height:100%;margin:0 auto}.k-resize-hint-vertical .k-resize-hint-handle{height:100%;width:20px;float:left}.k-resize-hint-vertical .k-resize-hint-marker{height:2px;width:100%}.k-button.k-spreadsheet-sheets-bar-add,.k-spreadsheet-quick-access-toolbar .k-button{border-color:transparent;background-color:transparent;background-image:none}.k-spreadsheet-tabstrip{border-left-width:0;border-right-width:0;border-top-width:0}.k-spreadsheet-tabstrip>.k-content{border-left-width:0;border-right-width:0;border-bottom-width:0;margin:0;padding:0}.k-spreadsheet-tabstrip .k-loading{display:none}.k-spreadsheet-toolbar.k-toolbar{border-top-width:0;border-left-width:0;border-right-width:0}.k-spreadsheet-toolbar.k-toolbar .k-overflow-anchor+*{margin-left:0}.k-spreadsheet-toolbar.k-toolbar>.k-button-group{border-width:0}.k-spreadsheet-toolbar .k-button,.k-spreadsheet-toolbar>.k-button-group,.k-spreadsheet-toolbar>.k-widget,.k-spreadsheet-toolbar>.k-widget .k-state-default:not(.k-state-hover):not(.k-state-active){margin:0;border-color:transparent;background-color:transparent;background-image:none}.k-spreadsheet-toolbar>.k-widget[data-property=fontSize]{width:75px}.k-spreadsheet-toolbar>.k-widget[data-property=format]{width:100px}.k-spreadsheet-toolbar>.k-widget[data-property=fontFamily]{width:130px}.k-spreadsheet-toolbar>.k-combobox .k-state-default:not(.k-state-hover):not(.k-state-active) .k-input{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.k-spreadsheet-toolbar>.k-widget .k-state-default:not(.k-state-hover):not(.k-state-active) .k-select{border-color:transparent}.k-spreadsheet-toolbar [data-tool=alignment],.k-spreadsheet-toolbar [data-tool=backgroundColor],.k-spreadsheet-toolbar [data-tool=borders],.k-spreadsheet-toolbar [data-tool=freeze],.k-spreadsheet-toolbar [data-tool=merge],.k-spreadsheet-toolbar [data-tool=textColor]{width:auto}.k-spreadsheet-toolbar .k-separator{margin:0 3px;width:0;overflow:hidden;height:1.8em;vertical-align:middle;display:inline-block}.k-spreadsheet-formula-input>.k-syntax-bool.k-syntax-at-point,.k-spreadsheet-formula-input>.k-syntax-func.k-syntax-at-point,.k-spreadsheet-formula-input>.k-syntax-num.k-syntax-at-point,.k-spreadsheet-formula-input>.k-syntax-ref.k-syntax-at-point,.k-spreadsheet-formula-input>.k-syntax-str.k-syntax-at-point{text-decoration:underline}.k-spreadsheet-formula-input>.k-series-a,.k-spreadsheet-formula-input>.k-series-b,.k-spreadsheet-formula-input>.k-series-c,.k-spreadsheet-formula-input>.k-series-d{background-color:transparent}.k-spreadsheet-selection-highlight{border-width:1px;border-style:solid;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box}.k-spreadsheet-formula-list{min-width:100px}.k-spreadsheet-formula-list .k-item{padding:0 .3em;-webkit-box-shadow:none;box-shadow:none}.k-spreadsheet-sheets-bar{position:relative}.k-button.k-spreadsheet-sheets-bar-add{position:absolute;bottom:.2em;left:.4em;z-index:1}.k-spreadsheet-sheets-bar .k-spreadsheet-sheets-remove{padding:0;margin:.5em .5em .5em -.5em;vertical-align:middle}.k-spreadsheet-sheets-bar .k-spreadsheet-sheets-remove .k-button-icon{padding:2px;line-height:normal}.k-spreadsheet-sheets-bar .k-spreadsheet-sheets-remove .k-icon{margin:0}.k-spreadsheet-sheets-items-hint{margin-top:.1em;background:0 0!important;border-width:0!important}.k-spreadsheet-editor-button{position:absolute;width:20px;z-index:10;margin-left:2px;padding:0!important}.k-spreadsheet-editor-button.k-spreadsheet-last-column{margin-left:-21px}.k-spreadsheet-editor-button span{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.hint-wrapper{margin-top:1em}.k-edit-form-container>div:after{display:block;content:\\\"\\\";clear:both}.k-spreadsheet-filter-menu .k-i-arrow-45-down-right{cursor:pointer}.k-spreadsheet-import-errors .k--header-message{font-weight:700;padding-bottom:5px;border-bottom:1px solid #888;margin-bottom:5px}.k-spreadsheet-import-errors .k--errors{max-height:350px;overflow:auto}.k-spreadsheet-import-errors .k--errors table{border-collapse:collapse;font-size:90%}.k-spreadsheet-import-errors .k--errors table td,.k-spreadsheet-import-errors .k--errors table th{padding:2px 4px;border-bottom:1px solid #bbb}.k-spreadsheet-import-errors .k--errors table th{text-align:left;border-bottom:1px solid #000}.k-dialog{min-width:90px;min-height:3em;max-width:100%;max-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.k-window.k-dialog{position:fixed;padding-top:0}.k-dialog .k-dialog-titlebar{position:relative;margin:0;padding:.8em;width:auto}.k-dialog .k-dialog-titlebar .k-dialog-title{margin:0;padding:0;width:auto;max-width:-webkit-calc(100% - 20px);max-width:calc(100% - 20px);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.2em;line-height:1.2em;vertical-align:top}.k-dialog .k-content{margin:0;padding:1.8em 1em 1.8em 1em;height:auto}.k-dialog.k-dialog-titleless .k-content{padding:2.4em}.k-dialog{overflow:hidden}.k-dialog .k-dialog-buttongroup{margin:0;padding:0;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.k-dialog .k-dialog-buttongroup .k-button{display:inline-block;text-overflow:ellipsis}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-stretched .k-button{margin:0;border-radius:0;border-bottom:0;border-width:1px 0 0 1px}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-stretched .k-button:first-child{border-left-width:0}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-stretched .k-button:last-child{border-right-width:0}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-normal{padding:1em;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-normal .k-button{margin-left:.5em}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-normal .k-button:first-child{margin-left:0}.k-dialog .k-dialog-titlebar .k-dialog-actions{top:50%;margin-top:-11px;right:.8em;padding:0}.k-dialog a.k-dialog-action.k-dialog-close{cursor:pointer;z-index:10000}.k-dialog.k-dialog-titleless a.k-dialog-action.k-dialog-close{position:absolute;right:.5em;top:.5em}.k-dialog.k-alert .k-dialog-titlebar,.k-dialog.k-confirm .k-dialog-titlebar,.k-dialog.k-prompt .k-dialog-titlebar{background:0 0;border-bottom:none}.k-dialog.k-alert .k-content,.k-dialog.k-confirm .k-content{padding:2.4em}.k-dialog.k-prompt .k-content{padding:1.2em 1.2em .6em 1.2em}.k-dialog .k-prompt-container{width:auto;padding:.6em 1.2em 1.8em 1.2em}.k-dialog .k-prompt-container .k-textbox{width:100%}.k-dialog .k-button{-webkit-box-sizing:border-box;box-sizing:border-box}@font-face{font-family:\\\"DejaVu Sans\\\";src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSans.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Sans\\\";font-weight:700;src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSans-Bold.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Sans\\\";font-style:italic;src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSans-Oblique.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Sans\\\";font-weight:700;font-style:italic;src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSans-BoldOblique.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Serif\\\";src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSerif.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Serif\\\";font-weight:700;src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSerif-Bold.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Serif\\\";font-style:italic;src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSerif-Italic.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Serif\\\";font-weight:700;font-style:italic;src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSerif-BoldItalic.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Mono\\\";src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSansMono.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Mono\\\";font-weight:700;src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSansMono-Bold.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Mono\\\";font-style:italic;src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSansMono-Oblique.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}@font-face{font-family:\\\"DejaVu Mono\\\";font-weight:700;font-style:italic;src:url(\" + escape(require(\"./fonts/DejaVu/DejaVuSansMono-BoldOblique.ttf?v=1.1\")) + \") format(\\\"truetype\\\")}.kendo-pdf-hide-pseudo-elements:after,.kendo-pdf-hide-pseudo-elements:before{display:none!important}.k-pdf-export sub,.k-pdf-export sup{display:inline-block}.k-button{line-height:1.28571428em;padding:8px 14px}.k-button-icon,.k-split-button-arrow{padding:8px 7px;height:-webkit-calc(1.28571428em + 18px);height:calc(1.28571428em + 18px);width:-webkit-calc(1.28571428em + 18px);width:calc(1.28571428em + 18px)}.k-widget.k-tabstrip{background-image:none;border-style:none;-webkit-box-shadow:none;box-shadow:none}.k-tabstrip .k-tabstrip-items{padding:0}.k-tabstrip>.k-button.k-bare{top:.3em}.k-panelbar .k-tabstrip>div.k-content,.k-tabstrip>div.k-content{margin:0}.k-panel>.k-item>.k-link,.k-panelbar>.k-item>.k-link{line-height:3.5em}.k-tabstrip>.k-tabstrip-items>.k-item{text-transform:uppercase;border-width:0;border-style:solid;padding:0}.k-tabstrip-left>.k-tabstrip-items .k-loading,.k-tabstrip-right>.k-tabstrip-items .k-loading{display:none}.k-tabstrip-top>.k-tabstrip-items .k-state-active,.k-tabstrip-top>.k-tabstrip-items .k-tab-on-top{margin-bottom:-1px}.k-tabstrip-top>.k-tabstrip-items>.k-item{border-bottom-width:2px}.k-tabstrip-left>.k-tabstrip-items .k-state-active,.k-tabstrip-left>.k-tabstrip-items .k-tab-on-top{margin-right:-2px}.k-tabstrip-left>.k-tabstrip-items>.k-item{border-right-width:2px}.k-tabstrip-right>.k-tabstrip-items>.k-item{border-left-width:2px}.k-tabstrip-bottom>.k-tabstrip-items>.k-item{border-top-width:2px}.k-tabstrip .k-tabstrip-items .k-link{padding:1.071em}.k-slider-track{border-width:1px;border-style:solid}.k-grouping-dropclue{margin-top:10px}.k-filter-row th,.k-grid-header th.k-header{padding:.786em .6em}.k-grid-header th.k-header{padding-left:1.286em}.k-rtl .k-grid-header th.k-header{padding-right:1.286em}.k-filtercell>span{padding-right:5.714em}.k-filtercell>span>.k-button{padding-left:.714em;padding-right:.714em;line-height:1.286em;margin:0}.k-filter-row .k-dropdown-operator{width:2.714em;right:2.857em}.k-filter-menu{padding:.5em .5em 0}.k-filter-menu .k-button{margin:0;width:50%;border-radius:0}.k-filter-menu .k-primary{float:right}.k-filter-menu>div>div:last-child{margin:.5em -.5em 0;border-top-width:1px;border-top-style:solid}.k-filter-menu .k-primary{border-left-width:1px;border-left-style:solid}.k-grouping-header .k-group-indicator{padding:.5em .15em .429em .4em}.k-grid .k-grouping-row td{padding:.6em .6em .643em}.k-grouping-header .k-button,.k-grouping-header a{vertical-align:baseline}.k-grid td{padding:.929em 1.286em}.k-grid-header th.k-header>.k-link{padding:0;margin:0;min-height:16px;line-height:inherit}.k-grouping-header{line-height:2.6}.k-grid-content tr:last-child>td,.k-grid-content-locked tr:last-child>td{border-bottom-width:0}.k-grid tr td,.k-pivot-layout .k-grid tr td{border-bottom-width:1px;border-style:solid}.k-grouping-row+tr td{border-top-width:0}.k-grid-content table tr:first-child td,.k-grid-content-locked table tr:first-child td{border-top:0}.k-grid-content tr td{border-left-width:0}.k-pager-numbers .k-state-selected{line-height:2.429em;cursor:pointer}.k-pager-numbers .k-link,.k-pager-numbers .k-state-selected{border-width:2px 0 0;padding-top:.7em}.k-pager-wrap{line-height:1.286em;padding:.429em 0 .429em .25em}.k-pager-numbers .k-link,.k-pager-wrap>.k-link{height:2.429em;line-height:2.429em}.k-pager-sizes,.k-pager-wrap .k-link{padding:0;min-width:2.429em}.k-pager-wrap .k-pager-numbers .k-state-selected{margin-top:-.45em;padding-top:.45em;min-width:2.429em}.k-pager-wrap input.k-textbox{height:2.571em}.k-pager-info{padding:.714em 1.333em .643em 1.333em}.k-pager-wrap .k-pager-refresh{margin-right:1.214em}.k-pager-wrap .k-dropdown{width:5.2em}.k-combobox>.k-dropdown-wrap>.k-i-close{right:3.3em}.k-combobox-clearable .k-input{padding-right:2.5em}.k-multiselect>.k-multiselect-wrap>.k-i-close{top:7px}.k-autocomplete .k-i-loading,.k-multiselect .k-i-loading{bottom:10px}.k-multiselect>.k-multiselect-wrap>.k-i-close{top:10px}.k-autocomplete>.k-i-close,.k-multiselect>.k-multiselect-wrap>.k-i-close{right:10px}.k-dropdown-wrap,.k-numeric-wrap,.k-picker-wrap{padding:0 2.42857142em 0 0}.k-dropdown-wrap .k-select,.k-numeric-wrap .k-select,.k-picker-wrap .k-select{width:2.42857142em}.k-datetimepicker{width:19.5em}.k-datetimepicker .k-select{width:5em}.k-datetimepicker .k-picker-wrap{padding-right:5em}.k-datetimepicker .k-picker-wrap .k-icon{margin:0 6px}.k-calendar .k-header{margin:0 -5px}.k-calendar td{padding:0}.k-calendar .k-content .k-link{min-height:2.571em;line-height:2.571em;padding:0;text-align:center}.k-calendar .k-century .k-link{text-align:left;padding:0 .7em;line-height:1.3em}.k-calendar th{border-bottom-width:0;padding:.714em .45em .714em 0}.k-calendar .k-footer{border-top-width:1px;border-top-style:solid;margin:0 -5px}.k-popup.k-list-container{padding:.286em 0}.k-popup.k-calendar-containe{padding:0}.k-fieldselector .k-list .k-item,.k-popup .k-list .k-item,.k-popup>.k-group-header{min-height:2.143em;line-height:2.143em}.k-fieldselector .k-pivot-configurator-settings li.k-item{padding-right:3.8em}.k-popup .k-list .k-item{padding:1px 11px}.k-button,.k-calendar .k-footer,.k-calendar .k-header .k-link{text-transform:uppercase}.k-widget.k-calendar .k-nav-fast{width:65%;height:2.571em;line-height:2.571em;margin:.429em -.08333em .429em 0}.k-calendar .k-header .k-icon{vertical-align:middle}.k-widget.k-calendar .k-nav-next,.k-widget.k-calendar .k-nav-prev{position:absolute;top:.429em;line-height:2.571em;height:2.571em}.k-calendar .k-header .k-link.k-nav-next,.k-calendar .k-header .k-link.k-nav-prev{height:2.571em;width:2.571em}.k-widget.k-calendar .k-nav-prev{left:.429em}.k-widget.k-calendar .k-nav-next{right:.429em}.k-calendar .k-footer .k-nav-today,.k-calendar .k-footer>.k-state-disabled{padding:1.143em 0 1.071em}.k-popup.k-calendar-container{padding:0;border:0}.k-multiselect-wrap li{border-radius:1.071em;margin:3px 0 3px 3px;padding:0 1.6em 0 .857em;line-height:1.85742857em;min-height:-webkit-calc(2.42842857em - 6px);min-height:calc(2.42842857em - 6px)}.k-multiselect-wrap li span{margin-right:.4em}.k-multiselect-wrap li span.k-icon{margin:0}.k-multiselect-wrap .k-select{padding-top:0}.k-numeric-wrap .k-select{vertical-align:baseline}.k-numerictextbox .k-link{display:block;height:1.21271429em}.k-numerictextbox .k-link .k-i-arrow-60-up{vertical-align:bottom}.k-numerictextbox .k-link .k-i-arrow-60-down{vertical-align:top}.k-menu .k-item,.k-menu.k-header,.k-widget.k-menu-horizontal>.k-item{border-width:0}.k-popup.k-context-menu{border-width:1px;border-style:solid}.k-context-menu.k-menu-vertical>.k-item>.k-link,.k-menu .k-menu-group .k-item>.k-link{padding:.5em 4.929em .5em 1.714em}.k-menu .k-item>.k-link>.k-i-arrow-60-right{right:2.143rem}.k-menu .k-animation-container .k-menu-group{padding:1.143em 0}.k-column-menu .k-menu .k-animation-container .k-menu-group{padding:0}.k-column-menu .k-menu-vertical .k-separator{height:0}table.k-editor{border-spacing:0}.k-editor.k-resizable .k-editable-area{padding-bottom:20px}.k-editor .k-editable-area .k-content{border-width:1px 0 0}.k-editor .k-editor-toolbar-wrap{padding-left:10px}.k-toolbar{padding:.42857143em}.k-toolbar .k-button{padding:14px 8px;border-radius:0}.k-toolbar .k-button,.k-toolbar .k-split-button{margin-top:-webkit-calc(-.42857143em - 1px);margin-top:calc(-.42857143em - 1px);margin-bottom:-webkit-calc(-.42857143em - 1px);margin-bottom:calc(-.42857143em - 1px)}.k-toolbar .k-split-button .k-button{margin-top:0;margin-bottom:0}.k-toolbar .k-button-icon,.k-toolbar .k-split-button-arrow{height:-webkit-calc(1.28571428em + 30px);height:calc(1.28571428em + 30px)}.k-toolbar .k-button-icon{width:-webkit-calc(1.28571428em + 30px);width:calc(1.28571428em + 30px)}.k-toolbar .k-overflow-anchor+.k-button,.k-toolbar>.k-button:first-child:not(.k-overflow-anchor){margin-left:-.42857143em}.k-toolbar .k-button-group .k-button{margin-left:0}.k-toolbar .k-input{text-indent:.8em;border:0;margin:0}.k-toolbar .k-overflow-anchor{border-width:1px;width:3.42em;padding:0;margin:0}.k-overflow-container .k-overflow-button,.k-split-container .k-button{font-size:1.2em}.k-button-group .k-tool{margin:6px 0}.k-editor-toolbar li.k-overflow-tools,.k-editor-toolbar li.k-tool-group{padding:0;-webkit-box-shadow:none;box-shadow:none}.k-editor-toolbar .k-button-group .k-tool{width:48px;height:48px;line-height:48px;margin:0}.k-editor-toolbar .k-button-group .k-tool.k-group-end,.k-editor-toolbar .k-tool{border-width:0}.k-editor-toolbar .k-state-selected{font-weight:700}.k-filebrowser .k-filebrowser-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.k-filebrowser .k-toolbar-wrap{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.k-filebrowser .k-upload .k-upload-button{vertical-align:bottom}.k-filebrowser .k-search-wrap .k-search{right:4px}.k-filebrowser .k-search-wrap{padding:2px .3em}.k-filebrowser .k-tiles-arrange{margin-left:auto}.k-filebrowser .k-tiles-arrange .k-dropdown{width:80px}.k-draghandle{border-width:2px}span.k-tooltip{padding:9px 17px}.k-block>.k-header,.k-window-titlebar{padding:.5em 0 .571em}.k-window-titlebar .k-window-actions{top:.3em;right:.8em}div.k-window{border-width:0}.k-window-title{padding:0 12px}div.k-window-content{padding:1.333em}div.editorToolbarWindow.k-window-content{padding:0}.editorToolbarWindow .k-editortoolbar-dragHandle{line-height:30px}.k-file{padding:.643em .17em .643em 1em}.k-scheduler-table td,.k-scheduler-table th{height:1.643em}.k-gantt-treelist .k-grid-header tr{height:5.714em}.k-gantt-timeline .k-grid-header tr{height:2.857em}.k-gantt .k-task-summary-complete:after,.k-gantt .k-task-summary-complete:before,.k-gantt .k-task-summary:after,.k-gantt .k-task-summary:before{border-width:0}.k-gantt .k-task{border-width:0}.k-gantt .k-task-actions{line-height:2.429em}.k-gantt .k-task-single{margin-top:-.429em}.k-gantt .k-task-template{padding:.643em 1.4em .643em .6em}.k-gantt .k-task-milestone{width:17px;height:17px}.k-gantt .k-task-draghandle{margin:0 23px;border-width:8px;border-radius:0 50% 50% 50%;border-style:solid;bottom:-11px}.k-gantt .k-gantt-timeline th{text-align:left}.k-gantt .k-grid-content tr,.k-gantt-rows tr,.k-gantt-tasks tr{height:3.5em}.k-gantt-edit-form>.k-edit-form-container .k-numerictextbox,.k-gantt-edit-form>.k-edit-form-container .k-textbox{width:19.5em}.k-notification-wrap{padding:1.786em}.k-notification-wrap>.k-i-close{top:21px}.k-slider-track{border-width:0}.k-slider-horizontal .k-slider-selection,.k-slider-horizontal .k-slider-track{height:2px;margin-top:-1px}.k-slider-vertical .k-slider-selection,.k-slider-vertical .k-slider-track{width:2px;margin-left:-1px}.k-flatcolorpicker .k-hue-slider .k-draghandle,.k-flatcolorpicker .k-transparency-slider .k-draghandle,.k-slider-horizontal .k-draghandle,.k-slider-vertical .k-draghandle{width:6px;height:6px}.k-flatcolorpicker .k-hue-slider .k-draghandle{margin-top:-1px}.k-colorpicker .k-picker-wrap{line-height:2.42857143em}.k-colorpicker .k-selected-color{height:2.42857142em;width:2.42857142em}.k-colorpicker .k-selected-color .k-i-line{line-height:2.42857142em;font-size:2.42857142em}.k-draghandle.k-state-selected,.k-draghandle.k-state-selected:link,.k-flatcolorpicker .k-hue-slider .k-draghandle.k-state-selected,.k-flatcolorpicker .k-transparency-slider .k-draghandle.k-state-selected{width:10px;height:10px}.k-draghandle.k-state-focused.k-state-selected{margin-left:-2px}.k-flatcolorpicker .k-hue-slider .k-draghandle.k-state-selected,.k-slider-horizontal .k-draghandle.k-state-selected{top:-6px}.k-slider-vertical .k-draghandle.k-state-selected{left:-4px}.k-panelbar-collapse,.k-panelbar-expand{right:16px}.k-header.k-grid-toolbar{border-color:#3343a4}.k-grid-toolbar,.k-grouping-header{padding:.429em}.k-grouping-header{padding-left:1.286em}.k-grid .k-icon{opacity:.45}.k-grid-filter .k-icon{opacity:.7}.k-grid td.k-group-cell,.k-grid th.k-group-cell{text-overflow:clip}form.k-filter-menu .k-textbox{margin-bottom:7px}.k-gantt-toolbar,.k-scheduler-footer .k-scheduler-fullday,.k-scheduler-toolbar .k-nav-today,.k-scheduler-toolbar .k-scheduler-views{text-transform:uppercase}.k-scheduler-footer .k-icon.k-i-clock{display:none}.k-gantt-toolbar>ul>li,.k-scheduler-toolbar>ul>li{border-width:0 0 2px 0}.k-gantt-toggle,.k-gantt-toolbar li .k-link,.k-scheduler-toolbar li .k-link{vertical-align:middle;line-height:46px}.k-gantt-toggle{padding:0}.k-gantt-actions{vertical-align:middle;line-height:48px}.k-gantt-actions>.k-button{vertical-align:middle}.k-gantt-toolbar,.k-scheduler-footer,.k-scheduler-toolbar{line-height:44px;vertical-align:middle}.k-scheduler-footer{padding:0}.k-popup-edit-form .k-primary{float:right}.k-popup-edit-form:after{content:\\\" \\\";display:block;clear:both}.k-gantt-toolbar,.k-scheduler-toolbar{padding:0 1.286em}.k-scheduler-navigation{margin-left:-.786em}.k-drag-clue{font-size:1em;padding:.65em 1em}.k-splitbar-horizontal-hover .k-resize-handle{background-position:-165px -6px}.k-splitbar-vertical-hover .k-resize-handle{background-position:-38px -309px}.k-splitbar-horizontal.k-state-focused .k-resize-handle{background-position:-181px -6px}.k-splitbar-vertical.k-state-focused .k-resize-handle{background-position:-70px -309px}.k-grid-header .k-grid-filter,.k-grid-header .k-header-column-menu{padding:.714em;margin:-.786em -.6em -.786em 0}.k-checkbox-label,.k-checkbox-wrapper,.k-radio-label{line-height:18px}.k-checkbox:indeterminate+.k-checkbox-label:before{border-width:2px}.k-checkbox+.k-checkbox-label:before{z-index:1}.k-checkbox:indeterminate+.k-checkbox-label:after{width:10px;height:10px;border-width:0;margin-left:0;top:5px;left:5px;-webkit-transform:none;-ms-transform:none;transform:none;z-index:2}.k-radio:checked+.k-radio-label:after{top:4px;left:4px}.k-rtl .k-widget .k-dropdown-wrap,.k-rtl .k-widget .k-numeric-wrap,.k-rtl .k-widget .k-picker-wrap{padding-left:2.5em}.k-rtl .k-widget.k-autocomplete>.k-i-close,.k-rtl .k-widget.k-multiselect>.k-multiselect-wrap>.k-i-close{left:0;right:initial;margin-left:10px;margin-right:0}.k-rtl .k-widget.k-combobox>.k-dropdown-wrap>.k-i-close{left:3.3em;right:initial}.k-rtl .k-widget.k-datetimepicker .k-picker-wrap{padding-left:5em}.k-rtl .k-widget.k-datetimepicker .k-picker-wrap .k-icon{margin:0 6px}.km-pane-wrapper .k-pager-numbers .k-link,.km-pane-wrapper .k-pager-numbers .k-state-selected,.km-pane-wrapper .k-pager-wrap>.k-link{border-radius:0}.km-pane-wrapper .k-pager-numbers .k-link,.km-pane-wrapper .k-pager-wrap>.k-link,.km-pane-wrapper .k-pager-wrap>.k-pager-info{padding:.571em .86em}.km-pane-wrapper .k-pager-numbers .k-state-selected{padding:.971em .86em .571em}.km-pane-wrapper .k-pager-numbers .k-link{min-width:2.429em}.km-pane-wrapper .k-mobile-list .k-edit-field.k-scheduler-toolbar{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:0}.km-pane-wrapper .k-mobile-list .k-edit-field.k-scheduler-toolbar .k-scheduler-navigation{margin-bottom:-.6em}.km-pane-wrapper .k-scheduler-views{width:auto}.k-spreadsheet .k-spreadsheet-action-bar{font-size:14px}.k-spreadsheet-window .k-edit-field,.k-spreadsheet-window .k-edit-label{padding:0;line-height:4em}.k-spreadsheet-window .k-edit-label>label{vertical-align:middle}.k-spreadsheet-window .k-edit-field .k-radio-label{padding-left:1.75em}.k-spreadsheet-window .k-edit-field>.k-radio-label:after,.k-spreadsheet-window .k-edit-field>.k-radio-label:before{margin-top:-2px}div.k-spreadsheet-window{padding:1em}.k-editor-dialog.k-editor-table-wizard-dialog.k-window-content{min-width:325px;width:25.8em}.k-editor-dialog.k-editor-table-wizard-dialog .k-tabstrip-wrapper .k-content{min-height:510px;height:42em}.k-edit-form-container .editor-label,.k-edit-label{padding:.8em 0 1em}.k-edit-form-container{width:410px}.k-editor-dialog .k-root-tabs{padding:0 1em}.k-editor-dialog ul.k-tabstrip-items{padding:0;border:0}.k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown.k-align{min-width:59px}.k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-dropdown,.k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox{width:15.74em}.k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown.k-align,.k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-numerictextbox+.k-dropdown{width:4.7em}.k-animation-container .k-popup.k-align .k-list .k-icon{line-height:1.4em}.k-animation-container .k-popup.k-align .k-list .k-i-align-remove{line-height:1.6em}.k-editor-dialog.k-editor-table-wizard-dialog .k-edit-buttons{padding:.6em 1.3em}.k-grid .k-edit-cell input.k-checkbox+label.k-checkbox-label{margin-left:1em}.k-rtl .k-combobox-clearable .k-input{padding-left:2.5em}.k-rtl .k-toolbar .k-overflow-anchor+.k-button,.k-rtl .k-toolbar>.k-button:first-child:not(.k-overflow-anchor){margin-right:-.42857143em;margin-right:.2em}.k-rtl .k-gantt .k-task-template{padding:.643em .6em .643em 1.4em}.k-rtl .k-gantt .k-task-draghandle{border-radius:50% 0 50% 50%}.k-rtl .k-popup-edit-form .k-primary{float:left}.k-safari.k-mobile .k-numeric-wrap .k-input,.k-safari.k-mobile .k-picker-wrap .k-input{height:2.15em}\\r\\n\", \"\"]);\n\n// exports\n","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/** \\r\\n * Kendo UI v2018.1.221 (http://www.telerik.com/kendo-ui) \\r\\n * Copyright 2018 Telerik AD. All rights reserved. \\r\\n * \\r\\n * Kendo UI commercial licenses may be obtained at \\r\\n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \\r\\n * If you do not own a commercial license, this file shall be governed by the trial license terms. \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n*/@-ms-viewport{width:device-width;user-zoom:fixed;max-zoom:1;min-zoom:1}@media (orientation:landscape){.km-tablet .km-on-ios.km-horizontal.km-web:not(.km-ios-chrome){position:fixed;bottom:0}}.km-root{font-size:.92em}.km-root.km-retina input,.km-root.km-retina select,.km-root.km-retina textarea{font-size:1em}.km-root a:not(.k-button){color:inherit}.km-tablet{font-size:1em}.km-root :focus{outline-width:0}.km-pane,.km-pane-wrapper,.km-root{width:100%;height:100%;-ms-touch-action:none;-ms-content-zooming:none;-ms-user-select:none;-webkit-user-select:none;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;overflow-x:hidden}.km-pane-wrapper{position:absolute}.km-pane,.km-shim{font-family:sans-serif}.km-pane{overflow-x:hidden;position:relative}.km-vertical .km-collapsible-pane{position:absolute;z-index:2!important;-webkit-transition:-webkit-transform 350ms ease-out;transition:-webkit-transform 350ms ease-out;transition:transform 350ms ease-out;transition:transform 350ms ease-out,-webkit-transform 350ms ease-out;-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.km-vertical .km-expanded-splitview .km-collapsible-pane{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.km-expanded-pane-shim{position:absolute;left:0;top:0;width:100%;height:100%;display:none}.km-expanded-splitview .km-expanded-pane-shim{display:block;z-index:1}.km-root>*{margin:0;padding:0}.km-root *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.km-content{display:block}.km-split-content,.km-view{top:0;left:0;position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;vertical-align:top}.k-ff .km-pane,.k-ff .km-view{overflow:hidden}.k-ff18 .km-pane,.k-ff18 .km-view,.k-ff19 .km-pane,.k-ff19 .km-view,.k-ff20 .km-pane,.k-ff20 .km-view,.k-ff21 .km-pane,.k-ff21 .km-view{position:relative}.k-ff .km-view{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.km-content{min-height:1px;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;flex-align:stretch;width:auto;overflow:hidden;position:relative}.km-content h1,.km-content h2,.km-content h3,.km-content h4,.km-content h5,.km-content h6,.km-content p{margin-left:1rem;margin-right:1rem}.km-footer,.km-header{display:block;display:-moz-box;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.km-header{padding:0}.km-footer{background:#1a1a1a}[data-role=layout]{display:none}[data-role=drawer],[data-role=view],kendo-mobile-drawer,kendo-mobile-split-view,kendo-mobile-view{visibility:hidden}.km-view{visibility:visible}.km-footer,.km-header{position:relative;z-index:1}@media all and (-webkit-min-device-pixel-ratio:10000),not all and (-webkit-min-device-pixel-ratio:0){.km-view{display:table}.km-content,.km-footer,.km-header{display:table-row}.km-footer,.km-header{height:1px}}.km-blackberry li.km-actionsheet-cancel>a,.km-button,.km-buttongroup,.km-navbar,.km-root .k-toolbar,.km-tabstrip{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-background-origin:border-box;background-origin:border-box;position:relative;display:inline-block;padding:.4em .7em;margin:.1rem;overflow:visible;text-decoration:none}.km-navbar,.km-root .k-toolbar,.km-tabstrip{display:block;padding:.8em;margin:0;width:100%;border-width:0;-webkit-box-sizing:border-box;box-sizing:border-box}.km-native-scroller{overflow:auto;-webkit-overflow-scrolling:touch;-ms-touch-action:pan-x pan-y;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-scroll-snap-type:proximity}.km-default-content{padding:1em}.km-shim{left:0;bottom:0;position:fixed;width:100%;height:100%!important;background:rgba(0,0,0,.6);z-index:10001;-webkit-box-sizing:border-box;box-sizing:border-box}.km-root .km-shim{position:absolute}.km-shim:before{content:\\\"\\\\A0\\\";height:100%;width:0;display:inline-block;vertical-align:middle}.km-shim .k-animation-container{-webkit-box-shadow:none;box-shadow:none;border:0;width:auto}.km-loader{top:50%;left:50%;width:180px;height:130px;z-index:100000;padding:30px 30px;position:absolute;margin-top:-70px;margin-left:-90px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:rgba(0,0,0,.5)}.km-loader h1{font-size:1rem;color:#fff;text-align:center;vertical-align:middle}.km-load-more .km-icon,.km-loader .km-loading,.km-scroller-refresh .km-icon{-webkit-animation:km-spin 1s infinite linear;animation:km-spin 1s infinite linear;display:block;margin:0 auto;width:35px;height:35px;font-size:35px}.km-load-more .km-icon:after,.km-loader .km-loading:after{color:#ccc}.km-loading-left,.km-loading-right{display:none}@-webkit-keyframes km-spin{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-webkit-keyframes km-ios-spin{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-webkit-keyframes km-ios-spin1{from{-webkit-transform:rotate(-135deg)}to{-webkit-transform:rotate(225deg)}}@keyframes km-ios-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes km-ios-spin1{from{-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}to{-webkit-transform:rotate(225deg);transform:rotate(225deg)}}.km-stretched-view{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.km-stretched-view>*{width:100%}.km-stretched-view>.km-pane-wrapper{position:static}.km-stretched-view>.km-pane-wrapper>.km-pane{position:static}.km-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:0 0;z-index:100000}.km-root.km-native-scrolling,.km-root.km-native-scrolling .km-splitview .km-pane,.km-root.km-native-scrolling .km-view{min-height:100%;height:auto;-webkit-transform:none;overflow-x:visible}.km-native-scrolling,.km-native-scrolling .km-pane,.km-native-scrolling .km-view{-ms-touch-action:auto}.km-native-scrolling .km-pane,.km-native-scrolling .km-view{display:block}.km-native-scrolling .km-content{-ms-flex:auto}.km-native-scrolling .km-blackberry .km-content{min-height:auto}.km-native-scrolling .km-splitview{position:absolute}.km-native-scrolling .km-header{position:fixed;top:0}.km-native-scrolling .km-android .km-header{top:auto;bottom:0}.km-native-scrolling .km-footer{position:fixed;bottom:0}.km-native-scrolling .km-android .km-footer{top:0;bottom:auto}.km-native-scrolling .km-badge{z-index:auto}.km-native-scrolling .km-popup.km-pane .km-footer,.km-native-scrolling .km-popup.km-pane .km-header,.km-native-scrolling .km-splitview .km-footer,.km-native-scrolling .km-splitview .km-header{position:absolute}.km-native-scrolling .km-modalview .km-footer,.km-native-scrolling .km-modalview .km-header{position:relative}.km-native-scrolling .km-content{width:100%}.km-native-scrolling .km-popup-overlay,.km-native-scrolling .km-shim{position:fixed;top:0;bottom:0;height:auto!important}.km-native-scrolling .km-drawer{position:fixed;top:0;height:100%!important;overflow:auto!important;-webkit-overflow-scrolling:touch}.km-native-scrolling>.km-pane>.km-loader{position:fixed}.km-native-scrolling .km-footer,.km-native-scrolling .km-header{z-index:2}.km-state-disabled{opacity:.5}.km-badge,.km-detail{text-decoration:none;display:inline-block;vertical-align:middle;overflow:hidden;text-align:center;position:absolute;z-index:1;height:2em;font-size:.6rem;text-shadow:none}.km-badge{top:-1em;right:-1em;line-height:2em;margin-left:.5em;min-width:.9em;padding:0 .55em;-webkit-background-clip:padding-box;background-clip:padding-box}.km-tabstrip .km-badge{top:-.2em;right:auto;margin-left:-1em}.km-detail{position:absolute;float:right;right:.8rem;top:50%;margin-top:-.7rem;width:1.3rem;height:1.3rem;font-size:1rem;-webkit-box-sizing:border-box;box-sizing:border-box}.km-widget .km-detaildisclose{font-size:.8em}.k-ff .km-detail{width:1rem;height:1rem}.km-detail .km-text{display:none}.km-detail .km-icon,.km-widget .km-contactadd:after,.km-widget .km-contactadd:before,.km-widget .km-detaildisclose:after,.km-widget .km-detaildisclose:before,.km-widget .km-rowdelete:after,.km-widget .km-rowdelete:before,.km-widget .km-rowinsert:after,.km-widget .km-rowinsert:before{left:.15em;top:.15em;line-height:1em;font-size:1em;position:absolute}.km-widget .km-detaildisclose:after{left:.1em;top:.25em;text-align:center;font-weight:700}.km-button{cursor:pointer;outline:0;text-align:center}button.km-button{display:inline-block;font:inherit}.km-button:hover{text-decoration:none}.km-button::-moz-focus-inner{padding:0;border:0}.km-android .km-state-disabled .km-button,.km-blackberry .km-state-disabled .km-button,.km-ios .km-state-disabled .km-button,.km-meego .km-state-disabled .km-button{color:#aaa;text-shadow:none}.km-root .km-pane .k-button:active,.km-root .km-pane .k-button:focus,.km-root .km-pane .k-button:focus:active{-webkit-box-shadow:none;box-shadow:none}.km-buttongroup{padding:.4rem .7rem;-webkit-margin-collapse:separate;margin-collapse:separate;margin:.5em auto}.km-widget.km-buttongroup{padding:0;border-color:transparent;background:0 0;white-space:nowrap;display:table}.km-buttongroup>.km-button{display:table-cell}.km-buttongroup .km-badge{z-index:1}.km-widget.km-buttongroup .km-button{margin:0;border-width:1px 0 1px 1px;padding:.48em .9em .44em}.km-tablet .km-buttongroup .km-button{padding:.4em .8em .34em}.km-widget.km-navbar .km-buttongroup{font-size:.95rem;line-height:1em;margin:0 0 .2em;display:inline-block;height:1.5em;top:-2px}.k-toolbar .km-buttongroup{margin:0;display:inline-block}.km-tablet .km-navbar .km-buttongroup{top:-1px}.km-widget.km-navbar .km-buttongroup>.km-button{font-size:1em;min-width:4rem;text-align:center}.km-tablet .km-navbar .km-buttongroup>.km-button{min-width:6rem}.km-view .km-buttongroup .km-button:last-child{border-right-width:1px}.km-ios .km-buttongroup .km-button{font-size:1.2em;font-weight:700}.km-hide-title{display:none}.km-show-title:after{display:block;content:\\\"\\\\A0\\\";height:0}.km-fill-title:after{height:auto}.km-footer .km-show-title:after{display:inline-block}.km-dialog-title,.km-view-title{position:relative;visibility:visible;text-align:center;font-size:1.4em;line-height:2.3em;margin-left:auto;margin-right:auto}.km-dialog-title:before,.km-view-title:before{content:\\\"\\\";display:inline-block;width:0}.km-horizontal .km-view-title{line-height:2em}.km-navbar,.km-root .k-toolbar{padding:0;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative;overflow:hidden;display:block;border-width:0 0 1px 0;background-color:#fff}.k-ff .km-navbar,.k-ff.km-root .k-toolbar{overflow:visible}.km-navbar .km-button{margin-top:.5rem;margin-bottom:.5rem}.km-navbar .km-no-title{padding-top:.7rem;padding-bottom:.7rem}.km-horizontal .km-navbar .km-button{margin-top:.3rem;margin-bottom:.3rem}.km-horizontal .km-navbar .km-no-title{padding-top:.5rem;padding-bottom:.5rem}.km-tablet.km-root .km-no-title{padding-top:.55rem;padding-bottom:.55rem}.km-tablet .km-navbar .km-button{margin-top:.45rem;margin-bottom:.45rem}.km-root .km-pane .km-navbar .km-no-title{visibility:visible;line-height:0}.km-on-ios.km-black-translucent-status-bar.km-app .km-header .km-navbar{padding-top:1.4em;-webkit-background-clip:border-box;background-clip:border-box}.km-on-ios.km-ios5.km-cordova .km-header .km-navbar,.km-on-ios.km-ios6.km-cordova .km-header .km-navbar{padding-top:0}.km-leftitem,.km-rightitem{z-index:1;position:absolute;right:.5em}.km-popup .km-rightitem{right:0}.km-leftitem{left:.5em;right:auto}.km-popup .km-leftitem{left:0}.km-leftitem,.km-rightitem{height:100%}.km-on-ios.km-black-translucent-status-bar.km-app .km-leftitem,.km-on-ios.km-black-translucent-status-bar.km-app .km-rightitem{height:auto}.km-leftitem>*,.km-rightitem>*{display:inline-block;vertical-align:middle}.km-leftitem:before,.km-rightitem:before{content:\\\"\\\\A0\\\";display:inline-block;height:100%;width:0;vertical-align:middle}.km-tabstrip{padding:.4rem .7rem}.km-horizontal .km-tabstrip{padding:.2rem .7rem}.km-tabstrip{flex-align:start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-moz-box-pack:start;padding:0;text-align:center;word-spacing:-1em}.km-tabstrip .km-button{word-spacing:normal;-webkit-box-shadow:none;box-shadow:none;vertical-align:bottom}@media screen and (-webkit-min-device-pixel-ratio:0){.km-tabstrip{word-spacing:normal;width:100%}}.km-tabstrip .km-button{font-family:Arial,Helvetica,sans-serif;color:#a8a8a8;padding:.4em .8em;border-width:0;border-color:transparent;background:0 0;margin:0;text-align:center}.km-tabstrip .km-button:first-child{border-left:0}.km-tabstrip .km-button:last-child{border-right:0}.km-switch input[type=checkbox]{display:none}.km-checkbox,.km-switch{text-align:left;font-size:1rem;display:inline-block;width:6.4rem;height:2rem;line-height:2rem;position:relative;overflow:hidden}.km-slider-wrapper,.km-switch-wrapper{display:block;height:100%;width:100%;overflow:hidden}.km-slider-background,.km-switch-background{display:block;margin:0 1px 1px -5em;height:100%;width:200%}.km-switch-container{top:0;left:0;position:absolute;display:block;height:100%;width:100%;overflow:hidden;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.km-checkbox{width:1.8rem;height:1.8rem}.km-checkbox-checked:after{content:\\\"\\\\A0\\\";display:block;width:100%;height:100%}.km-switch-handle{top:0;left:0;width:2.72em;height:100%;display:inline-block;margin:-1px 0 0 -1px;background-color:#000}.km-switch-label-off,.km-switch-label-on{display:block;width:130%;font-size:1em;line-height:2em;text-align:center;position:absolute;text-transform:uppercase}.km-switch-label-off{left:104%}.km-switch-label-on{left:-134%;text-shadow:0 -1px 0 rgba(0,0,0,.3)}.km-list .km-switch{position:absolute;top:50%;right:.8rem;margin-top:-1rem}.km-listview-link:after{width:.5rem;height:.5rem;content:\\\"\\\\A0\\\";display:inline-block;vertical-align:middle;margin-left:-.2rem;border-style:solid;border-width:.24rem .24rem 0 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.km-listview-wrapper>ul:not(.km-listview){margin:0 auto}.km-list,.km-listview{padding:0;margin:0;list-style-type:none}.km-listgroupinset,.km-listinset{margin:1em}.k-ff .km-listgroupinset:after,.k-ff .km-listinset:after{display:block;height:0;content:\\\"\\\\A0\\\"}.km-listgroupinset .km-list,.km-listinset{overflow:hidden}.km-listview .km-switch{margin-top:-.95rem;position:absolute;right:.8rem;top:50%}.km-listview .km-list{text-indent:0}.km-list>li,.km-widget .km-listview-label,.km-widget .km-listview-link{margin:0;display:block;position:relative;list-style-type:none;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em .7em}.km-list>li{line-height:1.6em;overflow:hidden}.km-virtual-list{position:relative;width:100%;-webkit-transform:translateZ(0)}.km-virtual-list>li{width:100%;position:absolute;top:0;-webkit-transform:translateZ(0)}.km-widget .km-list .km-load-more,.km-widget.km-list .km-load-more{border-bottom:0}.km-list>li>*{line-height:normal}.km-group-title{display:block;font-weight:700;padding:.2em 0;text-indent:.8em}.km-listgroupinset .km-group-title{margin-top:.65em;line-height:2em}.km-list:not(.km-virtual-list)>li:first-child{border-top-width:0}.km-list:not(.km-virtual-list)>li:last-child{border-bottom-width:0}.km-widget .km-listview-label,.km-widget .km-listview-link{line-height:inherit;text-decoration:none;margin:-.5em -.7em}.km-listview-label:after,.km-listview-link:after{border-color:#777;content:\\\"\\\\A0\\\";display:block;position:absolute;right:1rem;top:50%;margin-top:-.32rem}.km-filter-form{width:100%;padding:.5em 0;border:1px solid transparent;border-width:1px 0;-webkit-transform:translatez(0);-ms-transform:translatez(0);transform:translatez(0)}.km-filter-wrap{position:relative;margin:0 .7em;padding:.2em .4em;border:1px solid transparent}.km-widget .km-filter-wrap:before{display:inline-block;vertical-align:middle;content:\\\"\\\\E0E9\\\";font-size:1.6em;width:1em;height:1em;margin-right:-1em;color:inherit}.km-tablet .km-filter-wrap{max-width:24em;margin:0 auto}.km-filter-wrap>input[type=search]::-webkit-search-cancel-button{display:none}.km-filter-wrap input{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border:0;background:0 0;-moz-appearance:none;-webkit-appearance:none;vertical-align:middle;padding:0 1.4em}.km-filter-reset{display:inline-block;margin-left:-1.6em;vertical-align:middle;text-align:center;z-index:1;text-decoration:none;height:100%}.km-filter-reset .km-clear{font-size:1.6em;width:1em;height:1em;display:block}.km-filter-reset>.km-text{position:absolute;top:-3333px;left:-3333px}.km-load-more{display:block;padding:.3em 0 1.2em;height:3.2em;text-align:center}.km-list .km-listview-item-badge.km-badge,.km-list .km-listview-link>.km-badge{top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transform:translateY(-50%);right:4em}.km-scrollview{white-space:nowrap;overflow:hidden;position:relative;width:100%}.km-scrollview>div>*{-webkit-transform:translatez(0)}.km-scrollview>div>[data-role=page]{vertical-align:top;display:inline-block;min-height:1px}.km-scrollview .km-virtual-page{min-height:1px;position:absolute;top:0;left:0;display:inline-block}.k-ff18 .km-scrollview>div,.k-ff19 .km-scrollview>div,.k-ff20 .km-scrollview>div,.k-ff21 .km-scrollview>div{width:0}.km-pages{text-align:center;margin:0;padding:.6em 0 0;height:1.5em}.km-pages li{display:inline-block;width:.5em;height:.55em;margin:0 .3em}.km-item label.km-item-checked:after,.km-item label:before{position:absolute;content:\\\" \\\";display:block;top:50%;left:.6em;width:36px;height:36px;margin-top:-18px}.km-widget .k-slider{line-height:.6em;position:relative;display:inline-block;vertical-align:middle;text-align:center}.km-widget .k-slider-horizontal{width:50%;height:.6em;line-height:.6em}.km-list .k-slider{position:absolute;right:0;margin-top:-.5em;top:50%}.km-root .k-slider-track{left:1em!important;right:1em;height:100%;display:block;position:absolute;border:.5em solid transparent;border-width:.5em 0}.km-widget .k-slider-horizontal .k-slider-track{width:auto!important}.km-widget .k-slider .k-slider-track{-webkit-background-clip:padding-box;background-clip:padding-box}.km-widget .k-slider-selection,.km-widget .k-slider-track{margin-top:0;border-radius:5px;-webkit-box-shadow:inset 0 0 1px rgba(0,0,0,.3);box-shadow:inset 0 0 1px rgba(0,0,0,.3)}.km-widget .k-slider-horizontal .k-slider-selection{top:0;height:100%}.km-widget .k-slider-items{margin:0}.km-widget .k-slider .k-draghandle{text-indent:-3333px;left:0;width:1.2em;height:1.2em;display:block;position:absolute}.km-widget .k-slider-vertical .k-draghandle{left:-5px}.km-widget .k-slider-tooltip{display:none}.km-dialog{position:absolute;min-width:19em;max-width:25em;overflow:hidden}.km-dialog-title{position:static;float:none;height:2.6em;margin-top:-2.6em;font-size:1.22em;line-height:3em}.km-dialog:before{content:\\\"\\\\A0\\\";display:block;overflow:visible;width:100%;height:3em;opacity:.2}.km-dialog-content{font-weight:400;min-height:2em;text-align:center}.km-dialog .km-button{display:block;margin:.4em;font-size:1.3em;text-align:center;padding:.44em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.km-list .k-dropdown,.km-list input[type=color],.km-list input[type=date],.km-list input[type=datetime-local],.km-list input[type=datetime],.km-list input[type=email],.km-list input[type=file],.km-list input[type=month],.km-list input[type=number],.km-list input[type=password],.km-list input[type=search],.km-list input[type=tel],.km-list input[type=text]:not(.k-input),.km-list input[type=time],.km-list input[type=url],.km-list input[type=week],.km-list select:not([multiple]),.km-list textarea{width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:1.2em;position:absolute;top:50%;line-height:normal;z-index:1;right:0;margin-top:-1em}.km-widget .k-slider .k-button,.km-widget .k-slider .k-label,.km-widget .k-slider .k-tick{display:none}.km-list textarea{position:relative;width:-webkit-calc(50% + .7em);width:calc(50% + .7em);margin-right:-.7em}.km-list input,.km-list input[type=checkbox],.km-list input[type=radio],.km-list select,.km-list textarea{appearance:none;-moz-appearance:none;-webkit-appearance:none}.km-list input[type=checkbox],.km-list input[type=radio]{position:absolute;top:50%;right:.7em;margin-top:-.5em;background:0 0}.km-widget input,.km-widget textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.km-widget input[readonly],.km-widget input[type=image],.km-widget select:not([multiple]){-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.km-list textarea{top:0}.km-list .k-dropdown{line-height:1.4em}.km-list .k-dropdown,.km-list .k-dropdown .k-input{background-color:transparent}.km-list .k-dropdown-wrap{display:inline-block}.km-list .k-dropdown~.km-listview-link:after,.km-list .km-listview-label:after,.km-list input~.km-listview-link:after,.km-list select~.km-listview-link:after,.km-list textarea~.km-listview-link:after{display:none}.km-list .k-dropdown .k-select,.km-list .k-dropdown select{display:none}.km-widget .km-list textarea{position:relative;float:right;margin-top:0;font-family:inherit}.km-listview-label input[type=checkbox],.km-listview-label input[type=radio]{border:0;font-size:inherit;width:1em;height:.9em}.km-list label.km-required:after{content:\\\"*\\\";display:inline-block;width:1rem;height:1rem}.km-list .km-label-above{width:100%;display:block}.km-list .km-icon-label:before{display:inline-block;width:1em;height:1em;font:1em/1em \\\"Kendo UI\\\";margin-right:.89em}.km-list .km-label-above .k-dropdown,.km-list .km-label-above input[type=color],.km-list .km-label-above input[type=date],.km-list .km-label-above input[type=datetime-local],.km-list .km-label-above input[type=datetime],.km-list .km-label-above input[type=email],.km-list .km-label-above input[type=file],.km-list .km-label-above input[type=month],.km-list .km-label-above input[type=number],.km-list .km-label-above input[type=password],.km-list .km-label-above input[type=search],.km-list .km-label-above input[type=tel],.km-list .km-label-above input[type=text]:not(.k-input),.km-list .km-label-above input[type=time],.km-list .km-label-above input[type=url],.km-list .km-label-above input[type=week],.km-list .km-label-above select:not([multiple]),.km-list .km-label-above textarea{width:100%;right:0;padding-left:0;-ms-transform:translateY(0);transform:translateY(0);-webkit-transform:translateY(0)}.km-list fieldset .k-dropdown-wrap,.km-list fieldset input[type=color],.km-list fieldset input[type=date],.km-list fieldset input[type=datetime-local],.km-list fieldset input[type=datetime],.km-list fieldset input[type=email],.km-list fieldset input[type=month],.km-list fieldset input[type=number],.km-list fieldset input[type=password],.km-list fieldset input[type=search],.km-list fieldset input[type=tel],.km-list fieldset input[type=text]:not(.k-input),.km-list fieldset input[type=time],.km-list fieldset input[type=url],.km-list fieldset input[type=week],.km-list fieldset select:not([multiple]),.km-list textarea{width:100%;position:relative;-ms-transform:translateY(0);transform:translateY(0);-webkit-transform:translateY(0);right:auto}.km-list fieldset textarea{width:100%;-ms-transform:translateY(0);transform:translateY(0);-webkit-transform:translateY(0);margin-right:0;padding-left:0}.km-list .km-legend-button{display:block;text-decoration:none}.km-list .km-inline-field{display:inline-block;position:relative;width:-webkit-calc(50% - 1.61em);width:calc(50% - 1.61em);overflow:hidden;white-space:nowrap}.km-list .km-inline-field .k-dropdown,.km-list .km-inline-field input[type=color],.km-list .km-inline-field input[type=date],.km-list .km-inline-field input[type=datetime-local],.km-list .km-inline-field input[type=datetime],.km-list .km-inline-field input[type=email],.km-list .km-inline-field input[type=file],.km-list .km-inline-field input[type=month],.km-list .km-inline-field input[type=number],.km-list .km-inline-field input[type=password],.km-list .km-inline-field input[type=search],.km-list .km-inline-field input[type=tel],.km-list .km-inline-field input[type=text]:not(.k-input),.km-list .km-inline-field input[type=time],.km-list .km-inline-field input[type=url],.km-list .km-inline-field input[type=week],.km-list .km-inline-field select:not([multiple]),.km-list .km-inline-field textarea{position:absolute;width:100%;left:0}.km-list .km-full-width-slider{position:relative;width:auto;display:block}.km-root input.km-checkbox,.km-root input.km-radio{display:inline;opacity:0;width:0;margin:0;height:0}.km-root .km-checkbox-label,.km-root .km-radio-label{display:block;position:relative;vertical-align:middle}.km-root .km-checkbox-label:after,.km-root .km-checkbox-label:before{content:\\\"\\\";position:absolute;top:0}.km-root input.km-checkbox:checked+.km-checkbox-label:after{content:\\\"\\\\E227\\\";font-family:\\\"Kendo UI\\\"}.km-root .km-radio-label{position:relative;vertical-align:middle}.km-root .km-radio-label:before{content:\\\"\\\";position:absolute;top:0;left:0;border-radius:50%}.km-root input.km-radio:checked+.km-radio-label:after{content:\\\"\\\";position:absolute;top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transform:translateY(-50%);left:.25rem;border-radius:50%}.km-root .km-invalid-msg{font-size:1.2rem;position:static;display:inline-block;border-width:1px;padding-top:12px;padding-bottom:11px;width:100%;text-align:center}.km-root .km-icon-label.k-i-arrow-e:before{content:\\\"\\\\E000\\\"}.km-root .km-icon-label.k-i-arrow-n:before{content:\\\"\\\\E001\\\"}.km-root .km-icon-label.k-i-arrow-s:before{content:\\\"\\\\E002\\\"}.km-root .km-icon-label.k-i-arrow-w:before{content:\\\"\\\\E003\\\"}.km-root .km-icon-label.k-i-arrow-ne:before{content:\\\"\\\\E004\\\"}.km-root .km-icon-label.k-i-arrow-nw:before{content:\\\"\\\\E005\\\"}.km-root .km-icon-label.k-i-arrow-se:before{content:\\\"\\\\E006\\\"}.km-root .km-icon-label.k-i-arrow-sw:before{content:\\\"\\\\E007\\\"}.km-root .km-icon-label.k-i-seek-e:before{content:\\\"\\\\E008\\\"}.km-root .km-icon-label.k-i-seek-n:before{content:\\\"\\\\E009\\\"}.km-root .km-icon-label.k-i-seek-s:before{content:\\\"\\\\E00A\\\"}.km-root .km-icon-label.k-i-seek-w:before{content:\\\"\\\\E00B\\\"}.km-root .km-icon-label.k-i-sarrow-e:before,.km-root .km-icon-label.k-si-arrow-e:before{content:\\\"\\\\E00C\\\"}.km-root .km-icon-label.k-i-sarrow-n:before,.km-root .km-icon-label.k-si-arrow-n:before{content:\\\"\\\\E00D\\\"}.km-root .km-icon-label.k-i-sarrow-s:before,.km-root .km-icon-label.k-si-arrow-s:before{content:\\\"\\\\E00E\\\"}.km-root .km-icon-label.k-i-sarrow-w:before,.km-root .km-icon-label.k-si-arrow-w:before{content:\\\"\\\\E00F\\\"}.km-root .km-icon-label.k-i-arrowhead-e:before{content:\\\"\\\\E010\\\"}.km-root .km-icon-label.k-i-arrowhead-n:before{content:\\\"\\\\E011\\\"}.km-root .km-icon-label.k-i-arrowhead-s:before{content:\\\"\\\\E012\\\"}.km-root .km-icon-label.k-i-arrowhead-w:before{content:\\\"\\\\E013\\\"}.km-root .km-icon-label.k-i-arrowhead-ew:before{content:\\\"\\\\E014\\\"}.km-root .km-icon-label.k-i-arrowhead-ns:before{content:\\\"\\\\E015\\\"}.km-root .km-icon-label.k-i-move:before{content:\\\"\\\\E016\\\"}.km-root .km-icon-label.k-i-resize:before{content:\\\"\\\\E017\\\"}.km-root .km-icon-label.k-i-resize-45:before{content:\\\"\\\\E018\\\"}.km-root .km-icon-label.k-i-resize-135:before{content:\\\"\\\\E019\\\"}.km-root .km-icon-label.k-i-resize-h:before{content:\\\"\\\\E01A\\\"}.km-root .km-icon-label.k-i-resize-v:before{content:\\\"\\\\E01B\\\"}.km-root .km-icon-label.k-i-refresh:before{content:\\\"\\\\E01C\\\"}.km-root .km-icon-label.k-i-refresh-rev:before{content:\\\"\\\\E01D\\\"}.km-root .km-icon-label.k-i-srefresh:before,.km-root .km-icon-label.k-si-refresh:before{content:\\\"\\\\E01E\\\"}.km-root .km-icon-label.k-i-srefresh-rev:before,.km-root .km-icon-label.k-si-refresh-rev:before{content:\\\"\\\\E01F\\\"}.km-root .km-icon-label.k-i-turn-en:before{content:\\\"\\\\E020\\\"}.km-root .km-icon-label.k-i-turn-es:before{content:\\\"\\\\E021\\\"}.km-root .km-icon-label.k-i-turn-ne:before{content:\\\"\\\\E022\\\"}.km-root .km-icon-label.k-i-turn-nw:before{content:\\\"\\\\E023\\\"}.km-root .km-icon-label.k-i-turn-se:before{content:\\\"\\\\E024\\\"}.km-root .km-icon-label.k-i-turn-sw:before{content:\\\"\\\\E025\\\"}.km-root .km-icon-label.k-i-turn-wn:before{content:\\\"\\\\E026\\\"}.km-root .km-icon-label.k-i-turn-ws:before{content:\\\"\\\\E027\\\"}.km-root .km-icon-label.k-i-uturn-e:before{content:\\\"\\\\E028\\\"}.km-root .km-icon-label.k-i-uturn-e-rev:before{content:\\\"\\\\E029\\\"}.km-root .km-icon-label.k-i-uturn-n:before{content:\\\"\\\\E02A\\\"}.km-root .km-icon-label.k-i-uturn-n-rev:before{content:\\\"\\\\E02B\\\"}.km-root .km-icon-label.k-i-uturn-s:before{content:\\\"\\\\E02C\\\"}.km-root .km-icon-label.k-i-uturn-s-rev:before{content:\\\"\\\\E02D\\\"}.km-root .km-icon-label.k-i-uturn-w:before{content:\\\"\\\\E02E\\\"}.km-root .km-icon-label.k-i-uturn-w-rev:before{content:\\\"\\\\E02F\\\"}.km-root .km-icon-label.k-i-tick-sign:before{content:\\\"\\\\E030\\\"}.km-root .km-icon-label.k-i-close-sign:before{content:\\\"\\\\E031\\\"}.km-root .km-icon-label.k-i-plus-sign:before{content:\\\"\\\\E032\\\"}.km-root .km-icon-label.k-i-minus-sign:before{content:\\\"\\\\E033\\\"}.km-root .km-icon-label.k-i-splus-sign:before,.km-root .km-icon-label.k-si-plus-sign:before{content:\\\"\\\\E034\\\"}.km-root .km-icon-label.k-i-sminus-sign:before,.km-root .km-icon-label.k-si-minus-sign:before{content:\\\"\\\\E035\\\"}.km-root .km-icon-label.k-i-cancel:before{content:\\\"\\\\E036\\\"}.km-root .km-icon-label.k-i-tick:before{content:\\\"\\\\E037\\\"}.km-root .km-icon-label.k-i-close:before{content:\\\"\\\\E038\\\"}.km-root .km-icon-label.k-i-plus:before{content:\\\"\\\\E039\\\"}.km-root .km-icon-label.k-i-minus:before{content:\\\"\\\\E03A\\\"}.km-root .km-icon-label.k-i-splus:before,.km-root .km-icon-label.k-si-plus:before{content:\\\"\\\\E03B\\\"}.km-root .km-icon-label.k-i-sminus:before,.km-root .km-icon-label.k-si-minus:before{content:\\\"\\\\E03C\\\"}.km-root .km-icon-label.k-i-stop:before{content:\\\"\\\\E03D\\\"}.km-root .km-icon-label.k-i-pause:before{content:\\\"\\\\E03E\\\"}.km-root .km-icon-label.k-i-eject:before{content:\\\"\\\\E03F\\\"}.km-root .km-icon-label.k-i-volume-off:before{content:\\\"\\\\E040\\\"}.km-root .km-icon-label.k-i-volume-low:before{content:\\\"\\\\E041\\\"}.km-root .km-icon-label.k-i-volume-high:before{content:\\\"\\\\E042\\\"}.km-root .km-icon-label.k-i-earphones:before{content:\\\"\\\\E043\\\"}.km-root .km-icon-label.k-i-heart:before{content:\\\"\\\\E044\\\"}.km-root .km-icon-label.k-i-heart-empty:before{content:\\\"\\\\E045\\\"}.km-root .km-icon-label.k-i-heart-half:before{content:\\\"\\\\E046\\\"}.km-root .km-icon-label.k-i-star:before{content:\\\"\\\\E047\\\"}.km-root .km-icon-label.k-i-star-empty:before{content:\\\"\\\\E048\\\"}.km-root .km-icon-label.k-i-star-half:before{content:\\\"\\\\E049\\\"}.km-root .km-icon-label.k-i-star-half-empty:before{content:\\\"\\\\E04A\\\"}.km-root .km-icon-label.k-i-chart-column:before{content:\\\"\\\\E04B\\\"}.km-root .km-icon-label.k-i-chart-bar:before{content:\\\"\\\\E04C\\\"}.km-root .km-icon-label.k-i-chart-pie:before{content:\\\"\\\\E04D\\\"}.km-root .km-icon-label.k-i-chart-donut:before{content:\\\"\\\\E04E\\\"}.km-root .km-icon-label.k-i-chart-line:before{content:\\\"\\\\E04F\\\"}.km-root .km-icon-label.k-i-chart-area:before{content:\\\"\\\\E050\\\"}.km-root .km-icon-label.k-i-chart-donut:before{content:\\\"\\\\E051\\\"}.km-root .km-icon-label.k-i-align-left:before{content:\\\"\\\\E052\\\"}.km-root .km-icon-label.k-i-align-center:before{content:\\\"\\\\E053\\\"}.km-root .km-icon-label.k-i-align-right:before{content:\\\"\\\\E054\\\"}.km-root .km-icon-label.k-i-align-justify:before{content:\\\"\\\\E055\\\"}.km-root .km-icon-label.k-i-align-clear:before{content:\\\"\\\\E056\\\"}.km-root .km-icon-label.k-i-bold:before{content:\\\"\\\\E057\\\"}.km-root .km-icon-label.k-i-bold-sans:before{content:\\\"\\\\E058\\\"}.km-root .km-icon-label.k-i-italic:before{content:\\\"\\\\E059\\\"}.km-root .km-icon-label.k-i-italic-sans:before{content:\\\"\\\\E05A\\\"}.km-root .km-icon-label.k-i-underline:before{content:\\\"\\\\E05B\\\"}.km-root .km-icon-label.k-i-underline-sans:before{content:\\\"\\\\E05C\\\"}.km-root .km-icon-label.k-i-strikethrough:before{content:\\\"\\\\E05D\\\"}.km-root .km-icon-label.k-i-strikethrough-sans:before{content:\\\"\\\\E05E\\\"}.km-root .km-icon-label.k-i-font-a:before{content:\\\"\\\\E05F\\\"}.km-root .km-icon-label.k-i-font-a-sans:before{content:\\\"\\\\E060\\\"}.km-root .km-icon-label.k-i-font-t:before{content:\\\"\\\\E061\\\"}.km-root .km-icon-label.k-i-font-t-sans:before{content:\\\"\\\\E062\\\"}.km-root .km-icon-label.k-i-brightness:before{content:\\\"\\\\E063\\\"}.km-root .km-icon-label.k-i-brightness-contrast:before{content:\\\"\\\\E064\\\"}.km-root .km-icon-label.k-i-contrast:before{content:\\\"\\\\E065\\\"}.km-root .km-icon-label.k-i-crop:before{content:\\\"\\\\E066\\\"}.km-root .km-icon-label.k-i-mirror:before{content:\\\"\\\\E067\\\"}.km-root .km-icon-label.k-i-flip-h:before{content:\\\"\\\\E068\\\"}.km-root .km-icon-label.k-i-flip-v:before{content:\\\"\\\\E069\\\"}.km-root .km-icon-label.k-i-rotate:before{content:\\\"\\\\E06A\\\"}.km-root .km-icon-label.k-i-rotate-rev:before{content:\\\"\\\\E06B\\\"}.km-root .km-icon-label.k-i-filter:before{content:\\\"\\\\E06C\\\"}.km-root .km-icon-label.k-i-filter-clear:before{content:\\\"\\\\E06D\\\"}.km-root .km-icon-label.k-i-sort-asc:before{content:\\\"\\\\E06E\\\"}.km-root .km-icon-label.k-i-sort-desc:before{content:\\\"\\\\E06F\\\"}.km-root .km-icon-label.k-i-sort-clear:before{content:\\\"\\\\E070\\\"}.km-root .km-icon-label.k-i-indent:before{content:\\\"\\\\E071\\\"}.km-root .km-icon-label.k-i-outdent:before{content:\\\"\\\\E072\\\"}.km-root .km-icon-label.k-i-hyperlink:before{content:\\\"\\\\E073\\\"}.km-root .km-icon-label.k-i-hyperlink-clear:before{content:\\\"\\\\E074\\\"}.km-root .km-icon-label.k-i-hyperlink-ext:before{content:\\\"\\\\E075\\\"}.km-root .km-icon-label.k-si-hyperlink-ext:before{content:\\\"\\\\E076\\\"}.km-root .km-icon-label.k-i-ul:before{content:\\\"\\\\E077\\\"}.km-root .km-icon-label.k-si-ul:before{content:\\\"\\\\E078\\\"}.km-root .km-icon-label.k-i-paint:before{content:\\\"\\\\E079\\\"}.km-root .km-icon-label.k-i-paste:before{content:\\\"\\\\E07A\\\"}.km-root .km-icon-label.k-i-pencil:before{content:\\\"\\\\E07B\\\"}.km-root .km-icon-label.k-i-image:before{content:\\\"\\\\E07C\\\"}.km-root .km-icon-label.k-i-image-add:before{content:\\\"\\\\E07D\\\"}.km-root .km-icon-label.k-i-print:before{content:\\\"\\\\E07E\\\"}.km-root .km-icon-label.k-i-zoom:before{content:\\\"\\\\E07F\\\"}.km-root .km-icon-label.k-i-zoom-in:before{content:\\\"\\\\E080\\\"}.km-root .km-icon-label.k-i-zoom-out:before{content:\\\"\\\\E081\\\"}.km-root .km-icon-label.k-i-asterisk:before{content:\\\"\\\\E082\\\"}.km-root .km-icon-label.k-i-clip:before{content:\\\"\\\\E083\\\"}.km-root .km-icon-label.k-i-clip-45:before{content:\\\"\\\\E084\\\"}.km-root .km-icon-label.k-i-qrcode:before{content:\\\"\\\\E085\\\"}.km-root .km-icon-label.k-i-book:before{content:\\\"\\\\E086\\\"}.km-root .km-icon-label.k-i-bookmark:before{content:\\\"\\\\E087\\\"}.km-root .km-icon-label.k-i-briefcase:before{content:\\\"\\\\E088\\\"}.km-root .km-icon-label.k-i-calendar:before{content:\\\"\\\\E089\\\"}.km-root .km-icon-label.k-i-camera-still:before{content:\\\"\\\\E08A\\\"}.km-root .km-icon-label.k-i-camera-video:before{content:\\\"\\\\E08B\\\"}.km-root .km-icon-label.k-i-certificate:before{content:\\\"\\\\E08C\\\"}.km-root .km-icon-label.k-i-clock:before{content:\\\"\\\\E08D\\\"}.km-root .km-icon-label.k-i-cloud:before{content:\\\"\\\\E08E\\\"}.km-root .km-icon-label.k-i-collapse:before{content:\\\"\\\\E08F\\\"}.km-root .km-icon-label.k-i-columns:before{content:\\\"\\\\E090\\\"}.km-root .km-icon-label.k-i-comment:before{content:\\\"\\\\E091\\\"}.km-root .km-icon-label.k-i-comment-empty:before{content:\\\"\\\\E092\\\"}.km-root .km-icon-label.k-i-comments:before{content:\\\"\\\\E093\\\"}.km-root .km-icon-label.k-i-comments-empty:before{content:\\\"\\\\E094\\\"}.km-root .km-icon-label.k-i-credit-card:before{content:\\\"\\\\E095\\\"}.km-root .km-icon-label.k-i-download:before{content:\\\"\\\\E096\\\"}.km-root .km-icon-label.k-i-draghandle:before{content:\\\"\\\\E097\\\"}.km-root .km-icon-label.k-si-draghandle:before{content:\\\"\\\\E098\\\"}.km-root .km-icon-label.k-i-envelop:before{content:\\\"\\\\E099\\\"}.km-root .km-icon-label.k-i-envelop-open:before{content:\\\"\\\\E09A\\\"}.km-root .km-icon-label.k-i-eye:before{content:\\\"\\\\E09B\\\"}.km-root .km-icon-label.k-i-file:before{content:\\\"\\\\E09C\\\"}.km-root .km-icon-label.k-i-file-add:before{content:\\\"\\\\E09D\\\"}.km-root .km-icon-label.k-i-film:before{content:\\\"\\\\E09E\\\"}.km-root .km-icon-label.k-i-flag:before{content:\\\"\\\\E09F\\\"}.km-root .km-icon-label.k-i-folder-add:before{content:\\\"\\\\E0A0\\\"}.km-root .km-icon-label.k-i-folder:before{content:\\\"\\\\E0A1\\\"}.km-root .km-icon-label.k-i-folder-open:before{content:\\\"\\\\E0A2\\\"}.km-root .km-icon-label.k-i-folder-up:before{content:\\\"\\\\E0A3\\\"}.km-root .km-icon-label.k-i-gear:before{content:\\\"\\\\E0A4\\\"}.km-root .km-icon-label.k-si-gear:before{content:\\\"\\\\E0A5\\\"}.km-root .km-icon-label.k-i-transmit:before{content:\\\"\\\\E0A6\\\"}.km-root .km-icon-label.k-i-beer:before{content:\\\"\\\\E0A7\\\"}.km-root .km-icon-label.k-i-cocktail:before{content:\\\"\\\\E0A8\\\"}.km-root .km-icon-label.k-i-coffee:before{content:\\\"\\\\E0A9\\\"}.km-root .km-icon-label.k-i-wine:before{content:\\\"\\\\E0AA\\\"}.km-root .km-icon-label.k-i-grid:before{content:\\\"\\\\E0AB\\\"}.km-root .km-icon-label.k-i-thumbs:before{content:\\\"\\\\E0AC\\\"}.km-root .km-icon-label.k-i-split-h:before{content:\\\"\\\\E0AD\\\"}.km-root .km-icon-label.k-i-split-v:before{content:\\\"\\\\E0AE\\\"}.km-root .km-icon-label.k-i-home:before{content:\\\"\\\\E0AF\\\"}.km-root .km-icon-label.k-i-inbox:before{content:\\\"\\\\E0B0\\\"}.km-root .km-icon-label.k-i-key:before{content:\\\"\\\\E0B1\\\"}.km-root .km-icon-label.k-i-login:before{content:\\\"\\\\E0B2\\\"}.km-root .km-icon-label.k-i-logout:before{content:\\\"\\\\E0B3\\\"}.km-root .km-icon-label.k-i-place:before{content:\\\"\\\\E0B4\\\"}.km-root .km-icon-label.k-i-megaphone:before{content:\\\"\\\\E0B5\\\"}.km-root .km-icon-label.k-i-note:before{content:\\\"\\\\E0B6\\\"}.km-root .km-icon-label.k-i-pin:before{content:\\\"\\\\E0B7\\\"}.km-root .km-icon-label.k-i-unpin:before{content:\\\"\\\\E0B8\\\"}.km-root .km-icon-label.k-i-power:before{content:\\\"\\\\E0B9\\\"}.km-root .km-icon-label.k-i-progress-bars:before{content:\\\"\\\\E0BA\\\"}.km-root .km-icon-label.k-i-road:before{content:\\\"\\\\E0BB\\\"}.km-root .km-icon-label.k-i-rss:before{content:\\\"\\\\E0BC\\\"}.km-root .km-icon-label.k-i-floppy:before{content:\\\"\\\\E0BD\\\"}.km-root .km-icon-label.k-i-sitemap:before{content:\\\"\\\\E0BE\\\"}.km-root .km-icon-label.k-i-tag-45:before{content:\\\"\\\\E0BF\\\"}.km-root .km-icon-label.k-i-tag-h:before{content:\\\"\\\\E0C0\\\"}.km-root .km-icon-label.k-i-thunderbolt:before{content:\\\"\\\\E0C1\\\"}.km-root .km-icon-label.k-i-tooltip:before{content:\\\"\\\\E0C2\\\"}.km-root .km-icon-label.k-i-trash:before{content:\\\"\\\\E0C3\\\"}.km-root .km-icon-label.k-i-trophy:before{content:\\\"\\\\E0C4\\\"}.km-root .km-icon-label.k-i-ungroup:before{content:\\\"\\\\E0C5\\\"}.km-root .km-icon-label.k-i-upload:before{content:\\\"\\\\E0C6\\\"}.km-root .km-icon-label.k-i-window:before{content:\\\"\\\\E0C7\\\"}.km-root .km-icon-label.k-i-tiles:before{content:\\\"\\\\E0C8\\\"}.km-root .km-icon-label.k-i-wrench:before{content:\\\"\\\\E0C9\\\"}.km-root .km-icon-label.k-i-action:before{content:\\\"\\\\E0CA\\\"}.km-root .km-icon-label.k-i-add:before{content:\\\"\\\\E0CB\\\"}.km-root .km-icon-label.k-i-add-inv:before{content:\\\"\\\\E0CC\\\"}.km-root .km-icon-label.k-i-armchair:before{content:\\\"\\\\E0CD\\\"}.km-root .km-icon-label.k-i-battery:before{content:\\\"\\\\E0CE\\\"}.km-root .km-icon-label.k-i-book-open:before{content:\\\"\\\\E0CF\\\"}.km-root .km-icon-label.k-i-camera:before{content:\\\"\\\\E0D0\\\"}.km-root .km-icon-label.k-i-cart:before{content:\\\"\\\\E0D1\\\"}.km-root .km-icon-label.k-i-time:before{content:\\\"\\\\E0D2\\\"}.km-root .km-icon-label.k-i-coffee-card:before{content:\\\"\\\\E0D3\\\"}.km-root .km-icon-label.k-i-download-arrow:before{content:\\\"\\\\E0D4\\\"}.km-root .km-icon-label.k-i-edit:before{content:\\\"\\\\E0D5\\\"}.km-root .km-icon-label.k-i-faves:before{content:\\\"\\\\E0D6\\\"}.km-root .km-icon-label.k-i-star:before{content:\\\"\\\\E0D7\\\"}.km-root .km-icon-label.k-i-featured:before{content:\\\"\\\\E0D8\\\"}.km-root .km-icon-label.k-i-forward:before{content:\\\"\\\\E0D9\\\"}.km-root .km-icon-label.k-i-cog:before{content:\\\"\\\\E0DA\\\"}.km-root .km-icon-label.k-i-globe:before{content:\\\"\\\\E0DB\\\"}.km-root .km-icon-label.k-i-globe-inv:before{content:\\\"\\\\E0DC\\\"}.km-root .km-icon-label.k-i-house:before{content:\\\"\\\\E0DD\\\"}.km-root .km-icon-label.k-i-info:before{content:\\\"\\\\E0DE\\\"}.km-root .km-icon-label.k-i-share:before{content:\\\"\\\\E0DF\\\"}.km-root .km-icon-label.k-i-more-h:before{content:\\\"\\\\E0E0\\\"}.km-root .km-icon-label.k-i-more-v:before{content:\\\"\\\\E0E1\\\"}.km-root .km-icon-label.k-i-next:before{content:\\\"\\\\E0E2\\\"}.km-root .km-icon-label.k-i-pause-a:before{content:\\\"\\\\E0E3\\\"}.km-root .km-icon-label.k-i-user:before{content:\\\"\\\\E0E4\\\"}.km-root .km-icon-label.k-i-play-a:before{content:\\\"\\\\E0E5\\\"}.km-root .km-icon-label.k-i-refresh-a:before{content:\\\"\\\\E0E6\\\"}.km-root .km-icon-label.k-i-reset:before{content:\\\"\\\\E0E7\\\"}.km-root .km-icon-label.k-i-rewind:before{content:\\\"\\\\E0E8\\\"}.km-root .km-icon-label.k-i-search-a:before{content:\\\"\\\\E0E9\\\"}.km-root .km-icon-label.k-i-stop-a:before{content:\\\"\\\\E0EA\\\"}.km-root .km-icon-label.k-i-tiles-a:before{content:\\\"\\\\E0EB\\\"}.km-root .km-icon-label.k-i-trash-a:before{content:\\\"\\\\E0EC\\\"}.km-root .km-icon-label.k-i-undo:before{content:\\\"\\\\E0ED\\\"}.km-root .km-icon-label.k-i-redo:before{content:\\\"\\\\E0EE\\\"}.km-root .km-icon-label.k-i-volume-a:before{content:\\\"\\\\E0EF\\\"}.km-root .km-icon-label.k-i-wifi:before{content:\\\"\\\\E0F0\\\"}.km-root .km-icon-label.k-i-more-lines:before{content:\\\"\\\\E0F1\\\"}.km-root .km-icon-label.k-i-pull-to-ref:before{content:\\\"\\\\E0F2\\\"}.km-root .km-icon-label.k-i-loading-android:before{content:\\\"\\\\E0F3\\\"}.km-root .km-icon-label.k-i-loading-blackberry:before{content:\\\"\\\\E0F4\\\"}.km-root .km-icon-label.k-i-loading-meego:before{content:\\\"\\\\E0F5\\\"}.km-root .km-icon-label.k-i-loading-custom:before{content:\\\"\\\\E0F6\\\"}.km-root .km-icon-label.k-i-loading-ios:before{content:\\\"\\\\E0F7\\\"}.km-root .km-icon-label.k-i-bug:before{content:\\\"\\\\E0F8\\\"}.km-root .km-icon-label.k-i-info:before{content:\\\"\\\\E0F9\\\"}.km-root .km-icon-label.k-i-warning:before{content:\\\"\\\\E0FA\\\"}.km-root .km-icon-label.k-i-question:before{content:\\\"\\\\E0FB\\\"}.km-root .km-icon-label.k-i-insert-n:before{content:\\\"\\\\E0FC\\\"}.km-root .km-icon-label.k-i-insert-m:before{content:\\\"\\\\E0FD\\\"}.km-root .km-icon-label.k-i-insert-s:before{content:\\\"\\\\E0FE\\\"}.km-root .km-icon-label.k-i-lock:before{content:\\\"\\\\E0FF\\\"}.km-root .km-icon-label.k-i-unlock:before{content:\\\"\\\\E100\\\"}.km-root .km-icon-label.k-i-phone:before{content:\\\"\\\\E101\\\"}.km-root .km-icon-label.k-i-tablet:before{content:\\\"\\\\E102\\\"}.km-root .km-icon-label.k-i-ol:before{content:\\\"\\\\E103\\\"}.km-root .km-icon-label.k-i-barcode:before{content:\\\"\\\\E104\\\"}.km-root .km-icon-label.k-i-html5:before{content:\\\"\\\\E105\\\"}.km-root .km-icon-label.k-i-css3:before{content:\\\"\\\\E106\\\"}.km-root .km-icon-label.k-i-kendoui:before{content:\\\"\\\\E107\\\"}.km-root .km-icon-label.k-i-telerik:before{content:\\\"\\\\E108\\\"}.km-root .km-icon-label.k-i-icenium:before{content:\\\"\\\\E109\\\"}.km-root .km-icon-label.k-i-sitefinity:before{content:\\\"\\\\E10A\\\"}.km-root .km-icon-label.k-i-twitter:before{content:\\\"\\\\E10B\\\"}.km-root .km-icon-label.k-i-linkedin:before{content:\\\"\\\\E10C\\\"}.km-root .km-icon-label.k-i-facebook:before{content:\\\"\\\\E10D\\\"}.km-root .km-icon-label.k-i-pinterest:before{content:\\\"\\\\E10E\\\"}.km-root .km-icon-label.k-i-youtube:before{content:\\\"\\\\E10F\\\"}.km-root .km-icon-label.k-i-vimeo:before{content:\\\"\\\\E110\\\"}.km-root .km-icon-label.k-i-behance:before{content:\\\"\\\\E111\\\"}.km-root .km-icon-label.k-i-dribbble:before{content:\\\"\\\\E112\\\"}.km-root .km-icon-label.k-i-googleplus:before{content:\\\"\\\\E113\\\"}.km-root .km-icon-label.k-i-minimize:before{content:\\\"\\\\E114\\\"}.km-root .km-icon-label.k-i-html:before{content:\\\"\\\\E115\\\"}.km-root .km-icon-label.k-i-group:before{content:\\\"\\\\E116\\\"}.km-root .km-icon-label.k-i-subscript:before{content:\\\"\\\\E117\\\"}.km-root .km-icon-label.k-i-superscript:before{content:\\\"\\\\E118\\\"}.km-root .km-icon-label.k-i-drophere:before{content:\\\"\\\\E119\\\"}.km-root .km-popup .k-item,.km-widget.km-actionsheet>li{list-style-type:none;padding:inherit 1em;border-bottom:1px solid #555;-webkit-box-sizing:border-box;box-sizing:border-box}.km-widget.km-actionsheet>li{line-height:2em;border-bottom:0}.km-widget.km-actionsheet>li>a{line-height:1.5em;text-align:left;background:0 0}.km-root .km-popup .k-list,.km-widget.km-actionsheet{padding:0;margin:0}.km-root .km-popup .k-item:last-child,.km-widget.km-actionsheet>li:last-child{border:0}.km-widget.km-actionsheet-wrapper{width:100%;-webkit-box-shadow:none;box-shadow:none;border:0}.km-actionsheet-root.km-shim .k-animation-container{width:100%!important;height:100%!important}.km-tablet .km-pane div.km-actionsheet-phone{background:0 0}.km-tablet .km-actionsheet-phone li.km-actionsheet-title,.km-tablet div.km-actionsheet-phone li.km-actionsheet-cancel{display:block}.km-popover-root .km-popup-wrapper{position:relative!important}.km-modalview-wrapper,.km-popup-wrapper{z-index:10001;position:relative;background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none}.km-popup-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10002}.km-popup-arrow,.km-popup-arrow:after,.km-popup-arrow:before{position:absolute;width:15px;height:15px;top:0;left:0;z-index:2}.km-left .km-popup-arrow,.km-right .km-popup-arrow{margin-top:-8px}.km-down .km-popup-arrow,.km-up .km-popup-arrow{margin-left:-8px}.km-popup-arrow:after,.km-popup-arrow:before{display:block;content:\\\"\\\\A0\\\";width:0;height:0}.km-up .km-popup-arrow{top:auto;bottom:0}.km-left .km-popup-arrow{left:auto;right:0}.km-popup.km-pane{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;min-height:100px;background:0 0}.km-popover-root .km-view{position:relative}.km-popover-root .km-content{-ms-flex:auto}.km-drawer,[data-role=drawer]{top:0;left:auto;width:250px}.km-drawer .km-footer,.km-drawer .km-header{z-index:0}.km-left-drawer{left:0}.km-right-drawer{right:0}.km-modalview-root{text-align:center}.km-modalview-root>.k-animation-container{text-align:left;position:relative!important;top:auto!important;left:auto!important;display:inline-block!important;vertical-align:middle}.km-modalview,.km-modalview-wrapper:before{overflow:hidden;position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:100%;height:100%;vertical-align:middle;max-height:100%}.km-modalview .km-content{box-flex:1}.km-auto-height .km-content{-ms-flex:auto}.km-native-scrolling .km-view.km-modalview{display:-webkit-inline-flex;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.km-modalview-root:before,.km-modalview-wrapper:before{vertical-align:middle;height:100%;margin-left:-1px;content:\\\"\\\\A0\\\";width:0;display:inline-block}.km-scroller-pull{width:100%;display:block;position:absolute;line-height:3em;font-size:1.4em;text-align:center;-webkit-transform:translate3d(0,-3em,0);transform:translate3d(0,-3em,0)}.km-scroller-pull .km-template{display:inline-block;min-width:200px;text-align:left}.km-load-more .km-icon,.km-widget .km-scroller-pull .km-icon{display:inline-block;height:2rem;margin-right:1rem;vertical-align:middle;width:2rem;font-size:2rem;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s linear;transition:-webkit-transform .3s linear;transition:transform .3s linear;transition:transform .3s linear,-webkit-transform .3s linear}.km-widget .km-scroller-release .km-icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.km-widget .km-scroller-refresh .km-icon{-webkit-transition:none;transition:none}.km-touch-scrollbar{position:absolute;visibility:hidden;z-index:200000;height:.4em;width:.4em;background-color:#333;opacity:0;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.km-vertical-scrollbar{height:100%;right:2px;top:0}.km-horizontal-scrollbar{width:100%;left:0;bottom:2px}.km-scroll-container,.km-scrollview{-webkit-user-select:none;-ms-user-select:none;user-select:none;-moz-user-select:-moz-none;-webkit-margin-collapse:separate;margin-collapse:separate}.km-scroll-wrapper{position:relative}.km-scroll-header{position:absolute;z-index:1001;width:100%;top:0;left:0}div.km-splitview>.km-content,kendo-mobile-split-view.km-splitview>.km-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}div.km-split-vertical>.km-content,kendo-mobile-split-view.km-split-vertical>.km-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}div.km-split-content>.km-pane{-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2;width:auto;height:auto}div.km-split-content>.km-pane:first-child{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}div.km-split-horizontal>.km-content>.km-pane{top:0;bottom:0}.km-split-vertical>.km-content>.km-pane>.km-view{display:-webkit-box}.k-fx-end .k-fx-current,.k-fx-end .k-fx-next{-webkit-transition:all 350ms ease-out;transition:all 350ms ease-out}.k-fx{position:relative}.k-fx .k-fx-current{z-index:0}.k-fx .k-fx-next{z-index:1}.k-fx-hidden,.k-fx-hidden *{visibility:hidden!important}.k-fx-reverse .k-fx-current{z-index:1}.k-fx-reverse .k-fx-next{z-index:0}.k-fx-zoom.k-fx-start .k-fx-next{-webkit-transform:scale(0)!important;-ms-transform:scale(0)!important;transform:scale(0)!important}.k-fx-zoom.k-fx-end .k-fx-next{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-next,.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-current{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:scale(0)!important;-ms-transform:scale(0)!important;transform:scale(0)!important}.k-fx-fade.k-fx-start .k-fx-next{will-change:opacity;opacity:0}.k-fx-fade.k-fx-end .k-fx-next{opacity:1}.k-fx-fade.k-fx-reverse.k-fx-start .k-fx-current{will-change:opacity;opacity:1}.k-fx-fade.k-fx-reverse.k-fx-end .k-fx-current{opacity:0}.k-fx-slide.k-fx-end .k-fx-current .km-content,.k-fx-slide.k-fx-end .k-fx-current .km-footer,.k-fx-slide.k-fx-end .k-fx-current .km-header,.k-fx-slide.k-fx-end .k-fx-next .km-content,.k-fx-slide.k-fx-end .k-fx-next .km-footer,.k-fx-slide.k-fx-end .k-fx-next .km-header{-webkit-transition:all 350ms ease-out;transition:all 350ms ease-out}.k-fx-slide.k-fx-start .k-fx-next .km-content{will-change:transform;-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-slide.k-fx-start .k-fx-next .km-footer,.k-fx-slide.k-fx-start .k-fx-next .km-header{will-change:opacity;opacity:0}.k-fx-slide.k-fx-end .k-fx-current .km-content{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-slide.k-fx-end .k-fx-next .km-footer,.k-fx-slide.k-fx-end .k-fx-next .km-header{opacity:1}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-content{will-change:transform;-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-content{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-content{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-content{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-footer,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-header{will-change:opacity;opacity:1}.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-footer,.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-header{opacity:1}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-footer,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-header{opacity:0}.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-footer,.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-header{opacity:1}.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .km-content{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .km-content{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .km-content{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .km-content{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .km-content{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .km-content{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-start .k-fx-next{will-change:transform;-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current{will-change:transform;-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-right.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-right.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-start .k-fx-next{will-change:transform;-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current{will-change:transform;-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-right.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-right.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next{-webkit-transform:translatex(0);-ms-transform:translatex(0);transform:translatex(0)}.k-fx.k-fx-overlay.k-fx-left.k-fx-start .k-fx-next,.k-fx.k-fx-overlay.k-fx-start .k-fx-next{will-change:transform;-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx.k-fx-overlay.k-fx-right.k-fx-start .k-fx-next{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx.k-fx-overlay.k-fx-up.k-fx-start .k-fx-next{-webkit-transform:translatey(100%);-ms-transform:translatey(100%);transform:translatey(100%)}.k-fx.k-fx-overlay.k-fx-down.k-fx-start .k-fx-next{-webkit-transform:translatey(-100%);-ms-transform:translatey(-100%);transform:translatey(-100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-next{-webkit-transform:none;-ms-transform:none;transform:none}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-current{will-change:transform;-webkit-transform:none;-ms-transform:none;transform:none}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-end .k-fx-current,.k-fx.k-fx-overlay.k-fx-reverse.k-fx-left.k-fx-end .k-fx-current{-webkit-transform:translatex(100%);-ms-transform:translatex(100%);transform:translatex(100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-right.k-fx-end .k-fx-current{-webkit-transform:translatex(-100%);-ms-transform:translatex(-100%);transform:translatex(-100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-up.k-fx-end .k-fx-current{-webkit-transform:translatey(100%);-ms-transform:translatey(100%);transform:translatey(100%)}.k-fx.k-fx-overlay.k-fx-reverse.k-fx-down.k-fx-end .k-fx-current{-webkit-transform:translatey(-100%);-ms-transform:translatey(-100%);transform:translatey(-100%)}.km-on-wp .km-filter-reset,.km-on-wp .km-footer,.km-on-wp .km-header,.km-on-wp .km-scroll-container,.km-on-wp .km-shim .k-animation-container,.km-on-wp .km-slider,.km-on-wp .km-switch,.km-on-wp .km-view{-webkit-transform:translateZ(0);transform:translateZ(0)}.km-blackberry,.km-ios,.km-on-android.km-4 .k-slider,.km-on-blackberry .km-actionsheet-wrapper,.km-on-blackberry .km-content,.km-on-blackberry .km-footer,.km-on-blackberry .km-header,.km-on-blackberry .km-icon,.km-on-blackberry .km-popup .k-item,.km-on-blackberry .km-switch,.km-on-blackberry .km-view,.km-on-ios .km-filter-reset,.km-on-ios .km-footer,.km-on-ios .km-group-title,.km-on-ios .km-header,.km-on-ios .km-scroll-container,.km-on-ios .km-shim .k-animation-container,.km-on-ios .km-slider,.km-on-ios .km-switch,.km-on-ios .km-view{-webkit-transform:translatez(0)}.km-android.km-4.km-on-android .km-switch-wrapper,.km-on-android.km-4 .km-content,.km-on-android.km-4 .km-listview-wrapper,.km-on-android.km-4 .km-scroll-container,.km-on-android.km-4 .km-switch,.km-on-android.km-4 .km-switch-handle,.km-on-meego .km-content,.km-on-meego .km-footer,.km-on-meego .km-header,.km-on-meego .km-icon,.km-on-meego .km-switch,.km-on-meego .km-switch-handle,.km-on-meego .km-switch-wrapper{-webkit-transform:translatez(0);-webkit-backface-visibility:hidden}.km-android4.km-ios-chrome .km-listview-wrapper{-webkit-transform:none}.km-native-scrolling .km-drawer,.km-native-scrolling .km-footer,.km-native-scrolling .km-header,.km-native-scrolling .km-popup-overlay,.km-native-scrolling .km-shim,.km-native-scrolling>.km-pane>.km-loader,.km-on-android.km-4 .km-scroller-pull .km-icon{-webkit-backface-visibility:hidden}.km-on-android.km-4 input{-webkit-user-modify:read-write-plaintext-only}.km-meego .km-view .km-absolute,.km-wp .km-view .km-absolute{position:absolute}.km-widget{font-size:1em}.km-root .km-filter-reset,.km-root .km-group-title,.km-root .km-pane,.km-root .km-shim .k-animation-container,.km-root .km-slider,.km-root .km-switch,.km-root .km-view{-webkit-transform:none;-ms-transform:none;transform:none}.km-widget,.km-widget *{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-background-clip:border-box;background-clip:border-box}.km-navbar,.km-tabstrip,.km-tabstrip .km-button,.km-toolbar{border-radius:0}.km-touch-scrollbar{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:1em}.km-popup .k-popup{font-size:1em!important}.km-popup-wrapper.k-popup{-webkit-box-shadow:none;box-shadow:none;background:0 0}.km-actionsheet>li>a,.km-popup .k-item{text-decoration:none;padding:.5em 0 .5em .6em;border:0;border-radius:0;border-bottom-width:1px;border-bottom-style:solid;-webkit-box-sizing:border-box;box-sizing:border-box}.km-actionsheet-wrapper,.km-popup .k-list-container{bottom:0;border:0;border-bottom-width:1px;border-bottom-style:solid;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box}.km-popup{left:0!important;top:0!important;width:100%!important;height:100%!important;-webkit-box-sizing:border-box;box-sizing:border-box}.km-popup .k-list-container{width:100%!important;height:auto!important;max-height:80%}.km-shim .k-animation-container{left:0;top:auto;bottom:0}.km-loader:before,.km-scroller-pull,.km-scroller-refresh.km-load-more{border-radius:20em;overflow:visible}.km-loader:before{content:\\\"\\\\A0\\\";display:block;position:absolute;margin-top:-2em;margin-left:-2em;width:4em;height:4em;top:50%;left:50%;border-radius:5em}.km-loader{left:0;top:0;margin:0;width:100%;height:100%}.km-loader h1{display:none;font-size:1em;position:absolute;left:-50%;width:200%;top:55%}.km-load-more.km-scroller-refresh .km-icon,.km-loader .km-loading-left,.km-loader .km-loading-right,.km-loading,.km-scroller-pull.km-scroller-refresh .km-icon,.km-scroller-refresh .km-loading-left,.km-scroller-refresh .km-loading-right{font-size:1em;display:block;width:.36em;height:1em;position:absolute;top:50%;left:50%;margin-left:-.8em;margin-top:-.5em;border-radius:1em;-webkit-animation:km-webload .6s infinite linear;animation:km-webload .6s infinite linear;-webkit-background-clip:padding-box;background-clip:padding-box}.km-load-more.km-scroller-refresh .km-icon,.km-scroller-pull.km-scroller-refresh .km-icon,.km-scroller-refresh .km-loading-left,.km-scroller-refresh .km-loading-right{height:.6em;margin-top:-.3em;margin-left:-.6em;width:.25em;-webkit-animation:km-webrefresh .6s infinite linear;animation:km-webrefresh .6s infinite linear}.km-root .km-loading-left{margin-left:-.2em;-webkit-animation-delay:.2s;animation-delay:.2s}.km-root .km-loading-right{margin-left:.42em;-webkit-animation-delay:.4s;animation-delay:.4s}@keyframes km-webload{0%{height:1em;margin-top:-.5em}33%{height:2em;margin-top:-1em}66%{height:1em;margin-top:-.5em}}@-webkit-keyframes km-webload{0%{height:1em;margin-top:-.5em}33%{height:2em;margin-top:-1em}66%{height:1em;margin-top:-.5em}}@keyframes km-webrefresh{0%{height:.6em;margin-top:-.3em}33%{height:1.2em;margin-top:-.6em}66%{height:.6em;margin-top:-.3em}}@-webkit-keyframes km-webrefresh{0%{height:.6em;margin-top:-.3em}33%{height:1.2em;margin-top:-.6em}66%{height:.6em;margin-top:-.3em}}.km-button .km-icon,.km-detail .km-icon,.km-ios .km-button .km-icon,.km-list .km-icon{width:1em;height:1em;font-size:1em;margin-left:-.3em;margin-right:.3em;vertical-align:baseline;display:inline-block;-webkit-background-size:auto 100%;background-size:auto 100%}html .km-widget .km-view .km-notext{margin-left:0;margin-right:0}.km-buttongroup .km-button .km-icon{width:1em;height:1em;font-size:1em;margin:.05em .16em 0 0}.km-tabstrip .km-button .km-icon{width:2.5rem;height:2.5rem;font-size:2.5rem}.km-tabstrip .km-button .km-icon,.km-tabstrip .km-image{margin:0 auto .1em;display:inline-block}.km-tabstrip .km-text{display:block}.km-phone .km-tabstrip .km-icon{height:2.2rem;width:2.2rem;font-size:2.2rem}.km-phone .km-horizontal .km-tabstrip .km-icon{height:2rem;width:2rem;font-size:2rem}@font-face{font-family:\\\"Kendo UI\\\";src:url(\" + escape(require(\"./images/kendoui.woff?v=1.1\")) + \") format(\\\"woff\\\"),url(\" + escape(require(\"./images/kendoui.ttf?v=1.1\")) + \") format(\\\"truetype\\\"),url(\" + escape(require(\"./images/kendoui.svg\")) + \"#kendoui) format(\\\"svg\\\")}body:before{font-family:\\\"Kendo UI\\\";content:\\\"\\\\A0\\\";font-size:0;width:0;height:0;position:absolute;z-index:-1}.km-root .km-pane .km-view .km-icon{-webkit-background-clip:text;-webkit-background-size:0 0;background-size:0 0}.km-icon{position:relative}.km-contactadd:after,.km-contactadd:before,.km-detaildisclose:after,.km-detaildisclose:before,.km-filter-wrap:before,.km-icon:after,.km-icon:before,.km-loading:after,.km-rowdelete:after,.km-rowdelete:before,.km-rowinsert:after,.km-rowinsert:before{position:relative;content:\\\"\\\\A0\\\";display:block;width:100%;height:100%;text-align:left;vertical-align:middle;-webkit-background-size:auto auto;background-size:auto;font:1em/1em \\\"Kendo UI\\\"}.km-contactadd:before,.km-detaildisclose:before,.km-icon:before,.km-rowdelete:before,.km-rowinsert:before{position:absolute;margin-top:1px;color:rgba(0,0,0,.7);display:none}.km-state-active .km-contactadd:before,.km-state-active .km-detaildisclose:before,.km-state-active .km-icon:before,.km-state-active .km-rowdelete:before,.km-state-active .km-rowinsert:before{display:block}.km-ios7 .km-detaildisclose:after{font-family:serif}.km-ios7 .km-contactadd:before,.km-ios7 .km-detaildisclose:before,.km-ios7 .km-icon:before,.km-ios7 .km-rowdelete:before,.km-ios7 .km-rowinsert:before{display:none}.k-safari .km-blackberry:not(.km-android):not(.km-blackberry6):not(.km-blackberry7) .km-icon:after,.k-safari .km-ios:not(.km-android):not(.km-blackberry6):not(.km-blackberry7) .km-icon:after,.k-webkit .km-blackberry:not(.km-android):not(.km-blackberry6):not(.km-blackberry7) .km-icon:after,.k-webkit .km-ios:not(.km-android):not(.km-blackberry6):not(.km-blackberry7) .km-icon:after{background-image:inherit;background-repeat:inherit;background-position:inherit;background-color:currentcolor;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.km-root .km-pane.km-on-blackberry.km-blackberry6 .km-view .km-icon:after,.km-root .km-pane.km-on-blackberry.km-blackberry7 .km-view .km-icon:after,.km-root .km-pane.km-pane.km-on-android .km-view .km-icon:after,.km-root .km-pane.km-pane.km-on-meego .km-view .km-icon:after{background:0 0;-webkit-text-fill-color:inherit}.km-contactadd:after,.km-contactadd:before,.km-rowinsert:after,.km-rowinsert:before{content:\\\"\\\\E039\\\"}.km-rowdelete:after,.km-rowdelete:before{content:\\\"\\\\E03A\\\"}.km-detaildisclose:after,.km-detaildisclose:before{content:\\\"\\\\E0E2\\\"}.km-action:after,.km-action:before{content:\\\"\\\\E0CA\\\"}.km-add:after,.km-add:before{content:\\\"\\\\E0CB\\\"}.km-arrow-n:after,.km-arrow-n:before{content:\\\"\\\\E001\\\"}.km-arrow-s:after,.km-arrow-s:before{content:\\\"\\\\E002\\\"}.km-battery:after,.km-battery:before{content:\\\"\\\\E0CE\\\"}.km-bookmarks:after,.km-bookmarks:before{content:\\\"\\\\E0CF\\\"}.km-camera:after,.km-camera:before{content:\\\"\\\\E0D0\\\"}.km-cart:after,.km-cart:before{content:\\\"\\\\E0D1\\\"}.km-compose:after,.km-compose:before,.km-edit:after,.km-edit:before{content:\\\"\\\\E0D5\\\"}.km-contacts:after,.km-contacts:before{content:\\\"\\\\E0E4\\\"}.km-delete:after,.km-delete:before,.km-trash:after,.km-trash:before{content:\\\"\\\\E0EC\\\"}.km-details:after,.km-details:before{content:\\\"\\\\E0E2\\\"}.km-download:after,.km-download:before,.km-downloads:after,.km-downloads:before{content:\\\"\\\\E0D4\\\"}.km-fastforward:after,.km-fastforward:before{content:\\\"\\\\E0D9\\\"}.km-favorites:after,.km-favorites:before,.km-toprated:after,.km-toprated:before{content:\\\"\\\\E0D7\\\"}.km-featured:after,.km-featured:before{content:\\\"\\\\E0D8\\\"}.km-globe:after,.km-globe:before{content:\\\"\\\\E0DC\\\"}.km-history:after,.km-history:before{content:\\\"\\\\E0E7\\\"}.km-home:after,.km-home:before{content:\\\"\\\\E0DD\\\"}.km-about:after,.km-about:before,.km-info:after,.km-info:before{content:\\\"\\\\E0DE\\\"}.km-minus:after,.km-minus:before{content:\\\"\\\\E033\\\"}.km-more:after,.km-more:before{content:\\\"\\\\E0E0\\\"}.km-mostrecent:after,.km-mostrecent:before{content:\\\"\\\\E0CC\\\"}.km-mostviewed:after,.km-mostviewed:before{content:\\\"\\\\E0D6\\\"}.km-organize:after,.km-organize:before{content:\\\"\\\\E0EB\\\"}.km-pause:after,.km-pause:before{content:\\\"\\\\E0E3\\\"}.km-play:after,.km-play:before{content:\\\"\\\\E0E5\\\"}.km-plus:after,.km-plus:before{content:\\\"\\\\E032\\\"}.km-recents:after,.km-recents:before{content:\\\"\\\\E0D2\\\"}.km-refresh:after,.km-refresh:before{content:\\\"\\\\E0E6\\\"}.km-reply:after,.km-reply:before{content:\\\"\\\\E0ED\\\"}.km-rewind:after,.km-rewind:before{content:\\\"\\\\E0E8\\\"}.km-search:after,.km-search:before{content:\\\"\\\\E0E9\\\"}.km-settings:after,.km-settings:before{content:\\\"\\\\E0DA\\\"}.km-share:after,.km-share:before{content:\\\"\\\\E0DF\\\"}.km-sounds:after,.km-sounds:before,.km-volume:after,.km-volume:before{content:\\\"\\\\E0EF\\\"}.km-stop:after,.km-stop:before{content:\\\"\\\\E0EA\\\"}.km-wifi:after,.km-wifi:before{content:\\\"\\\\E0F0\\\"}.km-drawer-icon:after,.km-drawer-icon:before,.km-hamburger:after,.km-hamburger:before{content:\\\"\\\\E105\\\"}.km-root .km-pane .km-icon.km-check{-webkit-background-clip:initial}.km-root .km-pane .km-check:checked:after,.km-widget .km-check:checked:after{content:\\\"\\\\E227\\\"}.km-android .km-more:after,.km-android .km-more:before{content:\\\"\\\\E0E1\\\"}.km-meego .km-more:after,.km-meego .km-more:before{content:\\\"\\\\E0F1\\\"}.km-wp .km-load-more .km-icon:after,.km-wp .km-loading:after,.km-wp .km-scroller-refresh .km-icon:after{content:\\\"\\\\E0F6\\\"}.km-meego .km-load-more .km-icon:after,.km-meego .km-loading:after,.km-meego .km-scroller-refresh .km-icon:after{content:\\\"\\\\E0F6\\\"}.km-android .km-load-more .km-icon:after,.km-root .km-android .km-loading:after,.km-root .km-android .km-scroller-refresh .km-icon:after{content:\\\"\\\\E0F6\\\"}.km-scroller-pull .km-icon:after{content:\\\"\\\\E0F2\\\"}.km-icon.km-phone:after,.km-ios7 .km-state-active .km-phone:after{content:\\\"\\\\E326\\\"}.km-ios7 .km-detaildisclose:after{content:\\\"i\\\"}.km-ios7 .km-action:after{content:\\\"\\\\E1FF\\\"}.km-ios7 .km-add:after{content:\\\"\\\\E200\\\"}.km-ios7 .km-mostrecent:after{content:\\\"\\\\E201\\\"}.km-ios7 .km-battery:after{content:\\\"\\\\E203\\\"}.km-ios7 .km-bookmarks:after{content:\\\"\\\\E204\\\"}.km-ios7 .km-camera:after{content:\\\"\\\\E205\\\"}.km-ios7 .km-cart:after{content:\\\"\\\\E206\\\"}.km-ios7 .km-recents:after{content:\\\"\\\\E207\\\"}.km-ios7 .km-download:after,.km-ios7 .km-downloads:after{content:\\\"\\\\E209\\\"}.km-ios7 .km-edit:after{content:\\\"\\\\E20A\\\"}.km-ios7 .km-mostviewed:after{content:\\\"\\\\E20B\\\"}.km-ios7 .km-favorites:after,.km-ios7 .km-toprated:after{content:\\\"\\\\E20C\\\"}.km-ios7 .km-featured:after{content:\\\"\\\\E20D\\\"}.km-ios7 .km-fastforward:after{content:\\\"\\\\E20E\\\"}.km-ios7 .km-settings:after{content:\\\"\\\\E20F\\\"}.km-ios7 .km-globe:after{content:\\\"\\\\E211\\\"}.km-ios7 .km-home:after{content:\\\"\\\\E212\\\"}.km-ios7 .km-about:after,.km-ios7 .km-info:after{content:\\\"\\\\E213\\\"}.km-ios7 .km-share:after{content:\\\"\\\\E214\\\"}.km-ios7 .km-more:after{content:\\\"\\\\E215\\\"}.km-ios7 .km-details:after{content:\\\"\\\\E217\\\"}.km-ios7 .km-pause:after{content:\\\"\\\\E218\\\"}.km-ios7 .km-contacts:after{content:\\\"\\\\E219\\\"}.km-ios7 .km-play:after{content:\\\"\\\\E21A\\\"}.km-ios7 .km-refresh:after{content:\\\"\\\\E21B\\\"}.km-ios7 .km-history:after{content:\\\"\\\\E21C\\\"}.km-ios7 .km-rewind:after{content:\\\"\\\\E21D\\\"}.km-ios7 .km-search:after{content:\\\"\\\\E21E\\\"}.km-ios7 .km-stop:after{content:\\\"\\\\E21F\\\"}.km-ios7 .km-organize:after{content:\\\"\\\\E220\\\"}.km-ios7 .km-delete:after,.km-ios7 .km-trash:after{content:\\\"\\\\E221\\\"}.km-ios7 .km-reply:after{content:\\\"\\\\E222\\\"}.km-ios7 .km-forward:after{content:\\\"\\\\E223\\\"}.km-ios7 .km-sounds:after,.km-ios7 .km-volume:after{content:\\\"\\\\E224\\\"}.km-ios7 .km-wifi:after{content:\\\"\\\\E225\\\"}.km-ios7 .km-phone:after{content:\\\"\\\\E226\\\"}.km-ios7 .km-state-active .km-action:after{content:\\\"\\\\E2FF\\\"}.km-ios7 .km-state-active .km-add:after{content:\\\"\\\\E300\\\"}.km-ios7 .km-state-active .km-mostrecent:after{content:\\\"\\\\E301\\\"}.km-ios7 .km-state-active .km-battery:after{content:\\\"\\\\E303\\\"}.km-ios7 .km-state-active .km-bookmarks:after{content:\\\"\\\\E304\\\"}.km-ios7 .km-state-active .km-camera:after{content:\\\"\\\\E305\\\"}.km-ios7 .km-state-active .km-cart:after{content:\\\"\\\\E306\\\"}.km-ios7 .km-state-active .km-recents:after{content:\\\"\\\\E307\\\"}.km-ios7 .km-state-active .km-download:after,.km-ios7 .km-state-active .km-downloads:after{content:\\\"\\\\E309\\\"}.km-ios7 .km-state-active .km-edit:after{content:\\\"\\\\E30A\\\"}.km-ios7 .km-state-active .km-mostviewed:after{content:\\\"\\\\E30B\\\"}.km-ios7 .km-state-active .km-favorites:after,.km-ios7 .km-state-active .km-toprated:after{content:\\\"\\\\E30C\\\"}.km-ios7 .km-state-active .km-featured:after{content:\\\"\\\\E30D\\\"}.km-ios7 .km-state-active .km-fastforward:after{content:\\\"\\\\E30E\\\"}.km-ios7 .km-state-active .km-settings:after{content:\\\"\\\\E30F\\\"}.km-ios7 .km-state-active .km-globe:after{content:\\\"\\\\E311\\\"}.km-ios7 .km-state-active .km-home:after{content:\\\"\\\\E312\\\"}.km-ios7 .km-state-active .km-about:after,.km-ios7 .km-state-active .km-info:after{content:\\\"\\\\E313\\\"}.km-ios7 .km-state-active .km-share:after{content:\\\"\\\\E314\\\"}.km-ios7 .km-state-active .km-more:after{content:\\\"\\\\E315\\\"}.km-ios7 .km-state-active .km-details:after{content:\\\"\\\\E317\\\"}.km-ios7 .km-state-active .km-pause:after{content:\\\"\\\\E318\\\"}.km-ios7 .km-state-active .km-contacts:after{content:\\\"\\\\E319\\\"}.km-ios7 .km-state-active .km-play:after{content:\\\"\\\\E31A\\\"}.km-ios7 .km-state-active .km-refresh:after{content:\\\"\\\\E31B\\\"}.km-ios7 .km-state-active .km-history:after{content:\\\"\\\\E31C\\\"}.km-ios7 .km-state-active .km-rewind:after{content:\\\"\\\\E31D\\\"}.km-ios7 .km-state-active .km-search:after{content:\\\"\\\\E31E\\\"}.km-ios7 .km-state-active .km-stop:after{content:\\\"\\\\E31F\\\"}.km-ios7 .km-state-active .km-organize:after{content:\\\"\\\\E320\\\"}.km-ios7 .km-state-active .km-delete:after,.km-ios7 .km-state-active .km-trash:after{content:\\\"\\\\E321\\\"}.km-ios7 .km-state-active .km-reply:after{content:\\\"\\\\E322\\\"}.km-ios7 .km-state-active .km-forward:after{content:\\\"\\\\E323\\\"}.km-ios7 .km-state-active .km-sounds:after,.km-ios7 .km-state-active .km-volume:after{content:\\\"\\\\E324\\\"}.km-ios7 .km-state-active .km-wifi:after{content:\\\"\\\\E325\\\"}.km-arrowdown:after,.km-arrowdown:before{content:\\\"\\\\E002\\\"}.km-wp .km-scroller-pull .km-icon:after{content:\\\"\\\\E0D4\\\"}.km-on-wp.km-app .km-filter-wrap:before,.km-on-wp.km-app .km-icon:after,.km-on-wp.km-app .km-state-active .km-icon:after{color:transparent;background-image:url(\" + escape(require(\"./images/wp8_icons.png\")) + \");-webkit-background-size:auto 100%;background-size:auto 100%;height:1em;margin-top:0;vertical-align:middle}.km-wp-light.km-app .km-filter-wrap:before,.km-wp-light.km-app .km-icon:after{background-image:url(\" + escape(require(\"./images/wp8_inverseicons.png\")) + \")}.km-on-wp.km-app .km-icon{line-height:1em}.km-on-wp.km-app .km-icon:before{display:none}.km-on-wp.km-app .km-action:after{background-position-x:20%}.km-on-wp.km-app .km-add:after,.km-on-wp.km-app .km-filter-reset .km-clear:after{background-position-x:22%}.km-on-wp.km-app .km-battery:after{background-position-x:24%}.km-on-wp.km-app .km-bookmarks:after{background-position-x:26%}.km-on-wp.km-app .km-camera:after{background-position-x:28%}.km-on-wp.km-app .km-cart:after{background-position-x:30%}.km-on-wp.km-app .km-compose:after,.km-on-wp.km-app .km-edit:after{background-position-x:32%}.km-on-wp.km-app .km-contacts:after{background-position-x:34%}.km-on-wp.km-app .km-delete:after,.km-on-wp.km-app .km-trash:after{background-position-x:36%}.km-on-wp.km-app .km-details:after{background-position-x:38%}.km-on-wp.km-app .km-download:after,.km-on-wp.km-app .km-downloads:after{background-position-x:40%}.km-on-wp.km-app .km-fastforward:after{background-position-x:42%}.km-on-wp.km-app .km-favorites:after,.km-on-wp.km-app .km-toprated:after{background-position-x:44%}.km-on-wp.km-app .km-featured:after{background-position-x:46%}.km-on-wp.km-app .km-globe:after{background-position-x:48%}.km-on-wp.km-app .km-history:after{background-position-x:50%}.km-on-wp.km-app .km-home:after{background-position-x:52%}.km-on-wp.km-app .km-about:after,.km-on-wp.km-app .km-info:after{background-position-x:54%}.km-on-wp.km-app .km-more:after{background-position-x:56%}.km-on-wp.km-app .km-mostrecent:after{background-position-x:58%}.km-on-wp.km-app .km-mostviewed:after{background-position-x:60%}.km-on-wp.km-app .km-organize:after{background-position-x:62%}.km-on-wp.km-app .km-pause:after{background-position-x:64%}.km-on-wp.km-app .km-play:after{background-position-x:66%}.km-on-wp.km-app .km-recents:after{background-position-x:68%}.km-on-wp.km-app .km-refresh:after{background-position-x:70%}.km-on-wp.km-app .km-reply:after{background-position-x:72%}.km-on-wp.km-app .km-rewind:after{background-position-x:74%}.km-on-wp.km-app .km-filter-wrap:before,.km-on-wp.km-app .km-search:after{background-position-x:76%}.km-on-wp.km-app .km-settings:after{background-position-x:78%}.km-on-wp.km-app .km-share:after{background-position-x:80%}.km-on-wp.km-app .km-sounds:after,.km-on-wp.km-app .km-volume:after{background-position-x:82%}.km-on-wp.km-app .km-stop:after{background-position-x:84%}.km-on-wp.km-app .km-wifi:after{background-position-x:86%}.km-on-wp.km-app.km-android .km-more:after{background-position-x:88%}.km-on-wp.km-app.km-meego .km-more:after{background-position-x:90%}.km-on-wp.km-app.km-meego .km-load-more .km-icon:after,.km-on-wp.km-app.km-meego .km-loading:after,.km-on-wp.km-app.km-meego .km-scroller-refresh .km-icon:after{background-position-x:94%}.km-on-wp.km-app .km-scroller-pull .km-icon:after{background-position-x:100%}.km-on-wp.km-app .km-filter-wrap:before{display:inline-block;content:\\\"\\\\A0\\\"}.km-on-wp.km-app .km-filter-reset .km-clear:after{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.km-list .km-icon-label.k-i-arrow-e:before{content:\\\"\\\\E000\\\"}.km-list .km-icon-label.k-i-arrow-n:before{content:\\\"\\\\E001\\\"}.km-list .km-icon-label.k-i-arrow-s:before{content:\\\"\\\\E002\\\"}.km-list .km-icon-label.k-i-arrow-w:before{content:\\\"\\\\E003\\\"}.km-list .km-icon-label.k-i-arrow-ne:before{content:\\\"\\\\E004\\\"}.km-list .km-icon-label.k-i-arrow-nw:before{content:\\\"\\\\E005\\\"}.km-list .km-icon-label.k-i-arrow-se:before{content:\\\"\\\\E006\\\"}.km-list .km-icon-label.k-i-arrow-sw:before{content:\\\"\\\\E007\\\"}.km-list .km-icon-label.k-i-seek-e:before{content:\\\"\\\\E008\\\"}.km-list .km-icon-label.k-i-seek-n:before{content:\\\"\\\\E009\\\"}.km-list .km-icon-label.k-i-seek-s:before{content:\\\"\\\\E00A\\\"}.km-list .km-icon-label.k-i-seek-w:before{content:\\\"\\\\E00B\\\"}.km-list .km-icon-label.k-i-sarrow-e:before,.km-list .km-icon-label.k-si-arrow-e:before{content:\\\"\\\\E00C\\\"}.km-list .km-icon-label.k-i-sarrow-n:before,.km-list .km-icon-label.k-si-arrow-n:before{content:\\\"\\\\E00D\\\"}.km-list .km-icon-label.k-i-sarrow-s:before,.km-list .km-icon-label.k-si-arrow-s:before{content:\\\"\\\\E00E\\\"}.km-list .km-icon-label.k-i-sarrow-w:before,.km-list .km-icon-label.k-si-arrow-w:before{content:\\\"\\\\E00F\\\"}.km-list .km-icon-label.k-i-arrowhead-e:before{content:\\\"\\\\E010\\\"}.km-list .km-icon-label.k-i-arrowhead-n:before{content:\\\"\\\\E011\\\"}.km-list .km-icon-label.k-i-arrowhead-s:before{content:\\\"\\\\E012\\\"}.km-list .km-icon-label.k-i-arrowhead-w:before{content:\\\"\\\\E013\\\"}.km-list .km-icon-label.k-i-arrowhead-ew:before{content:\\\"\\\\E014\\\"}.km-list .km-icon-label.k-i-arrowhead-ns:before{content:\\\"\\\\E015\\\"}.km-list .km-icon-label.k-i-move:before{content:\\\"\\\\E016\\\"}.km-list .km-icon-label.k-i-resize:before{content:\\\"\\\\E017\\\"}.km-list .km-icon-label.k-i-resize-45:before{content:\\\"\\\\E018\\\"}.km-list .km-icon-label.k-i-resize-135:before{content:\\\"\\\\E019\\\"}.km-list .km-icon-label.k-i-resize-h:before{content:\\\"\\\\E01A\\\"}.km-list .km-icon-label.k-i-resize-v:before{content:\\\"\\\\E01B\\\"}.km-list .km-icon-label.k-i-refresh:before{content:\\\"\\\\E01C\\\"}.km-list .km-icon-label.k-i-refresh-rev:before{content:\\\"\\\\E01D\\\"}.km-list .km-icon-label.k-i-srefresh:before,.km-list .km-icon-label.k-si-refresh:before{content:\\\"\\\\E01E\\\"}.km-list .km-icon-label.k-s-srefresh-rev:before,.km-list .km-icon-label.k-si-refresh-rev:before{content:\\\"\\\\E01F\\\"}.km-list .km-icon-label.k-i-turn-en:before{content:\\\"\\\\E020\\\"}.km-list .km-icon-label.k-i-turn-es:before{content:\\\"\\\\E021\\\"}.km-list .km-icon-label.k-i-turn-ne:before{content:\\\"\\\\E022\\\"}.km-list .km-icon-label.k-i-turn-nw:before{content:\\\"\\\\E023\\\"}.km-list .km-icon-label.k-i-turn-se:before{content:\\\"\\\\E024\\\"}.km-list .km-icon-label.k-i-turn-sw:before{content:\\\"\\\\E025\\\"}.km-list .km-icon-label.k-i-turn-wn:before{content:\\\"\\\\E026\\\"}.km-list .km-icon-label.k-i-turn-ws:before{content:\\\"\\\\E027\\\"}.km-list .km-icon-label.k-i-uturn-e:before{content:\\\"\\\\E028\\\"}.km-list .km-icon-label.k-i-uturn-e-rev:before{content:\\\"\\\\E029\\\"}.km-list .km-icon-label.k-i-uturn-n:before{content:\\\"\\\\E02A\\\"}.km-list .km-icon-label.k-i-uturn-n-rev:before{content:\\\"\\\\E02B\\\"}.km-list .km-icon-label.k-i-uturn-s:before{content:\\\"\\\\E02C\\\"}.km-list .km-icon-label.k-i-uturn-s-rev:before{content:\\\"\\\\E02D\\\"}.km-list .km-icon-label.k-i-uturn-w:before{content:\\\"\\\\E02E\\\"}.km-list .km-icon-label.k-i-uturn-w-rev:before{content:\\\"\\\\E02F\\\"}.km-list .km-icon-label.k-i-tick-sign:before{content:\\\"\\\\E030\\\"}.km-list .km-icon-label.k-i-close-sign:before{content:\\\"\\\\E031\\\"}.km-list .km-icon-label.k-i-plus-sign:before{content:\\\"\\\\E032\\\"}.km-list .km-icon-label.k-i-minus-sign:before{content:\\\"\\\\E033\\\"}.km-list .km-icon-label.k-i-splus-sign:before,.km-list .km-icon-label.k-si-plus-sign:before{content:\\\"\\\\E034\\\"}.km-list .km-icon-label.k-i-sminus-sign:before,.km-list .km-icon-label.k-si-minus-sign:before{content:\\\"\\\\E035\\\"}.km-list .km-icon-label.k-i-cancel:before{content:\\\"\\\\E036\\\"}.km-list .km-icon-label.k-i-tick:before{content:\\\"\\\\E037\\\"}.km-list .km-icon-label.k-i-close:before{content:\\\"\\\\E038\\\"}.km-list .km-icon-label.k-i-plus:before{content:\\\"\\\\E039\\\"}.km-list .km-icon-label.k-i-minus:before{content:\\\"\\\\E03A\\\"}.km-list .km-icon-label.k-i-splus:before,.km-list .km-icon-label.k-si-plus:before{content:\\\"\\\\E03B\\\"}.km-list .km-icon-label.k-i-sminus:before,.km-list .km-icon-label.k-si-minus:before{content:\\\"\\\\E03C\\\"}.km-list .km-icon-label.k-i-stop:before{content:\\\"\\\\E03D\\\"}.km-list .km-icon-label.k-i-pause:before{content:\\\"\\\\E03E\\\"}.km-list .km-icon-label.k-i-eject:before{content:\\\"\\\\E03F\\\"}.km-list .km-icon-label.k-i-volume-off:before{content:\\\"\\\\E040\\\"}.km-list .km-icon-label.k-i-volume-low:before{content:\\\"\\\\E041\\\"}.km-list .km-icon-label.k-i-volume-high:before{content:\\\"\\\\E042\\\"}.km-list .km-icon-label.k-i-earphones:before{content:\\\"\\\\E043\\\"}.km-list .km-icon-label.k-i-heart:before{content:\\\"\\\\E044\\\"}.km-list .km-icon-label.k-i-heart-empty:before{content:\\\"\\\\E045\\\"}.km-list .km-icon-label.k-i-heart-half:before{content:\\\"\\\\E046\\\"}.km-list .km-icon-label.k-i-star:before{content:\\\"\\\\E047\\\"}.km-list .km-icon-label.k-i-star-empty:before{content:\\\"\\\\E048\\\"}.km-list .km-icon-label.k-i-star-half:before{content:\\\"\\\\E049\\\"}.km-list .km-icon-label.k-i-star-half-empty:before{content:\\\"\\\\E04A\\\"}.km-list .km-icon-label.k-i-chart-column:before{content:\\\"\\\\E04B\\\"}.km-list .km-icon-label.k-i-chart-bar:before{content:\\\"\\\\E04C\\\"}.km-list .km-icon-label.k-i-chart-pie:before{content:\\\"\\\\E04D\\\"}.km-list .km-icon-label.k-i-chart-donut:before{content:\\\"\\\\E04E\\\"}.km-list .km-icon-label.k-i-chart-line:before{content:\\\"\\\\E04F\\\"}.km-list .km-icon-label.k-i-chart-area:before{content:\\\"\\\\E050\\\"}.km-list .km-icon-label.k-i-chart-donut:before{content:\\\"\\\\E051\\\"}.km-list .km-icon-label.k-i-align-left:before{content:\\\"\\\\E052\\\"}.km-list .km-icon-label.k-i-align-center:before{content:\\\"\\\\E053\\\"}.km-list .km-icon-label.k-i-align-right:before{content:\\\"\\\\E054\\\"}.km-list .km-icon-label.k-i-align-justify:before{content:\\\"\\\\E055\\\"}.km-list .km-icon-label.k-i-align-clear:before{content:\\\"\\\\E056\\\"}.km-list .km-icon-label.k-i-bold:before{content:\\\"\\\\E057\\\"}.km-list .km-icon-label.k-i-bold-sans:before{content:\\\"\\\\E058\\\"}.km-list .km-icon-label.k-i-italic:before{content:\\\"\\\\E059\\\"}.km-list .km-icon-label.k-i-italic-sans:before{content:\\\"\\\\E05A\\\"}.km-list .km-icon-label.k-i-underline:before{content:\\\"\\\\E05B\\\"}.km-list .km-icon-label.k-i-underline-sans:before{content:\\\"\\\\E05C\\\"}.km-list .km-icon-label.k-i-strikethrough:before{content:\\\"\\\\E05D\\\"}.km-list .km-icon-label.k-i-strikethrough-sans:before{content:\\\"\\\\E05E\\\"}.km-list .km-icon-label.k-i-font-a:before{content:\\\"\\\\E05F\\\"}.km-list .km-icon-label.k-i-font-a-sans:before{content:\\\"\\\\E060\\\"}.km-list .km-icon-label.k-i-font-t:before{content:\\\"\\\\E061\\\"}.km-list .km-icon-label.k-i-font-t-sans:before{content:\\\"\\\\E062\\\"}.km-list .km-icon-label.k-i-brightness:before{content:\\\"\\\\E063\\\"}.km-list .km-icon-label.k-i-brightness-contrast:before{content:\\\"\\\\E064\\\"}.km-list .km-icon-label.k-i-contrast:before{content:\\\"\\\\E065\\\"}.km-list .km-icon-label.k-i-crop:before{content:\\\"\\\\E066\\\"}.km-list .km-icon-label.k-i-mirror:before{content:\\\"\\\\E067\\\"}.km-list .km-icon-label.k-i-flip-h:before{content:\\\"\\\\E068\\\"}.km-list .km-icon-label.k-i-flip-v:before{content:\\\"\\\\E069\\\"}.km-list .km-icon-label.k-i-rotate:before{content:\\\"\\\\E06A\\\"}.km-list .km-icon-label.k-i-rotate-rev:before{content:\\\"\\\\E06B\\\"}.km-list .km-icon-label.k-i-filter:before{content:\\\"\\\\E06C\\\"}.km-list .km-icon-label.k-i-filter-clear:before{content:\\\"\\\\E06D\\\"}.km-list .km-icon-label.k-i-sort-asc:before{content:\\\"\\\\E06E\\\"}.km-list .km-icon-label.k-i-sort-desc:before{content:\\\"\\\\E06F\\\"}.km-list .km-icon-label.k-i-sort-clear:before{content:\\\"\\\\E070\\\"}.km-list .km-icon-label.k-i-indent:before{content:\\\"\\\\E071\\\"}.km-list .km-icon-label.k-i-outdent:before{content:\\\"\\\\E072\\\"}.km-list .km-icon-label.k-i-hyperlink:before{content:\\\"\\\\E073\\\"}.km-list .km-icon-label.k-i-hyperlink-clear:before{content:\\\"\\\\E074\\\"}.km-list .km-icon-label.k-i-hyperlink-ext:before{content:\\\"\\\\E075\\\"}.km-list .km-icon-label.k-si-hyperlink-ext:before{content:\\\"\\\\E076\\\"}.km-list .km-icon-label.k-i-ul:before{content:\\\"\\\\E077\\\"}.km-list .km-icon-label.k-si-ul:before{content:\\\"\\\\E078\\\"}.km-list .km-icon-label.k-i-paint:before{content:\\\"\\\\E079\\\"}.km-list .km-icon-label.k-i-paste:before{content:\\\"\\\\E07A\\\"}.km-list .km-icon-label.k-i-pencil:before{content:\\\"\\\\E07B\\\"}.km-list .km-icon-label.k-i-image:before{content:\\\"\\\\E07C\\\"}.km-list .km-icon-label.k-i-image-add:before{content:\\\"\\\\E07D\\\"}.km-list .km-icon-label.k-i-print:before{content:\\\"\\\\E07E\\\"}.km-list .km-icon-label.k-i-zoom:before{content:\\\"\\\\E07F\\\"}.km-list .km-icon-label.k-i-zoom-in:before{content:\\\"\\\\E080\\\"}.km-list .km-icon-label.k-i-zoom-out:before{content:\\\"\\\\E081\\\"}.km-list .km-icon-label.k-i-asterisk:before{content:\\\"\\\\E082\\\"}.km-list .km-icon-label.k-i-clip:before{content:\\\"\\\\E083\\\"}.km-list .km-icon-label.k-i-clip-45:before{content:\\\"\\\\E084\\\"}.km-list .km-icon-label.k-i-qrcode:before{content:\\\"\\\\E085\\\"}.km-list .km-icon-label.k-i-book:before{content:\\\"\\\\E086\\\"}.km-list .km-icon-label.k-i-bookmark:before{content:\\\"\\\\E087\\\"}.km-list .km-icon-label.k-i-briefcase:before{content:\\\"\\\\E088\\\"}.km-list .km-icon-label.k-i-calendar:before{content:\\\"\\\\E089\\\"}.km-list .km-icon-label.k-i-camera-still:before{content:\\\"\\\\E08A\\\"}.km-list .km-icon-label.k-i-camera-video:before{content:\\\"\\\\E08B\\\"}.km-list .km-icon-label.k-i-certificate:before{content:\\\"\\\\E08C\\\"}.km-list .km-icon-label.k-i-clock:before{content:\\\"\\\\E08D\\\"}.km-list .km-icon-label.k-i-cloud:before{content:\\\"\\\\E08E\\\"}.km-list .km-icon-label.k-i-collapse:before{content:\\\"\\\\E08F\\\"}.km-list .km-icon-label.k-i-columns:before{content:\\\"\\\\E090\\\"}.km-list .km-icon-label.k-i-comment:before{content:\\\"\\\\E091\\\"}.km-list .km-icon-label.k-i-comment-empty:before{content:\\\"\\\\E092\\\"}.km-list .km-icon-label.k-i-comments:before{content:\\\"\\\\E093\\\"}.km-list .km-icon-label.k-i-comments-empty:before{content:\\\"\\\\E094\\\"}.km-list .km-icon-label.k-i-credit-card:before{content:\\\"\\\\E095\\\"}.km-list .km-icon-label.k-i-download:before{content:\\\"\\\\E096\\\"}.km-list .km-icon-label.k-i-draghandle:before{content:\\\"\\\\E097\\\"}.km-list .km-icon-label.k-si-draghandle:before{content:\\\"\\\\E098\\\"}.km-list .km-icon-label.k-i-envelop:before{content:\\\"\\\\E099\\\"}.km-list .km-icon-label.k-i-envelop-open:before{content:\\\"\\\\E09A\\\"}.km-list .km-icon-label.k-i-eye:before{content:\\\"\\\\E09B\\\"}.km-list .km-icon-label.k-i-file:before{content:\\\"\\\\E09C\\\"}.km-list .km-icon-label.k-i-file-add:before{content:\\\"\\\\E09D\\\"}.km-list .km-icon-label.k-i-film:before{content:\\\"\\\\E09E\\\"}.km-list .km-icon-label.k-i-flag:before{content:\\\"\\\\E09F\\\"}.km-list .km-icon-label.k-i-folder-add:before{content:\\\"\\\\E0A0\\\"}.km-list .km-icon-label.k-i-folder:before{content:\\\"\\\\E0A1\\\"}.km-list .km-icon-label.k-i-folder-open:before{content:\\\"\\\\E0A2\\\"}.km-list .km-icon-label.k-i-folder-up:before{content:\\\"\\\\E0A3\\\"}.km-list .km-icon-label.k-i-gear:before{content:\\\"\\\\E0A4\\\"}.km-list .km-icon-label.k-si-gear:before{content:\\\"\\\\E0A5\\\"}.km-list .km-icon-label.k-i-transmit:before{content:\\\"\\\\E0A6\\\"}.km-list .km-icon-label.k-i-beer:before{content:\\\"\\\\E0A7\\\"}.km-list .km-icon-label.k-i-cocktail:before{content:\\\"\\\\E0A8\\\"}.km-list .km-icon-label.k-i-coffee:before{content:\\\"\\\\E0A9\\\"}.km-list .km-icon-label.k-i-wine:before{content:\\\"\\\\E0AA\\\"}.km-list .km-icon-label.k-i-grid:before{content:\\\"\\\\E0AB\\\"}.km-list .km-icon-label.k-i-thumbs:before{content:\\\"\\\\E0AC\\\"}.km-list .km-icon-label.k-i-split-h:before{content:\\\"\\\\E0AD\\\"}.km-list .km-icon-label.k-i-split-v:before{content:\\\"\\\\E0AE\\\"}.km-list .km-icon-label.k-i-home:before{content:\\\"\\\\E0AF\\\"}.km-list .km-icon-label.k-i-inbox:before{content:\\\"\\\\E0B0\\\"}.km-list .km-icon-label.k-i-key:before{content:\\\"\\\\E0B1\\\"}.km-list .km-icon-label.k-i-login:before{content:\\\"\\\\E0B2\\\"}.km-list .km-icon-label.k-i-logout:before{content:\\\"\\\\E0B3\\\"}.km-list .km-icon-label.k-i-place:before{content:\\\"\\\\E0B4\\\"}.km-list .km-icon-label.k-i-megaphone:before{content:\\\"\\\\E0B5\\\"}.km-list .km-icon-label.k-i-note:before{content:\\\"\\\\E0B6\\\"}.km-list .km-icon-label.k-i-pin:before{content:\\\"\\\\E0B7\\\"}.km-list .km-icon-label.k-i-unpin:before{content:\\\"\\\\E0B8\\\"}.km-list .km-icon-label.k-i-power:before{content:\\\"\\\\E0B9\\\"}.km-list .km-icon-label.k-i-progress-bars:before{content:\\\"\\\\E0BA\\\"}.km-list .km-icon-label.k-i-road:before{content:\\\"\\\\E0BB\\\"}.km-list .km-icon-label.k-i-rss:before{content:\\\"\\\\E0BC\\\"}.km-list .km-icon-label.k-i-floppy:before{content:\\\"\\\\E0BD\\\"}.km-list .km-icon-label.k-i-sitemap:before{content:\\\"\\\\E0BE\\\"}.km-list .km-icon-label.k-i-tag-45:before{content:\\\"\\\\E0BF\\\"}.km-list .km-icon-label.k-i-tag-h:before{content:\\\"\\\\E0C0\\\"}.km-list .km-icon-label.k-i-thunderbolt:before{content:\\\"\\\\E0C1\\\"}.km-list .km-icon-label.k-i-tooltip:before{content:\\\"\\\\E0C2\\\"}.km-list .km-icon-label.k-i-trash:before{content:\\\"\\\\E0C3\\\"}.km-list .km-icon-label.k-i-trophy:before{content:\\\"\\\\E0C4\\\"}.km-list .km-icon-label.k-i-ungroup:before{content:\\\"\\\\E0C5\\\"}.km-list .km-icon-label.k-i-upload:before{content:\\\"\\\\E0C6\\\"}.km-list .km-icon-label.k-i-window:before{content:\\\"\\\\E0C7\\\"}.km-list .km-icon-label.k-i-tiles:before{content:\\\"\\\\E0C8\\\"}.km-list .km-icon-label.k-i-wrench:before{content:\\\"\\\\E0C9\\\"}.km-list .km-icon-label.k-i-action:before{content:\\\"\\\\E0CA\\\"}.km-list .km-icon-label.k-i-add:before{content:\\\"\\\\E0CB\\\"}.km-list .km-icon-label.k-i-add-inv:before{content:\\\"\\\\E0CC\\\"}.km-list .km-icon-label.k-i-armchair:before{content:\\\"\\\\E0CD\\\"}.km-list .km-icon-label.k-i-battery:before{content:\\\"\\\\E0CE\\\"}.km-list .km-icon-label.k-i-book-open:before{content:\\\"\\\\E0CF\\\"}.km-list .km-icon-label.k-i-camera:before{content:\\\"\\\\E0D0\\\"}.km-list .km-icon-label.k-i-cart:before{content:\\\"\\\\E0D1\\\"}.km-list .km-icon-label.k-i-time:before{content:\\\"\\\\E0D2\\\"}.km-list .km-icon-label.k-i-coffee-card:before{content:\\\"\\\\E0D3\\\"}.km-list .km-icon-label.k-i-download-arrow:before{content:\\\"\\\\E0D4\\\"}.km-list .km-icon-label.k-i-edit:before{content:\\\"\\\\E0D5\\\"}.km-list .km-icon-label.k-i-faves:before{content:\\\"\\\\E0D6\\\"}.km-list .km-icon-label.k-i-star:before{content:\\\"\\\\E0D7\\\"}.km-list .km-icon-label.k-i-featured:before{content:\\\"\\\\E0D8\\\"}.km-list .km-icon-label.k-i-forward:before{content:\\\"\\\\E0D9\\\"}.km-list .km-icon-label.k-i-cog:before{content:\\\"\\\\E0DA\\\"}.km-list .km-icon-label.k-i-globe:before{content:\\\"\\\\E0DB\\\"}.km-list .km-icon-label.k-i-globe-inv:before{content:\\\"\\\\E0DC\\\"}.km-list .km-icon-label.k-i-house:before{content:\\\"\\\\E0DD\\\"}.km-list .km-icon-label.k-i-info:before{content:\\\"\\\\E0DE\\\"}.km-list .km-icon-label.k-i-share:before{content:\\\"\\\\E0DF\\\"}.km-list .km-icon-label.k-i-more-h:before{content:\\\"\\\\E0E0\\\"}.km-list .km-icon-label.k-i-more-v:before{content:\\\"\\\\E0E1\\\"}.km-list .km-icon-label.k-i-next:before{content:\\\"\\\\E0E2\\\"}.km-list .km-icon-label.k-i-pause-a:before{content:\\\"\\\\E0E3\\\"}.km-list .km-icon-label.k-i-user:before{content:\\\"\\\\E0E4\\\"}.km-list .km-icon-label.k-i-play-a:before{content:\\\"\\\\E0E5\\\"}.km-list .km-icon-label.k-i-refresh-a:before{content:\\\"\\\\E0E6\\\"}.km-list .km-icon-label.k-i-reset:before{content:\\\"\\\\E0E7\\\"}.km-list .km-icon-label.k-i-rewind:before{content:\\\"\\\\E0E8\\\"}.km-list .km-icon-label.k-i-search-a:before{content:\\\"\\\\E0E9\\\"}.km-list .km-icon-label.k-i-stop-a:before{content:\\\"\\\\E0EA\\\"}.km-list .km-icon-label.k-i-tiles-a:before{content:\\\"\\\\E0EB\\\"}.km-list .km-icon-label.k-i-trash-a:before{content:\\\"\\\\E0EC\\\"}.km-list .km-icon-label.k-i-undo:before{content:\\\"\\\\E0ED\\\"}.km-list .km-icon-label.k-i-redo:before{content:\\\"\\\\E0EE\\\"}.km-list .km-icon-label.k-i-volume-a:before{content:\\\"\\\\E0EF\\\"}.km-list .km-icon-label.k-i-wifi:before{content:\\\"\\\\E0F0\\\"}.km-list .km-icon-label.k-i-more-lines:before{content:\\\"\\\\E0F1\\\"}.km-list .km-icon-label.k-i-pull-to-ref:before{content:\\\"\\\\E0F2\\\"}.km-list .km-icon-label.k-i-loading-android:before{content:\\\"\\\\E0F3\\\"}.km-list .km-icon-label.k-i-loading-blackberry:before{content:\\\"\\\\E0F4\\\"}.km-list .km-icon-label.k-i-loading-meego:before{content:\\\"\\\\E0F5\\\"}.km-list .km-icon-label.k-i-loading-custom:before{content:\\\"\\\\E0F6\\\"}.km-list .km-icon-label.k-i-loading-ios:before{content:\\\"\\\\E0F7\\\"}.km-list .km-icon-label.k-i-bug:before{content:\\\"\\\\E0F8\\\"}.km-list .km-icon-label.k-i-info:before{content:\\\"\\\\E0F9\\\"}.km-list .km-icon-label.k-i-warning:before{content:\\\"\\\\E0FA\\\"}.km-list .km-icon-label.k-i-question:before{content:\\\"\\\\E0FB\\\"}.km-list .km-icon-label.k-i-insert-n:before{content:\\\"\\\\E0FC\\\"}.km-list .km-icon-label.k-i-insert-m:before{content:\\\"\\\\E0FD\\\"}.km-list .km-icon-label.k-i-insert-s:before{content:\\\"\\\\E0FE\\\"}.km-list .km-icon-label.k-i-lock:before{content:\\\"\\\\E0FF\\\"}.km-list .km-icon-label.k-i-unlock:before{content:\\\"\\\\E100\\\"}.km-list .km-icon-label.k-i-phone:before{content:\\\"\\\\E101\\\"}.km-list .km-icon-label.k-i-tablet:before{content:\\\"\\\\E102\\\"}.km-list .km-icon-label.k-i-ol:before{content:\\\"\\\\E103\\\"}.km-list .km-icon-label.k-i-barcode:before{content:\\\"\\\\E104\\\"}.km-list .km-icon-label.k-i-html5:before{content:\\\"\\\\E105\\\"}.km-list .km-icon-label.k-i-css3:before{content:\\\"\\\\E106\\\"}.km-list .km-icon-label.k-i-kendoui:before{content:\\\"\\\\E107\\\"}.km-list .km-icon-label.k-i-telerik:before{content:\\\"\\\\E108\\\"}.km-list .km-icon-label.k-i-icenium:before{content:\\\"\\\\E109\\\"}.km-list .km-icon-label.k-i-sitefinity:before{content:\\\"\\\\E10A\\\"}.km-list .km-icon-label.k-i-twitter:before{content:\\\"\\\\E10B\\\"}.km-list .km-icon-label.k-i-linkedin:before{content:\\\"\\\\E10C\\\"}.km-list .km-icon-label.k-i-facebook:before{content:\\\"\\\\E10D\\\"}.km-list .km-icon-label.k-i-pinterest:before{content:\\\"\\\\E10E\\\"}.km-list .km-icon-label.k-i-youtube:before{content:\\\"\\\\E10F\\\"}.km-list .km-icon-label.k-i-vimeo:before{content:\\\"\\\\E110\\\"}.km-list .km-icon-label.k-i-behance:before{content:\\\"\\\\E111\\\"}.km-list .km-icon-label.k-i-dribbble:before{content:\\\"\\\\E112\\\"}.km-list .km-icon-label.k-i-googleplus:before{content:\\\"\\\\E113\\\"}.km-list .km-icon-label.k-i-minimize:before{content:\\\"\\\\E114\\\"}.km-list .km-icon-label.k-i-html:before{content:\\\"\\\\E115\\\"}.km-list .km-icon-label.k-i-group:before{content:\\\"\\\\E116\\\"}.km-list .km-icon-label.k-i-subscript:before{content:\\\"\\\\E117\\\"}.km-list .km-icon-label.k-i-superscript:before{content:\\\"\\\\E118\\\"}.km-list .km-icon-label.k-i-drophere:before{content:\\\"\\\\E119\\\"}.km-button{margin:0;padding:.3em .8em;border-width:1px;border-style:solid}.km-button:hover{text-decoration:none}.km-badge{border:0;min-width:1.8em;height:1.8em;line-height:1.8em;border-radius:5em}.km-detail{border-radius:5em;min-width:1.4em;height:1.4em;line-height:1.4em;border-width:1px;border-style:solid}.km-detaildisclose{min-width:1.8em;height:1.8em;line-height:1.8em}.km-detaildisclose:after,.km-detaildisclose:before{left:.1em;top:.35em}.km-detail .km-icon:before{display:none}.km-buttongroup{vertical-align:middle;background:0 0;padding:0;margin:0}.km-buttongroup>*{padding:.36em .8em}.km-buttongroup>:not(:first-child):not(:last-child){border-radius:0}.km-widget.km-buttongroup>.km-state-active,.km-widget.km-buttongroup>:last-child{border-right-width:1px}.km-widget.km-buttongroup>.km-state-active+*{border-left-width:0}.km-navbar{border-width:1px;border-style:solid}.km-header .km-navbar{border-width:0 0 1px}.km-footer .km-navbar{border-width:1px 0 0}.km-tabstrip{padding:0;display:table;table-layout:fixed}.km-tabstrip .km-button{font-size:.7em;display:table-cell;border:0}.km-tabstrip .km-icon:before{display:none}.km-switch{width:4.2em;height:1.9em;line-height:1.76em;overflow:hidden;vertical-align:middle}.km-switch-wrapper{overflow:hidden}.km-switch-background{width:118%;position:relative;left:-95%;margin-left:0;background:currentcolor}.km-switch .km-switch-background{border-top-right-radius:0;border-bottom-right-radius:0}.km-switch-container{padding:1px 0 1px 1px;border-width:0}.km-switch-handle{width:1.6em;margin:0 4px 0 0;border:1px solid transparent;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 0 1px currentcolor,0 -1px 0 1px currentcolor;box-shadow:0 1px 0 1px currentcolor,0 -1px 0 1px currentcolor}.km-switch-label-off{left:101%}.km-switch-label-on{left:-171%}.km-switch-label-off,.km-switch-label-on{text-shadow:none;width:170%;font-size:1em;line-height:1.76em;vertical-align:middle;top:-2px}.km-switch-container,.km-switch-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;-webkit-background-clip:content-box;background-clip:content-box}.km-list>li{border-style:solid;border-width:0 0 1px 0}.km-listgroupinset .km-list>li:first-child,.km-listinset>li:first-child{border-style:solid;border-width:1px}.km-listgroupinset .km-list>li,.km-listinset>li{border-width:0 1px 1px 1px}.km-listgroupinset .km-list>li:last-child,.km-listinset>li:last-child{border-style:solid;border-width:0 1px 1px 1px}.km-listgroupinset .km-list>li:first-child:last-child,.km-listinset>li:first-child:last-child{border-width:1px}.km-listview-link:after{border-color:currentcolor;border-width:.2rem .2rem 0 0}.km-pane:not(.km-on-android) .km-listview-link:after{width:.66rem;height:.64rem;border-width:0;-webkit-box-shadow:inset -.2rem .2rem 0;box-shadow:inset -.2rem .2rem 0}.km-listgroupinset li:first-child>.km-listview-label,.km-listgroupinset li:first-child>.km-listview-link,.km-listinset li:first-child>.km-listview-label,.km-listinset li:first-child>.km-listview-link{border-radius:2px 2px 0 0}.km-listgroupinset li:last-child>.km-listview-label,.km-listgroupinset li:last-child>.km-listview-link,.km-listinset li:last-child>.km-listview-label,.km-listinset li:last-child>.km-listview-link{border-radius:0 0 2px 2px}.km-listgroupinset li:first-child:last-child>.km-listview-label,.km-listgroupinset li:first-child:last-child>.km-listview-link,.km-listinset li:first-child:last-child>.km-listview-label,.km-listinset li:first-child:last-child>.km-listview-link{border-radius:2px}.km-group-title{border-style:solid;border-width:1px 0}.km-scroll-header .km-group-title{border-width:0 0 1px}.km-listgroupinset .km-group-title{border:0;background:0 0}.km-listview .km-switch{margin-top:-.9rem}.km-listview-wrapper form .km-filter-wrap>input{font-size:1.2em;padding:.3em 1.8em}.km-widget .km-filter-wrap:before{margin:.05em -1.2em 0 .2em}.km-filter-reset{margin:.05em 0 0 -2em}.km-filter-reset .km-clear:after{content:\\\"\\\\E038\\\"}.km-filter-wrap>input{border-width:1px;border-style:solid}.km-load-more{height:3.4em}.km-load-more .km-button{margin:0 .8em;display:block}.km-scroller-refresh.km-load-more{padding:0;position:relative;margin:auto}.km-scroller-pull,.km-scroller-refresh.km-load-more{font-size:1em;width:2.5em;height:2.5em;top:.25em;white-space:nowrap}.km-scroller-pull{left:50%;margin:0 0 0 -90px}.km-scroller-pull .km-template{position:absolute;line-height:2em;font-size:1.2em;min-width:0;top:0;left:3em}.km-scroller-pull .km-icon{margin-right:0;display:block;position:absolute;top:50%;left:50%;margin-left:-1rem;margin-top:-1rem}.km-scroller-pull .km-icon:after{content:\\\"\\\\E012\\\";margin-left:-3px}.km-scroller-refresh .km-icon:after{display:none}.km-scroller-refresh .km-loading-left{margin-left:-.18em}.km-scroller-refresh .km-loading-right{margin-left:.28em}.km-pages{padding-top:.5em}.km-pages li{border-radius:1em}.km-list .k-dropdown-wrap,.km-list input[type=color],.km-list input[type=date],.km-list input[type=datetime-local],.km-list input[type=datetime],.km-list input[type=email],.km-list input[type=month],.km-list input[type=number],.km-list input[type=password],.km-list input[type=search],.km-list input[type=tel],.km-list input[type=text]:not(.k-input),.km-list input[type=time],.km-list input[type=url],.km-list input[type=week],.km-list select:not([multiple]),.km-list textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:1.1rem;min-width:6em;border:0;padding:.4em;outline:0;background:0 0}.km-list .k-dropdown-wrap{padding:.2em}.km-list .k-dropdown{margin-top:-1.05em;font-weight:400}.km-list .k-dropdown,.km-list input[type=color],.km-list input[type=date],.km-list input[type=datetime-local],.km-list input[type=datetime],.km-list input[type=month],.km-list input[type=time],.km-list input[type=week]{text-align:left}.km-list .k-dropdown .k-dropdown-wrap{display:block;border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.km-listview-label input[type=checkbox]{margin-top:-.7em}.km-listview-label input[type=checkbox],.km-listview-label input[type=radio]{border-width:1px;border-style:solid;width:1.4em;height:1.4em}.km-listview-label input[type=radio]{width:1.2em;height:1.2em;border-radius:1em}.km-listview-label input[type=checkbox]:after{content:\\\"\\\\A0\\\";display:block;width:90%;height:76%;-webkit-transform:scale(.9,1);-ms-transform:scale(.9,1);transform:scale(.9,1);-webkit-transform-origin:10% 50%;-ms-transform-origin:10% 50%;transform-origin:10% 50%}.km-listview-label input[type=checkbox]:checked:after{font-size:1.4em}.km-listview-label input[type=radio]:after{color:transparent}.km-actionsheet>li>a{font-size:1.4em;font-weight:400;text-align:center}.km-actionsheet{max-height:80%}.km-actionsheet>li>a{display:block}.km-actionsheet>li:last-child>a{border:0}.km-popup li.km-actionsheet-title,.km-shim li.km-actionsheet-title{display:none}.km-popup-wrapper{padding:15px}.km-popover-root .km-popup{border:5px solid transparent}.km-popover-root .km-popup .km-navbar,.km-popover-root .km-popup .km-tabstrip,.km-popover-root .km-popup .km-toolbar,.km-popover-root .km-popup .km-view{background:0 0}.km-popover-root .km-popup .km-header{padding:0 5px;margin:-5px -5px 2px;-webkit-margin-collapse:separate}.km-popup-arrow:after,.km-popup-arrow:before{border-style:solid;border-width:0 15px 15px}.km-down .km-popup-arrow:before{margin-top:-1px}.km-up .km-popup-arrow:after,.km-up .km-popup-arrow:before{border-width:15px 15px 0 15px}.km-left .km-popup-arrow:after,.km-left .km-popup-arrow:before{border-width:15px 0 15px 15px}.km-right .km-popup-arrow:after,.km-right .km-popup-arrow:before{border-width:15px 15px 15px 0}.km-buttongroup>:first-child{border-radius:3px 0 0 3px}.km-buttongroup>:last-child{border-radius:0 3px 3px 0}.km-listgroupinset .km-list>li:first-child,.km-listinset>li:first-child,.km-popover-root .km-popup .km-header{border-radius:3px 3px 0 0}.km-listgroupinset .km-list>li:last-child,.km-listinset>li:last-child{border-radius:0 0 3px 3px}.km-actionsheet-wrapper.km-popup,.km-button,.km-filter-wrap>input,.km-listgroupinset .km-list>li:first-child:last-child,.km-listinset>li:first-child:last-child,.km-listview-label input[type=checkbox],.km-listview-label input[type=radio],.km-popover-root .km-popup,.km-switch-handle{border-radius:3px}.km-switch-background,.km-switch-container,.km-switch-wrapper{border-radius:4px}.km-actionsheet-wrapper.km-popup{padding:3px 0;-webkit-box-shadow:0 0 10px rgba(0,0,0,.4);box-shadow:0 0 10px rgba(0,0,0,.4)}.km-content,.km-popover-root .km-content .km-widget,.km-widget{color:#2e2e2e;background:#fff}.km-navbar{color:#313131;background:#eae8e8}.km-view{background:0 0}.km-navbar{border-color:rgba(46,46,46,.2)}.km-button{background:rgba(255,255,255,.2);border-color:rgba(46,46,46,.2)}.km-state-active[style*=background]{-webkit-box-shadow:inset 0 0 0 1000px rgba(128,128,128,.4);box-shadow:inset 0 0 0 1000px rgba(128,128,128,.4)}.km-detail{color:#2e2e2e;border-color:rgba(46,46,46,.2);background-color:#fff}.km-detail:active,.km-state-active .km-detail{-webkit-box-shadow:inset 0 0 0 1000px rgba(255,255,255,.2);box-shadow:inset 0 0 0 1000px rgba(255,255,255,.2)}.km-switch-wrapper{background-color:#bababa}.km-switch-background{background-image:url(\" + escape(require(\"./textures/highlight.png\")) + \");background-image:none,-webkit-gradient(linear,left top,left bottom,from(#bababa),to(#bababa));background-image:none,-webkit-linear-gradient(top,#bababa,#bababa);background-image:none,linear-gradient(to bottom,#bababa,#bababa);background-position:4.3em 0;background-repeat:no-repeat;background-color:currentcolor}.km-switch-handle{background:#fff}.km-switch-off .km-switch-handle{-webkit-box-shadow:0 1px 0 1px #bababa,0 -1px 0 1px #bababa;box-shadow:0 1px 0 1px #bababa,0 -1px 0 1px #bababa}.km-switch-background,.km-switch-container,.km-switch-wrapper{border-radius:4px}.km-switch-handle{border-radius:3px}.km-switch-container,.km-switch-wrapper{border-color:#d5d5d5}.km-list>li{background:#f2f2f2;border-color:rgba(46,46,46,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.km-listgroupinset .km-list>li:first-child,.km-listinset>li:first-child{border-color:rgba(46,46,46,.2)}.km-listgroupinset .km-list>li:last-child,.km-listinset>li:last-child{border-color:rgba(46,46,46,.2)}.km-listview-link:after{color:#7a7a7a}.km-group-title{background:#fff;border-color:rgba(46,46,46,.2)}.km-pages li{background:rgba(46,46,46,.2)}.km-filter-reset .km-clear,.km-filter-wrap:before{color:#2e2e2e}.km-filter-wrap>input{color:#2e2e2e;border-color:rgba(46,46,46,.2)}.km-filter-wrap>input:focus{border-color:#000}.km-list .k-dropdown-wrap,.km-list input[type=color],.km-list input[type=date],.km-list input[type=datetime-local],.km-list input[type=datetime],.km-list input[type=email],.km-list input[type=month],.km-list input[type=number],.km-list input[type=password],.km-list input[type=search],.km-list input[type=tel],.km-list input[type=text]:not(.k-input),.km-list input[type=time],.km-list input[type=url],.km-list input[type=week],.km-list select:not([multiple]),.km-list textarea{color:#2e2e2e}.km-list .k-dropdown-wrap .k-input{color:#2e2e2e}.km-list select:not([multiple]) option{color:#333}.km-list .km-state-active input[type=color],.km-list .km-state-active input[type=date],.km-list .km-state-active input[type=datetime-local],.km-list .km-state-active input[type=datetime],.km-list .km-state-active input[type=email],.km-list .km-state-active input[type=month],.km-list .km-state-active input[type=number],.km-list .km-state-active input[type=password],.km-list .km-state-active input[type=search],.km-list .km-state-active input[type=tel],.km-list .km-state-active input[type=text]:not(.k-input),.km-list .km-state-active input[type=time],.km-list .km-state-active input[type=url],.km-list .km-state-active input[type=week],.km-list .km-state-active select:not([multiple]),.km-list .km-state-active textarea{color:#fff}.km-listview-label input[type=checkbox],.km-listview-label input[type=radio]{border-color:rgba(46,46,46,.2);background:#fff}.km-listview-label input[type=checkbox]:checked:after{color:#eee}.km-shim{background:rgba(0,0,0,.4)}.km-popup .k-item,.km-widget.km-actionsheet-wrapper,.km-widget.km-actionsheet>li>a{background:#333;border-bottom-color:rgba(255,255,255,.2)}.km-actionsheet-cancel>a{color:#bababa;-webkit-box-shadow:inset 0 0 300px rgba(128,128,128,.3);box-shadow:inset 0 0 300px rgba(128,128,128,.3)}.km-popup{background:rgba(0,0,0,.4)}.km-actionsheet-wrapper,.km-popup .k-list-container{background:rgba(0,0,0,.4);border-top-color:rgba(255,255,255,.2)}.km-popup.km-pane{border-color:#333;background-color:#333}.km-popup-arrow:after,.km-popup-arrow:before{border-color:rgba(0,0,0,.5) transparent}.km-popup-arrow:after{border-color:#333 transparent}.km-left .km-popup-arrow:after,.km-right .km-popup-arrow:after{border-color:transparent #333}.km-down .km-popup-arrow:after{border-color:#333 transparent}.km-loader{background:rgba(0,0,0,.05)}.km-loader h1{color:#2e2e2e}.km-tabstrip{background:#333}.km-actionsheet>li>a,.km-actionsheet>li>a:active,.km-actionsheet>li>a:hover,.km-badge,.km-popover-root .km-widget,.km-popup .k-item,.km-popup .k-state-focused,.km-popup .k-state-hover,.km-popup .k-state-selected,.km-rowdelete,.km-rowinsert,.km-scroller-pull .km-icon,.km-state-active .km-listview-link:after,.km-switch-label-off,.km-switch-label-on,.km-tabstrip .km-button,.km-tabstrip .km-state-active,html .km-state-active,li.km-state-active .km-listview-label,li.km-state-active .km-listview-link{color:#fff}.km-filter-wrap>input,.km-loader>:not(h1),.km-root .km-scroller-refresh span:not(.km-template){background-color:#fff}.km-switch-handle.km-state-active{background-color:#fff}.km-switch-background,.km-switch-handle{color:#f35800}.km-actionsheet>li>a:active,.km-actionsheet>li>a:hover,.km-listview-label input[type=checkbox]:checked,.km-listview-label input[type=radio]:checked,.km-loader:before,.km-pages .km-current-page,.km-popup .k-state-focused,.km-popup .k-state-hover,.km-popup .k-state-selected,.km-rowinsert,.km-scroller-pull,.km-scroller-refresh.km-load-more,.km-state-active,.km-tabstrip .km-state-active,.km-touch-scrollbar,li.km-state-active .km-listview-label,li.km-state-active .km-listview-link{background:#f35800}.km-filter-wrap>input:focus{border-color:#f35800}.km-badge,.km-rowdelete{background:#da2228}\\r\\n\", \"\"]);\n\n// exports\n","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/** \\r\\n * Kendo UI v2018.1.221 (http://www.telerik.com/kendo-ui) \\r\\n * Copyright 2018 Telerik AD. All rights reserved. \\r\\n * \\r\\n * Kendo UI commercial licenses may be obtained at \\r\\n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \\r\\n * If you do not own a commercial license, this file shall be governed by the trial license terms. \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n*/.k-theme-test-class,.ktb-theme-id-material{opacity:0}.ktb-var-accent{color:#3f51b5}.ktb-var-base{color:#fff}.ktb-var-background{color:#fff}.ktb-var-border-radius{border-radius:2px}.ktb-var-normal-background{color:#fff}.ktb-var-normal-gradient{background-image:none}.ktb-var-normal-text-color{color:#444}.ktb-var-hover-background{color:#ebebeb}.ktb-var-hover-gradient{background-image:none}.ktb-var-hover-text-color{color:#444}.ktb-var-selected-background{color:#00b0ff}.ktb-var-selected-gradient{background-image:none}.ktb-var-selected-text-color{color:#3f51b5}.ktb-var-error{color:#ffcdd2}.ktb-var-warning{color:#fdefba}.ktb-var-success{color:#c8e6c9}.ktb-var-info{color:#bbdefb}.ktb-var-series-a{color:#3f51b5}.ktb-var-series-b{color:#03a9f4}.ktb-var-series-c{color:#4caf50}.ktb-var-series-d{color:#f9ce1d}.ktb-var-series-e{color:#ff9800}.ktb-var-series-f{color:#ff5722}.k-grid-norecords-template{background-color:#fff;border:1px solid #e6e6e6}.k-button{border-radius:2px;border-color:#fafafa;color:#444;background-color:#fafafa;background-position:50% 50%;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-button.k-state-hover,.k-button:hover{color:#444;border-color:#ebebeb;background-color:#ebebeb;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-button.k-state-active,.k-button:active{color:#000;background-color:#dbdbdb;border-color:#dbdbdb;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);-webkit-box-shadow:0 6px 17px 0 rgba(0,0,0,.3);box-shadow:0 6px 17px 0 rgba(0,0,0,.3);-webkit-box-shadow:none;box-shadow:none}.k-button.k-state-active:hover{color:#fff;border-color:#5c6bc0;background-color:#5c6bc0}.k-button:focus:active{-webkit-box-shadow:0 6px 17px 0 rgba(0,0,0,.3);box-shadow:0 6px 17px 0 rgba(0,0,0,.3)}.k-button.k-state-disabled,.k-button.k-state-disabled:hover,.k-button[disabled],.k-state-disabled .k-button,.k-state-disabled .k-button:hover{color:#999;border-color:#fafafa;background-color:#fafafa;background-image:none}.k-button.k-state-disabled,.k-button.k-state-disabled:active,.k-button[disabled]{-webkit-box-shadow:none;box-shadow:none}.k-button.k-state-focused,.k-button.k-state-focused.k-state-disabled,.k-button:focus,.k-button:focus:hover,.k-state-disabled .k-button.k-state-focused{border-color:#ebebeb;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-primary{color:#fff;border-color:#3f51b5;background-color:#3f51b5;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false)}.k-primary.k-state-hover,.k-primary:hover{color:#fff;border-color:#5c6bc0;background-color:#5c6bc0;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false)}.k-primary.k-state-active,.k-primary:active{color:#fff;border-color:#283593;background-color:#283593;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false)}.k-primary:focus:active:not(.k-state-disabled):not([disabled]){-webkit-box-shadow:0 6px 17px 0 rgba(0,0,0,.3);box-shadow:0 6px 17px 0 rgba(0,0,0,.3)}.k-primary.k-state-disabled,.k-primary.k-state-disabled:hover,.k-primary[disabled],.k-state-disabled .k-primary,.k-state-disabled .k-primary:hover{color:#999;border-color:#fafafa;background-color:#fafafa;-webkit-box-shadow:none;box-shadow:none;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false)}.k-primary.k-state-disabled,.k-primary[disabled]{-webkit-box-shadow:none;box-shadow:none}.k-primary.k-state-focused,.k-primary:focus{border-color:#eff8ff;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-button-group{border-radius:2px}.k-button-group .k-button{border-radius:0}.k-button-group .k-button:first-child,.k-button-group .k-group-start{border-top-left-radius:2px;border-bottom-left-radius:2px}.k-button-group .k-button:last-child,.k-button-group .k-group-end{border-top-right-radius:2px;border-bottom-right-radius:2px}.k-button-group .k-button:first-child:last-child,.k-button-group .k-group-start.k-group-end{border-radius:2px}.k-rtl .k-button-group .k-button{border-radius:0}.k-rtl .k-button-group .k-button:first-child,.k-rtl .k-button-group .k-group-start{border-top-right-radius:2px;border-bottom-right-radius:2px}.k-rtl .k-button-group .k-button:last-child,.k-rtl .k-button-group .k-group-end{border-top-left-radius:2px;border-bottom-left-radius:2px}.k-rtl .k-button-group .k-button:first-child:last-child,.k-rtl .k-button-group .k-group-start.k-group-end{border-radius:2px}.k-split-button{border-radius:2px}.k-split-button.k-state-border-down>.k-button,.k-split-button.k-state-border-up>.k-button{color:#444;background-color:#ebebeb;border-color:#ebebeb;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);-webkit-box-shadow:none;box-shadow:none}.k-split-button:focus{border-color:#ebebeb;outline:0;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-split-button:focus>.k-button{background:0 0;border-color:#ebebeb}.k-split-button:focus:not(.k-state-disabled)>.k-button:hover,.k-split-button:focus:not(.k-state-disabled)>.k-state-active{color:#444;background-color:#ebebeb;border-color:#ebebeb;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);-webkit-box-shadow:none;box-shadow:none}.k-split-button.k-state-disabled{color:#999;background:#fafafa;background-image:none}.k-edit-buttons{border-color:#e6e6e6;background:#3f51b5}.k-in,.k-item,.k-window-action{border-color:transparent}.k-header .k-window-actions .k-link{color:inherit}a.k-icon{color:#444}a.k-icon:hover{color:#444}.k-button-icon .k-icon{opacity:.8}.k-button-icon:hover .k-icon{opacity:1}.k-state-disabled .k-button-icon .k-icon,.k-state-disabled.k-button-icon .k-icon{opacity:.8}.k-splitbar .k-resize-handle{background-color:#444}.k-block,.k-widget{background-color:#fff}.k-autocomplete,.k-block,.k-calendar th,.k-content,.k-dropdown-wrap,.k-dropzone-active,.k-editable-area,.k-filter-row>th,.k-footer-template td,.k-grid td,.k-grid td.k-state-selected,.k-grid-content-locked,.k-grid-footer,.k-grid-footer-locked,.k-grid-footer-wrap,.k-grid-header,.k-grid-header-locked,.k-grid-header-wrap,.k-group,.k-group-footer td,.k-grouping-header,.k-grouping-header .k-group-indicator,.k-header,.k-input,.k-pager-refresh,.k-pager-wrap,.k-pager-wrap .k-link,.k-panel>.k-item>.k-link,.k-panelbar .k-content,.k-panelbar .k-panel,.k-panelbar>.k-item>.k-link,.k-popup.k-align .k-list .k-item:last-child,.k-separator,.k-slider-track,.k-splitbar,.k-state-default,.k-state-default .k-select,.k-state-disabled,.k-textbox,.k-textbox>input,.k-tiles,.k-tooltip,.k-treemap-tile,.k-upload-files,.k-widget{border-color:#e6e6e6}.k-calendar th,.k-dropzone-hovered,.k-footer-template td,.k-grid-footer,.k-group,.k-group-footer td,.k-grouping-header,.k-pager-wrap,.k-popup,.k-widget .k-status{background-color:#3f51b5}.k-grouping-row td,.k-resize-handle-inner,td.k-group-cell{background-color:#3f51b5}.k-list-container{border-color:rgba(0,0,0,.2);background-color:#fff}.k-content,.k-panel>li.k-item,.k-panelbar>li.k-item,.k-tiles{background-color:#fff}.k-alt,.k-pivot-layout>tbody>tr:first-child>td:first-child,.k-resource.k-alt,.k-separator{background-color:#f2f2f2}.k-header.k-alt,.k-pivot-rowheaders .k-alt .k-alt{background-color:#dedede}.k-autocomplete.k-header,.k-dropdown-wrap.k-state-active,.k-numeric-wrap.k-state-active,.k-picker-wrap.k-state-active,.k-textbox{border-color:#e6e6e6;background-color:#fff}.k-autocomplete .k-input,.k-autocomplete.k-state-focused .k-input,.k-dropdown-wrap .k-input,.k-dropdown-wrap.k-state-focused .k-input,.k-numeric-wrap.k-state-focused .k-input,.k-picker-wrap.k-state-focused .k-input,.k-textbox>input{border-color:#e6e6e6}.k-textbox>input,input.k-textbox,input.k-textbox:hover,textarea.k-textbox,textarea.k-textbox:hover{background:0 0}.k-input,.k-multiselect-wrap,.k-textbox>input,input.k-textbox,input.k-textbox:hover,textarea.k-textbox,textarea.k-textbox:hover{background-color:#fff;color:#444}.k-input[readonly]{background-color:#fff;color:#444}.k-block,.k-content,.k-dropdown .k-input,.k-popup,.k-widget{color:#444}.k-inverse{color:#fff}.k-block{color:#fff}.k-link:link,.k-link:visited,.k-nav-current.k-state-hover .k-link{color:#428bca}.k-panelbar>li>.k-link,.k-tabstrip-items .k-link{color:#444}.k-grid-header .k-header>.k-link,.k-header,.k-treemap-title{color:#fff}.k-autocomplete,.k-draghandle,.k-dropdown-wrap,.k-grid-header,.k-grouping-header,.k-header,.k-numeric-wrap,.k-pager-wrap,.k-panelbar .k-tabstrip-items .k-item,.k-picker-wrap,.k-progressbar,.k-state-highlight,.k-tabstrip-items .k-item,.k-textbox,.km-pane-wrapper>.km-pane>.km-view>.km-content{background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);background-position:50% 50%;background-color:#3f51b5}.k-widget.k-tooltip{background-image:none}.k-block,.k-draghandle,.k-grid-header,.k-grouping-header,.k-header,.k-pager-wrap,.k-treemap-tile,html .km-pane-wrapper .k-header{background-color:#3f51b5}.k-hr{border-color:#e6e6e6}.k-column-menu .k-state-active .k-sprite,.k-column-menu .k-state-hover .k-sprite,.k-icon:hover,.k-pager-numbers .k-current-page .k-link:hover:after,.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view.k-state-hover>.k-link:after,.k-state-focused .k-icon,.k-state-hover .k-icon,.k-state-selected .k-icon{opacity:1}.k-column-menu .k-sprite,.k-pager-numbers .k-current-page .k-link:after,.k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link:after,.k-state-disabled .k-icon{opacity:.7}.k-mobile-list .k-check:checked,.k-mobile-list .k-edit-field [type=checkbox]:checked,.k-mobile-list .k-edit-field [type=radio]:checked{opacity:.7}.k-mobile-list .k-check:checked,.k-mobile-list .k-edit-field [type=checkbox]:checked,.k-mobile-list .k-edit-field [type=radio]:checked{background-image:url(\" + escape(require(\"./Material/sprite.png\")) + \");border-color:transparent}.k-mobile-list .k-check:checked,.k-mobile-list .k-edit-field [type=checkbox]:checked{font-family:WebComponentsIcons;background-image:none}.k-mobile-list .k-check:checked:before,.k-mobile-list .k-edit-field [type=checkbox]:checked:before{content:\\\"\\\\E118\\\"}.k-i-loading{background-image:url(\" + escape(require(\"./Material/loading.gif\")) + \")}.k-loading-image{background-image:url(\" + escape(require(\"./Material/loading-image.gif\")) + \")}.k-loading-color{background-color:#ebebeb}.k-draghandle{border-color:#3f51b5;background-color:#3f51b5;-webkit-box-shadow:none;box-shadow:none}.k-draghandle:hover{border-color:#3f51b5;background-color:#3f51b5;-webkit-box-shadow:0 0 0 8px rgba(63,81,181,.3);box-shadow:0 0 0 8px rgba(63,81,181,.3)}.k-badge{background-color:#3f51b5;color:#fff;border-radius:1px}.k-scheduler{color:#fff;background-color:#fff}.k-scheduler-layout{color:#444}.k-scheduler-datecolumn,.k-scheduler-groupcolumn{background-color:#fff;color:#444}.k-scheduler-header th,.k-scheduler-header-wrap,.k-scheduler-table td,.k-scheduler-times,.k-scheduler-times th,.k-scheduler-times tr{border-color:#e6e6e6}.k-scheduler-dayview .k-today.k-nonwork-hour,.k-scheduler-table .k-nonwork-hour,.k-scheduler-timelineview .k-today.k-nonwork-hour{background-color:#fafafa}.k-gantt .k-nonwork-hour{background-color:rgba(0,0,0,.02)}.k-gantt .k-header.k-nonwork-hour{background-color:rgba(0,0,0,.2)}.k-scheduler-table .k-today,.k-today>.k-scheduler-datecolumn,.k-today>.k-scheduler-groupcolumn{background-color:#f5f5f5}.k-scheduler-header .k-today{background:0 0}table:not(.k-scheduler-dayview) .k-scheduler-header-wrap .k-today{color:#3f51b5}.k-scheduler-now-arrow{border-left-color:#eed3d7}.k-scheduler-now-line{background-color:#eed3d7}.k-event,.k-task-complete{border-color:#606fc7;background:#606fc7 0 -257px none repeat-x;color:#fff}.k-event-inverse{color:#444}.k-event.k-state-selected{background-position:0 0;-webkit-box-shadow:0 0 0 2px #444;box-shadow:0 0 0 2px #444}.k-event .k-resize-handle:after,.k-task-single .k-resize-handle:after{background-color:#fff}.k-scheduler-marquee:after,.k-scheduler-marquee:before{border-color:#fff}.k-panelbar .k-content,.k-panelbar .k-item,.k-panelbar .k-panel{background-color:#fff;color:#444;border-color:#e6e6e6}.k-panelbar>li>.k-link{color:#444}.k-panelbar>.k-item>.k-link{border-color:#e6e6e6}.k-panel>li.k-item{background-color:#fff}.k-active-filter,.k-state-active,.k-state-active:hover,.k-tabstrip .k-state-active{background-color:#fff;border-color:#ccc;color:#444}.k-fieldselector .k-list-container{background-color:#fff}.k-menu .k-state-hover>.k-state-active{background-color:transparent}.k-state-highlight{background:#fff;color:#444}.k-grouping-row .k-state-focused,.k-state-focused{border-color:#67afe9}.k-button.k-bare{position:relative}.k-button.k-bare:before{content:\\\"\\\";background-color:currentcolor;opacity:.12;border-radius:inherit;height:100%;width:100%;position:absolute;left:0;top:0;z-index:-1;display:none}.k-button.k-bare.k-state-focused:before,.k-button.k-bare:focus:before{display:block}.k-mediaplayer-toolbar .k-button.k-bare.k-state-active,.k-mediaplayer-toolbar .k-button.k-bare.k-state-active:hover,.k-mediaplayer-toolbar .k-button.k-bare:active{color:#3f51b5}.k-mediaplayer-toolbar .k-button.k-bare.k-state-active:before,.k-mediaplayer-toolbar .k-button.k-bare.k-state-active:hover:before,.k-mediaplayer-toolbar .k-button.k-bare:active:before{opacity:.24}.k-slider.k-mediaplayer-seekbar{top:-14px}.k-quality-list{margin-left:-25px!important}.k-calendar .k-link{color:#444}.k-calendar .k-footer{padding:0}.k-calendar .k-footer .k-nav-today{color:#444;text-decoration:none;background-color:#fff}.k-calendar .k-footer .k-nav-today.k-state-hover,.k-calendar .k-footer .k-nav-today:hover{background-color:#fff;text-decoration:underline}.k-calendar .k-footer .k-nav-today:active{background-color:#fff}.k-calendar .k-link.k-nav-fast{color:#444}.k-calendar .k-nav-fast.k-state-hover{text-decoration:none;background-color:#ebebeb;color:#444}.k-calendar .k-link.k-state-hover{border-radius:50%}.k-calendar .k-footer .k-link{border-radius:0}.k-calendar th{background-color:#3f51b5}.k-window-titlebar .k-link{border-radius:50%}.k-calendar-container.k-group{border-color:rgba(0,0,0,.2)}.k-drag-clue.k-state-selected,.k-draghandle.k-state-selected:hover,.k-ghost-splitbar-horizontal,.k-ghost-splitbar-vertical,.k-list>.k-state-highlight,.k-list>.k-state-selected,.k-marquee-color,.k-panel>.k-state-selected,.k-scheduler .k-scheduler-toolbar .k-state-selected,.k-scheduler .k-today.k-state-selected,.k-state-selected,.k-state-selected:link,.k-state-selected:visited{color:#3f51b5;background-color:#fff;border-color:#fff}.k-group-header+.k-list>.k-item.k-first,.k-static-header+.k-list>.k-item.k-first,.k-virtual-item.k-first{border-top-color:#ebebeb}.k-group-header+div>.k-list>.k-item.k-first:before{border-top-color:#ebebeb}.k-popup>.k-group-header,.k-popup>.k-virtual-wrap>.k-group-header{background:#ebebeb;color:#3f51b5}.k-popup .k-list .k-item>.k-group{background:#ebebeb;color:#3f51b5;border-bottom-left-radius:1px}.k-marquee-text{color:#3f51b5}.k-list>.k-state-focused,.k-listview>.k-state-focused,.k-listview>.k-state-focused.k-state-selected,.k-state-focused,td.k-state-focused{-webkit-box-shadow:inset 0 0 0 1px grey;box-shadow:inset 0 0 0 1px grey}.k-menu .k-item.k-state-default.k-state-focused{-webkit-box-shadow:inset 0 0 0 1px #b3b3b3;box-shadow:inset 0 0 0 1px #b3b3b3}.k-list>.k-state-focused.k-state-selected,.k-state-focused.k-state-selected,td.k-state-focused.k-state-selected{-webkit-box-shadow:none;box-shadow:none}.k-list-optionlabel.k-state-selected.k-state-focused{-webkit-box-shadow:none;box-shadow:none}.k-panelbar>li.k-state-default>.k-link.k-state-selected,.k-panelbar>li>.k-state-selected,.k-state-selected>.k-link{color:#3f51b5}.k-dropdown .k-state-focused,.k-filebrowser-dropzone,.k-list>.k-state-hover,.k-mobile-list .k-edit-label.k-check:active,.k-mobile-list .k-item>.k-label:active,.k-mobile-list .k-item>.k-link:active,.k-mobile-list .k-recur-view .k-check:active,.k-pager-wrap .k-link:hover,.k-scheduler .k-scheduler-toolbar ul li.k-state-hover,.k-splitbar-horizontal-hover:hover,.k-splitbar-vertical-hover:hover,.k-state-hover,.k-state-hover:hover{color:#444;background-color:#ebebeb;border-color:#ebebeb}.k-mobile-list .k-scheduler-timezones .k-edit-field:nth-child(2):active{color:#444;background-color:#ebebeb;border-color:#ebebeb}.k-state-focused>.k-select,.k-state-hover>.k-select{border-color:#ebebeb}.k-draghandle:hover,.k-listbox .k-item:hover:not(.k-state-disabled),.k-other-month.k-state-hover .k-link,.k-pager-wrap .k-link:hover,.k-state-hover,.k-state-hover:hover,.k-textbox:hover,div.k-filebrowser-dropzone em{background-image:none}.k-pager-wrap{background-color:#3f51b5;color:#fff}.k-autocomplete.k-state-active,.k-dropdown-wrap.k-state-active,.k-numeric-wrap.k-state-active,.k-panelbar>.k-item>.k-state-focused,.k-picker-wrap.k-state-active,.k-state-active,.k-state-active:hover,.k-state-active>.k-link{background-image:none}.k-draghandle.k-state-selected:hover,.k-state-selected{background-image:none}.k-draghandle.k-state-selected:hover{background-position:50% 50%}.k-other-month.k-state-hover .k-link,.k-state-hover>.k-link,div.k-filebrowser-dropzone em{color:#444}.k-autocomplete.k-state-focused,.k-autocomplete.k-state-hover,.k-dropdown-wrap.k-state-focused,.k-dropdown-wrap.k-state-hover,.k-numeric-wrap.k-state-focused,.k-numeric-wrap.k-state-hover,.k-picker-wrap.k-state-focused,.k-picker-wrap.k-state-hover{background-color:#fff;background-image:none;background-position:50% 50%;border-color:#ebebeb}.k-dropdown .k-state-focused .k-input,.km-pane-wrapper .k-mobile-list input:not([type=checkbox]):not([type=radio]),.km-pane-wrapper .k-mobile-list textarea,.km-pane-wrapper .km-pane .k-mobile-list select:not([multiple]){color:#444}.km-pane-wrapper .km-pane .k-mobile-list.k-filter-menu .k-space-right{background:#fff;border-color:#e6e6e6}.km-pane-wrapper .km-pane .k-mobile-list.k-filter-menu .k-space-right>input{background-color:#fff;border-color:#f0f0f0}.km-pane-wrapper .km-pane .k-mobile-list.k-filter-menu .k-space-right>input+.k-i-zoom:before{color:#444}.km-pane-wrapper .km-pane .k-mobile-list.k-filter-menu .k-space-right>input:focus{-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-dropdown .k-state-hover .k-input{color:#444}.k-state-error{border-color:#eed3d7;background-color:#f2dede;color:#b94a48}.k-state-disabled{opacity:.7}.k-loading-mask.k-state-selected,.k-tile-empty.k-state-selected{border-width:0;background-image:none;background-color:transparent}.k-dropzone .k-upload-status,.k-dropzone em,.k-other-month,.k-other-month .k-link,.k-slider .k-draghandle,.k-state-disabled,.k-state-disabled .k-link,.k-tile-empty strong{color:#999}.k-file .k-upload-status{color:#444}.k-progressbar-indeterminate{background:url(\" + escape(require(\"./Material/indeterminate.gif\")) + \")}.k-progressbar-indeterminate .k-progress-status-wrap,.k-progressbar-indeterminate .k-state-selected{display:none}.k-slider-track{background-color:#e6e6e6}.k-slider-selection{background-color:#fff}.k-slider-horizontal .k-tick{background-image:url(\" + escape(require(\"./Material/slider-h.gif\")) + \")}.k-slider-vertical .k-tick{background-image:url(\" + escape(require(\"./Material/slider-v.gif\")) + \")}.k-chart-crosshair-tooltip,.k-chart-shared-tooltip,.k-widget.k-tooltip{border-color:rgba(100,100,100,.9);background-color:rgba(100,100,100,.9);color:#fff}.k-widget.k-tooltip-validation{border-color:#fdefba;background-color:#fdefba;color:#816704}.input-append .k-tooltip-validation,.input-prepend .k-tooltip-validation{font-size:12px;position:relative;top:3px}.k-callout-n{border-bottom-color:rgba(100,100,100,.9)}.k-callout-w{border-right-color:rgba(100,100,100,.9)}.k-callout-s{border-top-color:rgba(100,100,100,.9)}.k-callout-e{border-left-color:rgba(100,100,100,.9)}.k-tooltip-validation .k-callout-n{border-bottom-color:#fdefba}.k-tooltip-validation .k-callout-w{border-right-color:#fdefba}.k-tooltip-validation .k-callout-s{border-top-color:#fdefba}.k-tooltip-validation .k-callout-e{border-left-color:#fdefba}.k-splitbar{background-color:#fafafa}.k-restricted-size-horizontal,.k-restricted-size-vertical{background-color:#b94a48}.k-file{background-color:#fff;border-color:#e6e6e6}.k-file-progress{color:#2b98f3}.k-file-progress .k-progress{background-color:#bbdefb}.k-file-success .k-file-name,.k-file-success .k-upload-pct{color:#5fb662}.k-file-success .k-progress{background-color:#c8e6c9}.k-file-error{color:#ff3448}.k-file-error .k-file-extension-wrapper,.k-file-error .k-multiple-files-extension-wrapper{color:#ff3448;border-color:#ff3448}.k-file-error .k-file-extension-wrapper:before,.k-file-error .k-multiple-files-extension-wrapper:before{background-color:#fff;border-color:transparent transparent #ff3448 #ff3448}.k-file-error .k-progress{background-color:#ffcdd2}.k-file-extension-wrapper,.k-multiple-files-extension-wrapper{color:#999;border-color:#999}.k-file-invalid .k-file-name-invalid{color:#ff3448}.k-file-invalid-extension-wrapper,.k-multiple-files-invalid-extension-wrapper{color:#ff3448;border-color:#ff3448}.k-file-extension-wrapper:before,.k-multiple-files-extension-wrapper:before{background-color:#fff;border-color:transparent transparent #999 #999}.k-file-invalid-extension-wrapper:before,.k-multiple-files-invalid-extension-wrapper:before{background-color:#fff;border-color:transparent transparent #ff3448 #ff3448}.k-multiple-files-extension-wrapper:after{border-top-color:#999;border-left-color:#999}.k-multiple-files-invalid-extension-wrapper:after{border-top-color:#ff3448;border-left-color:#ff3448}.k-file-information,.k-file-size,.k-file-validation-message{color:#999}.k-upload .k-upload-selected{color:#3f51b5;border-color:#e6e6e6}.k-upload .k-upload-selected:hover{color:#fff;background-color:#3f51b5}.k-tile{border-color:#fff}.k-textbox:hover,.k-tiles li.k-state-hover{border-color:#ebebeb}.k-tiles li.k-state-selected{border-color:#fff}.k-leaf,.k-leaf.k-state-hover:hover{color:#fff}.k-leaf.k-inverse,.k-leaf.k-inverse.k-state-hover:hover{color:#000}.k-slider,.k-treeview,.k-upload{-webkit-box-shadow:none;box-shadow:none}.k-state-hover{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.2);box-shadow:0 1px 0 rgba(255,255,255,.2)}.k-autocomplete.k-state-focused,.k-dropdown-wrap.k-state-focused,.k-numeric-wrap.k-state-focused,.k-picker-wrap.k-state-focused,.k-textbox:focus{-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-state-selected{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset}.k-state-active{-webkit-box-shadow:none;box-shadow:none}.k-grid td.k-state-selected.k-state-focused{background-color:#fff}.k-autocomplete.k-state-border-down,.k-autocomplete.k-state-border-up,.k-datepicker-calendar,.k-dropdown-wrap.k-state-active,.k-filebrowser .k-image,.k-grid .k-filter-options,.k-menu .k-menu-group,.k-multiselect.k-state-focused,.k-picker-wrap.k-state-active,.k-popup,.k-time-popup,.k-tooltip{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.2)}.k-calendar-container.k-popup{-webkit-box-shadow:0 0 6px 1px rgba(0,0,0,.2);box-shadow:0 0 6px 1px rgba(0,0,0,.2)}.k-treemap-tile.k-state-hover{-webkit-box-shadow:inset 0 0 0 3px #e6e6e6;box-shadow:inset 0 0 0 3px #e6e6e6}.k-window{border-color:rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 7px 1px rgba(128,128,128,.2);box-shadow:1px 1px 7px 1px rgba(128,128,128,.2);background-color:#fff}.k-window.k-state-focused{border-color:rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 7px 1px rgba(0,0,0,.2);box-shadow:1px 1px 7px 1px rgba(0,0,0,.2)}.k-window-maximized .k-window-content,.k-window-maximized .k-window-titlebar,.k-window.k-window-maximized{border-radius:0}.k-shadow{-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.2);box-shadow:0 1px 2px 0 rgba(0,0,0,.2)}.k-inset{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px rgba(0,0,0,.2)}.k-editor-inline ::-moz-selection{background-color:#3f51b5;text-shadow:none;color:#fff}.k-editor-inline ::selection{background-color:#3f51b5;text-shadow:none;color:#fff}.k-editor-inline ::-moz-selection{background-color:#3f51b5;text-shadow:none;color:#fff}.k-notification-info{background-color:#bbdefb;color:#2b98f3;border-color:#bbdefb}.k-notification-success{background-color:#c8e6c9;color:#5fb662;border-color:#c8e6c9}.k-notification-warning{background-color:#fdefba;color:#f8c70d;border-color:#fdefba}.k-notification-error{background-color:#ffcdd2;color:#ff3448;border-color:#ffcdd2}.k-gantt .k-treelist{background:#f2f2f2}.k-gantt .k-treelist .k-alt{background-color:#d9d9d9}.k-gantt .k-treelist tr:hover{background-color:#ebebeb}.k-gantt .k-treelist .k-alt.k-state-selected,.k-gantt .k-treelist .k-alt.k-state-selected>td,.k-gantt .k-treelist .k-state-selected,.k-gantt .k-treelist .k-state-selected td{background-color:#fff}.k-gantt .k-treelist .k-alt.k-state-selected:hover,.k-gantt .k-treelist .k-alt.k-state-selected:hover td{background-color:#00a2eb}.k-task-dot:after{background-color:#444;border-color:#444}.k-task-dot:hover:after{background-color:#fff}.k-task-summary{border-color:#98a2db;background:#98a2db}.k-task-milestone,.k-task-summary-complete{border-color:#444;background:#444}.k-state-selected.k-task-summary{border-color:#98a2db;background:#98a2db}.k-state-selected .k-task-summary-complete,.k-state-selected.k-task-milestone{border-color:#fff;background:#fff}.k-task-single{background-color:#7a87d1;border-color:#606fc7;color:#fff}.k-state-selected.k-task-single{border-color:#fff}.k-line{background-color:#444;color:#444}.k-state-selected.k-line{background-color:#fff;color:#fff}.k-resource{background-color:#fff}.k-autocomplete,.k-block,.k-calendar .k-link,.k-calendar td,.k-calendar-container,.k-colorpicker,.k-combobox,.k-datepicker,.k-datetimepicker,.k-drag-clue,.k-dropdown,.k-dropdown-wrap,.k-editor-inline,.k-grid .k-filter-options,.k-grouping-header .k-group-indicator,.k-inline-block,.k-list-container,.k-multiselect,.k-notification,.k-numeric-wrap,.k-numerictextbox,.k-picker-wrap,.k-slider-selection,.k-slider-track,.k-textbox,.k-tile,.k-timepicker,.k-tooltip,.k-touch-scrollbar,.k-treeview .k-in,.k-upload,.k-window,.k-window-action,.k-window-titleless .k-window-content{border-radius:2px}.k-toolbar .k-split-button .k-button{border-radius:2px 0 0 2px}.k-rtl .k-tool.k-group-start,.k-rtl .k-toolbar .k-button-group .k-group-start,.k-rtl .k-toolbar .k-split-button .k-button{border-radius:0 2px 2px 0}.k-toolbar .k-split-button .k-split-button-arrow{border-radius:0 2px 2px 0}.k-rtl .k-tool.k-group-end,.k-rtl .k-toolbar .k-button-group .k-group-end,.k-rtl .k-toolbar .k-split-button .k-split-button-arrow{border-radius:2px 0 0 2px}.k-autocomplete.k-state-border-up,.k-calendar-container.k-state-border-up,.k-dropdown-wrap.k-state-border-up,.k-filter-menu,.k-list-container.k-state-border-up,.k-multiselect.k-state-border-up,.k-numeric-wrap.k-state-border-up,.k-picker-wrap.k-state-border-up,.k-window-content{border-radius:0 0 2px 2px}.k-autocomplete.k-state-border-up .k-input,.k-dropdown-wrap.k-state-border-up .k-input,.k-numeric-wrap.k-state-border-up .k-input,.k-picker-wrap.k-state-border-up .k-input,.k-picker-wrap.k-state-border-up .k-selected-color{border-radius:0 0 0 2px}.k-multiselect.k-state-border-up .k-multiselect-wrap{border-radius:0 0 2px 2px}.k-autocomplete.k-state-border-down,.k-block>.k-header,.k-calendar-container.k-state-border-down,.k-dropdown-wrap.k-state-border-down,.k-list-container.k-state-border-down,.k-multiselect.k-state-border-down,.k-numeric-wrap.k-state-border-down,.k-panelbar .k-tabstrip-items .k-item,.k-picker-wrap.k-state-border-down,.k-tabstrip-items .k-item,.k-tabstrip-items .k-link,.k-window-titlebar{border-radius:2px 2px 0 0}.k-split-button.k-state-border-down>.k-button{border-radius:2px 0 0 0}.k-split-button.k-state-border-up>.k-button{border-radius:0 0 0 2px}.k-split-button.k-state-border-down>.k-split-button-arrow{border-radius:0 2px 0 0}.k-split-button.k-state-border-up>.k-split-button-arrow{border-radius:0 0 2px 0}.k-dropdown-wrap .k-input,.k-numeric-wrap .k-input,.k-picker-wrap .k-input{border-radius:1px 0 0 1px}.k-rtl .k-dropdown-wrap .k-input,.k-rtl .k-numeric-wrap .k-input,.k-rtl .k-picker-wrap .k-input{border-radius:0 1px 1px 0}.k-numeric-wrap .k-link{border-radius:0 1px 0 0}.k-numeric-wrap .k-link+.k-link{border-radius:0 0 1px 0}.k-colorpicker .k-selected-color{border-radius:1px 0 0 1px}.k-rtl .k-colorpicker .k-selected-color{border-radius:0 1px 1px 0}.k-autocomplete.k-state-border-down .k-input{border-radius:2px 2px 0 0}.k-dropdown-wrap.k-state-border-down .k-input,.k-numeric-wrap.k-state-border-down .k-input,.k-picker-wrap.k-state-border-down .k-input,.k-picker-wrap.k-state-border-down .k-selected-color{border-radius:2px 0 0 0}.k-numeric-wrap .k-link.k-state-selected{background-color:#ebebeb}.k-multiselect.k-state-border-down .k-multiselect-wrap{border-radius:1px 1px 0 0}.k-datetimepicker .k-select+.k-select,.k-dropdown-wrap .k-select,.k-list-container.k-state-border-right,.k-numeric-wrap .k-select,.k-picker-wrap .k-select{border-radius:0 2px 2px 0}.k-rtl .k-datetimepicker .k-select+.k-select,.k-rtl .k-dropdown-wrap .k-select,.k-rtl .k-list-container.k-state-border-right,.k-rtl .k-numeric-wrap .k-select,.k-rtl .k-picker-wrap .k-select{border-radius:2px 0 0 2px}.k-numeric-wrap.k-expand-padding .k-input{border-radius:2px}.k-autocomplete .k-input,.k-multiselect-wrap,.k-textbox>input{border-radius:1px}.k-dropzone,.k-fieldselector .k-list .k-item,.k-list .k-state-focused,.k-list .k-state-highlight,.k-list .k-state-hover,.k-list .k-state-selected,.k-list-optionlabel,.k-listbox .k-item{border-radius:1px}.k-grid .k-slider .k-button,.k-slider .k-button{border-radius:13px}.k-draghandle{border-radius:13px}.k-scheduler-toolbar>ul li:first-child,.k-scheduler-toolbar>ul li:first-child .k-link,.k-scheduler-toolbar>ul.k-scheduler-views li:first-child+li,.k-scheduler-toolbar>ul.k-scheduler-views li:first-child+li .k-link{border-radius:2px 0 0 2px}.k-rtl .k-scheduler-toolbar>ul li:first-child,.k-rtl .k-scheduler-toolbar>ul li:first-child .k-link,.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views li:first-child+li,.k-rtl .k-scheduler-toolbar>ul.k-scheduler-views li:first-child+li .k-link,.km-view.k-popup-edit-form .k-scheduler-toolbar>ul li:last-child,.km-view.k-popup-edit-form .k-scheduler-toolbar>ul li:last-child .k-link{border-radius:0 2px 2px 0}.k-edit-field>.k-scheduler-navigation,.k-scheduler-phone .k-scheduler-toolbar>ul li.k-nav-today,.k-scheduler-phone .k-scheduler-toolbar>ul li.k-nav-today .k-link{border-radius:2px}.k-scheduler-toolbar .k-nav-next,.k-scheduler-toolbar .k-nav-next .k-link,.k-scheduler-toolbar ul+ul li:last-child,.k-scheduler-toolbar ul+ul li:last-child .k-link{border-top-right-radius:2px;border-bottom-right-radius:2px}.k-rtl .k-scheduler-toolbar .k-nav-next,.k-rtl .k-scheduler-toolbar .k-nav-next .k-link,.k-rtl .k-scheduler-toolbar ul+ul li:last-child,.k-rtl .k-scheduler-toolbar ul+ul li:last-child .k-link{border-radius:2px 0 0 2px}.k-scheduler div.k-scheduler-footer .k-link,.k-scheduler div.k-scheduler-footer ul li{border-radius:2px}.k-event,.k-event .k-link,.k-more-events,.k-task-complete,.k-task-single{border-radius:1px}.k-scheduler-mobile .k-event{border-radius:0}.k-grid-mobile .k-column-active+th.k-header{border-left-color:#444}.k-ie .km-pane-wrapper .k-content,.k-ie .km-pane-wrapper .k-group,.k-ie .km-pane-wrapper .k-header,.k-ie .km-pane-wrapper .k-popup-edit-form .k-edit-field .k-button,.k-ie .km-pane-wrapper .k-widget,.km-pane-wrapper .k-mobile-list .k-edit-field,.km-pane-wrapper .k-mobile-list .k-edit-label,.km-pane-wrapper .k-mobile-list .k-item,html .km-pane-wrapper .km-widget{color:#444}@media screen and (-ms-high-contrast:active) and (-ms-high-contrast:none){div.km-pane-wrapper a{color:#444}}.km-pane-wrapper .k-mobile-list .k-edit-field,.km-pane-wrapper .k-mobile-list .k-item,.km-pane-wrapper .k-mobile-list .k-recur-view>.k-edit-field .k-check{background-color:#fff;border-top:1px solid #e7e7e7}.km-pane-wrapper .k-mobile-list .k-edit-field textarea{outline-width:0}.km-pane-wrapper .k-mobile-list .k-item.k-state-selected{background-color:#fff;border-top-color:#fff}.km-pane-wrapper .k-mobile-list .k-recur-view>.k-edit-field .k-check:first-child{border-top-color:transparent}.km-pane-wrapper .k-mobile-list .k-item:last-child{-webkit-box-shadow:inset 0 -1px 0 #e7e7e7;box-shadow:inset 0 -1px 0 #e7e7e7}.km-pane-wrapper #recurrence .km-scroll-container>.k-edit-label:first-child,.km-pane-wrapper .k-mobile-list .k-recur-view>.k-edit-label:nth-child(3),.km-pane-wrapper .k-mobile-list>ul>li>.k-link{color:#9b9b9b}.km-pane-wrapper .k-mobile-list>ul>li>.k-link{border-bottom:1px solid #e7e7e7}.km-pane-wrapper .k-mobile-list .k-edit-field{-webkit-box-shadow:0 1px 1px #e7e7e7;box-shadow:0 1px 1px #e7e7e7}.km-actionsheet .k-grid-delete,.km-actionsheet .k-scheduler-delete,.km-pane-wrapper .k-filter-menu .k-button[type=reset],.km-pane-wrapper .k-scheduler-delete{color:#fff;border-color:#eed3d7;background-color:red;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.3)),to(rgba(255,255,255,.15)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,.3),rgba(255,255,255,.15));background-image:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(255,255,255,.15))}.km-actionsheet .k-grid-delete:active,.km-actionsheet .k-scheduler-delete:active,.km-pane-wrapper .k-filter-menu .k-button[type=reset]:active,.km-pane-wrapper .k-scheduler-delete:active{background-color:#900}.k-autocomplete.k-state-default,.k-dropdown-wrap.k-state-default,.k-numeric-wrap.k-state-default,.k-picker-wrap.k-state-default{background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);background-position:50% 50%;color:#444;background-color:#fafafa;border-color:#f0f0f0}.k-autocomplete.k-state-hover,.k-dropdown-wrap.k-state-hover,.k-numeric-wrap.k-state-hover,.k-picker-wrap.k-state-hover{background-color:#fff;background-image:none;background-position:50% 50%;border-color:#f5f5f5}.k-multiselect.k-header{border-color:#f0f0f0;background:#fafafa}.k-multiselect.k-header.k-state-hover{border-color:#f5f5f5}.k-autocomplete.k-state-focused,.k-dropdown-wrap.k-state-focused,.k-multiselect.k-header.k-state-focused,.k-numeric-wrap.k-state-focused,.k-picker-wrap.k-state-focused{background-color:#fff;background-image:none;background-position:50% 50%;border-color:#f5f5f5;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-list-container{color:#444}.k-nodata{color:#999}.k-dropdown .k-input,.k-dropdown .k-state-focused .k-input,.k-menu .k-popup{color:#444}.k-state-default>.k-select{border-color:#f0f0f0}.k-state-focused>.k-select{border-color:#f5f5f5}.k-state-hover>.k-select{border-color:#f5f5f5}.k-tabstrip:focus{-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-panelbar>li.k-state-default>.k-link,.k-tabstrip-items .k-item .k-link{color:#fff}.k-panelbar>li.k-state-default>.k-link.k-state-hover,.k-panelbar>li.k-state-hover>.k-link,.k-tabstrip-items .k-state-hover .k-link{color:#444}.k-panelbar>li>.k-state-focused.k-state-hover{background:#ebebeb;-webkit-box-shadow:none;box-shadow:none}.k-panelbar .k-tabstrip-items .k-state-default,.k-tabstrip-items .k-state-default{border-color:transparent}.k-tabstrip-items .k-state-hover{border-color:#ebebeb}.k-tabstrip .k-content.k-state-active{background-color:#fff;color:#444}.k-menu .k-item,.k-menu.k-header{border-color:#e6e6e6}.k-column-menu,.k-column-menu .k-item,.k-overflow-container .k-overflow-group{border-color:#e6e6e6}.k-overflow-container .k-overflow-group{-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff,0 1px 0 #fff}.k-overflow-container .k-overflow-group+.k-overflow-group,.k-toolbar-first-visible.k-overflow-group{-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.k-toolbar-last-visible.k-overflow-group{-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.k-column-menu .k-separator{border-color:#e6e6e6;background-color:transparent}.k-menu .k-group{border-color:rgba(0,0,0,.2)}.k-grid-filter.k-state-active{background-color:#fff}.k-grid-footer td,.k-group-footer td,.k-grouping-row td{color:#fff;border-color:#e6e6e6;font-weight:700}.k-grouping-header{color:#fff}.k-gantt-toolbar .k-state-default,.k-grid .k-grouping-header,.k-grid-header,.k-grid-header-wrap,.k-grouping-header .k-group-indicator,.k-header,.k-pager-wrap,.k-pager-wrap .k-link,.k-pager-wrap .k-textbox{border-color:#e6e6e6}.k-button.k-state-focused,.k-button:focus{color:#444;border-color:#ebebeb;background-color:#ebebeb}.k-button.k-state-active,.k-button:active{color:#000;background-color:#dbdbdb;border-color:#dbdbdb}.k-button.k-state-active.k-state-focused,.k-button.k-state-active:focus,.k-button:active.k-state-focused,.k-button:active:focus{color:#000;border-color:#d1d1d1;background:#d1d1d1}.k-state-disabled .k-button,.k-state-disabled.k-button{color:#999;border-color:#fafafa;background-color:#fafafa;background-image:none;-webkit-box-shadow:none;box-shadow:none}.k-state-disabled .k-button:focus,.k-state-disabled.k-button:focus{color:#999;border-color:#ebebeb;background-color:#ebebeb;-webkit-box-shadow:none;box-shadow:none}.k-button-group{-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-button-group .k-button{-webkit-box-shadow:none;box-shadow:none}.k-button-group .k-button.k-state-active{color:#000;background-color:#dbdbdb;border-color:#dbdbdb;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false)}.k-button-group .k-button.k-state-focused.k-state-active,.k-button-group .k-button:focus.k-state-active{color:#000;border-color:#d1d1d1;background:#d1d1d1;-webkit-box-shadow:none;box-shadow:none}.k-button-group .k-button.k-state-disabled,.k-button-group .k-button.k-state-disabled.k-state-active,.k-state-disabled.k-button-group .k-button,.k-state-disabled.k-button-group .k-button.k-state-active{color:#999;border-color:#fafafa;background-color:#fafafa;-webkit-box-shadow:none;box-shadow:none}.k-button-group .k-button.k-state-focused,.k-button-group .k-button:focus{color:#444;border-color:#ebebeb;background-color:#ebebeb;-webkit-box-shadow:none;box-shadow:none}.k-button-group .k-button.k-state-disabled.k-state-focused,.k-button-group .k-button.k-state-disabled:focus,.k-state-disabled.k-button-group .k-button.k-state-focused,.k-state-disabled.k-button-group .k-button:focus{color:#999;border-color:#ebebeb;background-color:#ebebeb;-webkit-box-shadow:none;box-shadow:none}.k-pager-numbers .k-link,.k-treeview .k-in{border-color:transparent}.k-grid .k-hierarchy-cell .k-icon,.k-scheduler-table .k-icon,.k-treeview .k-icon{background-color:transparent;border-radius:50%}.k-scheduler-table .k-state-hover .k-icon{background-color:transparent}.k-checkbox-label:before{border-color:#7f7f7f;background:#fff;border-radius:1px}.k-checkbox-label:hover:before,.k-checkbox:checked+.k-checkbox-label:hover:before,.k-checkbox:checked:hover+.k-checkbox-label:before,.k-checkbox:hover+.k-checkbox-label:before{border-color:#7f7f7f;-webkit-box-shadow:none;box-shadow:none}.k-checkbox:checked+.k-checkbox-label:before{background-color:#3f51b5;border-color:#3f51b5;color:#fff}.k-checkbox-label:active:before,.k-checkbox:active+.k-checkbox-label:before{-webkit-box-shadow:none;box-shadow:none;border-color:#919cd9}.k-checkbox:checked+.k-checkbox-label:active:before,.k-checkbox:checked:active+.k-checkbox-label:before{-webkit-box-shadow:none;box-shadow:none;border-color:#919cd9}.k-checkbox:disabled+.k-checkbox-label{color:#999}.k-checkbox:disabled+.k-checkbox-label:hover:before{-webkit-box-shadow:none;box-shadow:none}.k-checkbox:checked:disabled+.k-checkbox-label:active:before,.k-checkbox:checked:disabled+.k-checkbox-label:before,.k-checkbox:checked:disabled+.k-checkbox-label:hover:before,.k-checkbox:disabled+.k-checkbox-label:before{color:#999;background:#f5f5f5;border-color:#bfbfbf;border-radius:1px}.k-checkbox:focus+.k-checkbox-label:before,.k-checkbox:focus+.k-checkbox-label:hover:before{border-color:#919cd9;-webkit-box-shadow:none;box-shadow:none}.k-checkbox:indeterminate+.k-checkbox-label:after{background-color:#3f51b5;background-image:none;border-color:#3f51b5;border-radius:0}.k-checkbox:indeterminate:hover+.k-checkbox-label:after{border-color:#3f51b5;background-color:#3f51b5}.k-checkbox-label:before{background:0 0}.k-checkbox+.k-checkbox-label:after{content:\\\"\\\";position:absolute;top:1px;left:1px;border-radius:50%;width:16px;height:16px;-webkit-box-shadow:0 0 0 0 transparent;box-shadow:0 0 0 0 transparent;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s,-webkit-box-shadow .3s}.k-checkbox:focus+.k-checkbox-label:before{border-color:#7f7f7f}.k-checkbox:checked+.k-checkbox-label:before,.k-checkbox:checked+.k-checkbox-label:hover:before,.k-checkbox:checked:hover+.k-checkbox-label:before{border-color:#3f51b5}.k-checkbox:focus+.k-checkbox-label:after{-webkit-box-shadow:0 0 0 12px rgba(127,127,127,.2);box-shadow:0 0 0 12px rgba(127,127,127,.2);background:rgba(127,127,127,.2)}.k-checkbox+.k-checkbox-label:active:after,.k-checkbox:active+.k-checkbox-label:after{-webkit-box-shadow:0 0 0 12px rgba(145,156,217,.4);box-shadow:0 0 0 12px rgba(145,156,217,.4);background:rgba(145,156,217,.4)}.k-checkbox:checked+.k-checkbox-label:active:after,.k-checkbox:checked+.k-checkbox-label:focus:after,.k-checkbox:checked:active+.k-checkbox-label:after,.k-checkbox:checked:focus+.k-checkbox-label:after{-webkit-box-shadow:0 0 0 12px rgba(145,156,217,.4);box-shadow:0 0 0 12px rgba(145,156,217,.4);background:rgba(145,156,217,.4)}.k-checkbox:disabled+.k-checkbox-label:active:after{-webkit-box-shadow:none;box-shadow:none}.k-checkbox:indeterminate+.k-checkbox-label:before{border-color:#3f51b5}.k-radio-label:before{border-color:#7f7f7f;border-radius:50%;background-color:#fff;border-width:2px}.k-radio-label:hover:before,.k-radio:checked+.k-radio-label:hover:before{border-color:#7f7f7f;-webkit-box-shadow:none;box-shadow:none}.k-radio:checked+.k-radio-label:after{background-color:#3f51b5;border-radius:50%}.k-radio-label:active:before{border-color:#6b7acb;-webkit-box-shadow:0 0 2px 0 #6b7acb;box-shadow:0 0 2px 0 #6b7acb}.k-radio:checked+.k-radio-label:active:before{-webkit-box-shadow:0 0 2px 0 #6b7acb;box-shadow:0 0 2px 0 #6b7acb;border-color:#6b7acb}.k-radio:disabled+.k-radio-label{color:#bfbfbf}.k-radio:disabled+.k-radio-label:active:before,.k-radio:disabled+.k-radio-label:before,.k-radio:disabled+.k-radio-label:hover:after,.k-radio:disabled+.k-radio-label:hover:before{background:#fff;border-color:#bfbfbf;-webkit-box-shadow:none;box-shadow:none}.k-radio:disabled:checked+.k-radio-label:after{background-color:#3f51b5;opacity:.5}.k-radio:focus+.k-radio-label:before{border-color:#6b7acb;-webkit-box-shadow:0 0 2px 0 #6b7acb;box-shadow:0 0 2px 0 #6b7acb}.k-radio:checked+.k-radio-label:before,.k-radio:checked+.k-radio-label:hover:before{border-color:#3f51b5}.k-radio+.k-radio-label:active:before{border-color:#7f7f7f;-webkit-box-shadow:0 0 0 12px rgba(235,235,235,.3);box-shadow:0 0 0 12px rgba(235,235,235,.3)}.k-radio:checked+.k-radio-label:active:before{-webkit-box-shadow:0 0 0 12px rgba(63,81,181,.3);box-shadow:0 0 0 12px rgba(63,81,181,.3)}.k-radio:focus+.k-radio-label:before{border-color:#7f7f7f;-webkit-box-shadow:0 0 0 12px rgba(235,235,235,.3);box-shadow:0 0 0 12px rgba(235,235,235,.3)}.k-radio:disabled:checked+.k-radio-label:before,.k-radio:disabled:checked+.k-radio-label:hover:before{border-color:#bfbfbf}.k-radio:disabled:checked+.k-radio-label:active:before{-webkit-box-shadow:none;box-shadow:none}.k-button:hover .k-tool-icon,.k-field-actions .k-icon,.k-gantt-toolbar .k-icon,.k-grid-toolbar .k-button:hover>.k-i-file-excel,.k-grid-toolbar .k-button:hover>.k-i-file-pdf,.k-grid-toolbar .k-i-file-excel,.k-grid-toolbar .k-i-file-pdf,.k-grid-toolbar .k-icon,.k-grouping-header .k-button-icon:hover>.k-icon.k-i-delete,.k-grouping-header .k-i-arrow-60-down,.k-grouping-header .k-i-arrow-60-up,.k-grouping-header .k-i-delete,.k-grouping-header .k-link:hover>.k-icon.k-i-arrow-60-down,.k-grouping-header .k-link:hover>.k-icon.k-i-arrow-60-up,.k-notification .k-icon,.k-pivot-configurator-settings .k-icon:hover,.k-scheduler-content .k-icon,.k-scheduler-footer .k-icon,.k-scheduler-toolbar .k-icon,.k-splitbar.k-splitbar-horizontal-hover .k-icon,.k-splitbar.k-splitbar-vertical-hover .k-icon,.k-state-focused .k-tool-icon,.k-state-hover .k-tool-icon,.k-state-selected .k-tool-icon,.k-textbox:hover>.k-icon,.k-tool-icon:hover,.k-window-titlebar .k-icon,div.k-splitbar.k-state-focused .k-icon{opacity:1}.k-pivot-configurator-settings .k-icon,.k-splitbar .k-icon{opacity:.7}.k-pager-wrap .k-link.k-state-disabled .k-icon{opacity:.25}.k-button,.k-header{font-weight:500}.k-overflow-container .k-primary,.k-primary{color:#fff;border-color:#3f51b5;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);background-position:50% 50%;background-color:#3f51b5}.k-primary.k-state-active:hover,.k-primary.k-state-hover,.k-primary:active:hover,.k-primary:hover{color:#fff;border-color:#5c6bc0;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);background-color:#5c6bc0}.k-primary.k-state-active,.k-primary.k-state-focused,.k-primary:active,.k-primary:focus{color:#fff;border-color:#283593;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);background-color:#283593}.k-primary.k-state-disabled,.k-primary.k-state-disabled:active,.k-primary.k-state-disabled:hover,.k-state-disabled .k-primary,.k-state-disabled .k-primary:active,.k-state-disabled .k-primary:hover{color:#999;border-color:#fafafa;background-color:#fafafa;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);-webkit-box-shadow:none;box-shadow:none}.k-dropdown .k-state-default{border-color:#fafafa;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);background-position:50% 50%;background-color:#fafafa}.k-dropdown,span.k-colorpicker{background-color:#fafafa}.k-textbox{background-color:#fafafa;border-color:#f0f0f0}.k-combobox,.k-datepicker,.k-datetimepicker,.k-timepicker{background-color:#fafafa}.k-picker-wrap.k-state-default>.k-select{border-color:#fafafa}.k-datepicker .k-input,.k-timepicker .k-input{background-color:#fafafa}.k-autocomplete.k-state-active .k-input,.k-numeric-wrap.k-state-active .k-input,.k-picker-wrap.k-state-active .k-input{background-color:#fff}.k-picker-wrap.k-state-focused>.k-select,.k-picker-wrap.k-state-hover>.k-select{border-color:#fff}.k-picker-wrap.k-state-focused .k-input,.k-picker-wrap.k-state-hover .k-input{background-color:#fff}.k-autocomplete.k-state-hover,.k-dropdown-wrap.k-state-hover,.k-numeric-wrap.k-state-hover,.k-overflow-anchor:hover,.k-picker-wrap.k-state-hover,.k-textbox:hover{background-color:#fff;border-color:#f5f5f5;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-dateinput.k-state-disabled>.k-textbox:hover,.k-maskedtextbox.k-state-disabled>.k-textbox:hover{border-color:#f0f0f0;-webkit-box-shadow:none;box-shadow:none}.k-autocomplete.k-state-focused,.k-dropdown-wrap.k-state-focused,.k-multiselect.k-header.k-state-focused,.k-numeric-wrap.k-state-focused,.k-picker-wrap.k-state-focused,.k-textbox:focus{background-color:#ebebeb;background-image:none;background-position:50% 50%;border-color:#ebebeb;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-numeric-wrap.k-state-focused>.k-select{background-color:#ebebeb}.k-autocomplete.k-state-active,.k-dropdown-wrap.k-state-active,.k-multiselect.k-header.k-state-active,.k-numeric-wrap.k-state-active,.k-picker-wrap.k-state-active,.k-textbox:focus{background-color:#fff;background-image:none;background-position:50% 50%;border-color:#f5f5f5;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-autocomplete.k-state-disabled,.k-dropdown-wrap.k-state-disabled,.k-multiselect.k-header.k-state-disabled,.k-numeric-wrap.k-state-disabled,.k-numeric-wrap.k-state-disabled .k-input,.k-numeric-wrap.k-state-disabled .k-select,.k-picker-wrap.k-state-disabled{background-color:#fafafa}.k-numeric-wrap.k-state-disabled .k-select{border-color:#fafafa}.k-numerictextbox .k-select{background-color:#fff;border-color:#fff}.k-list>.k-state-selected.k-state-focused{-webkit-box-shadow:none;box-shadow:none;color:#3f51b5}.k-list>.k-state-selected{-webkit-box-shadow:none;box-shadow:none}.k-list>.k-state-focused{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.k-list>.k-state-hover,.k-list>.k-state-selected.k-state-hover{background-color:#ebebeb;border-color:#ebebeb}.k-list-container{border-color:#ebebeb}.k-grid td.k-state-focused.k-state-selected{-webkit-box-shadow:inset 0 0 0 1px grey;box-shadow:inset 0 0 0 1px grey}.k-calendar td.k-state-focused,.k-calendar td.k-state-selected.k-state-focused{-webkit-box-shadow:inset 0 0 0 1px grey;box-shadow:inset 0 0 0 1px grey}.k-calendar td.k-state-selected{background-color:#00b0ff;-webkit-box-shadow:none;box-shadow:none}.k-calendar td.k-state-selected.k-state-hover{background-color:#00a2eb}.k-calendar .k-state-selected>.k-link{color:#fff}.k-calendar .k-header .k-link{color:#fff}.k-calendar .k-footer{border-color:#e6e6e6}.k-calendar td{border-radius:50%}.k-calendar .k-content th{background-color:#fff}.k-calendar .k-alt{border-radius:0;background-color:#f2f2f2}.k-calendar .k-header .k-state-hover{background-color:#32408f}.k-calendar .k-footer .k-nav-today{color:#3f51b5}.k-calendar .k-nav-fast.k-state-hover{border-radius:0}.k-calendar .k-today{background-color:#3f51b5}.k-calendar .k-today .k-link{color:#fff}.k-calendar .k-today.k-state-hover{background-color:#32408f}.k-calendar .k-today:active{-webkit-box-shadow:inset 0 0 0 1px #2b387c;box-shadow:inset 0 0 0 1px #2b387c}.k-calendar .k-link.k-state-hover,.k-window-titlebar .k-link{-webkit-box-shadow:none;box-shadow:none}.k-window-titlebar .k-state-hover{background-color:#5c6dc4;border-color:#5c6dc4}.k-tabstrip>.k-tabstrip-items>.k-item{border-radius:0}.k-panelbar .k-tabstrip-items .k-state-active,.k-tabstrip-items .k-state-active{background-color:#3f51b5;background-image:none;border-bottom-color:#00b0ff}.k-tabstrip .k-content.k-state-active{border-color:transparent}.k-tabstrip-items .k-item.k-state-hover{background:#5c6dc4;border-color:#5c6dc4}.k-tabstrip-items .k-state-hover .k-link{color:#fff}.k-flatcolorpicker.k-group,.k-group,.k-menu,.k-menu .k-group,.k-popup.k-widget.k-context-menu{color:#444;background-color:#fff}.k-menu .k-group,.k-popup.k-context-menu.k-group{border-color:#e6e6e6}.k-menu .k-item,.k-menu.k-header,.k-widget.k-menu-horizontal>.k-item{-webkit-box-shadow:none;box-shadow:none}.k-menu .k-state-active,.k-popup.k-context-menu.k-group .k-state-hover{background-color:#ebebeb;border-color:#ebebeb}.k-gantt-toolbar .k-button,.k-gantt>.k-header .k-link,.k-gantt>.k-header li,.k-grid .k-header .k-button,.k-scheduler .k-header .k-button,.k-scheduler .k-header .k-link,.k-scheduler .k-header li,.km-pane-wrapper .k-header .k-button{color:#fff;background-color:#3f51b5;border-color:#3f51b5;-webkit-box-shadow:none;box-shadow:none}.k-gantt .k-gantt-toolbar .k-button:hover,.k-gantt .k-gantt-toolbar .k-gantt-views li.k-state-hover,.k-gantt .k-gantt-toolbar .k-gantt-views li.k-state-hover .k-link,.k-grid .k-header .k-button:hover,.k-scheduler .k-header .k-button:hover,.k-scheduler .k-scheduler-toolbar .k-scheduler-views li.k-state-hover,.k-scheduler .k-scheduler-toolbar .k-scheduler-views li.k-state-hover .k-link,.km-pane-wrapper .k-header .k-button:hover{background-color:#5c6dc4;border-color:#5c6dc4}.km-pane-wrapper .k-header .k-button:active:hover{color:#fff}.k-gantt-toolbar .k-button,.k-scheduler .k-scheduler-toolbar .k-state-selected,.k-scheduler .k-scheduler-toolbar ul li.k-state-hover{background-color:#3f51b5;border-color:#3f51b5}.k-gantt .k-gantt-toolbar .k-button:active{background:#fff;-webkit-box-shadow:none;box-shadow:none}.k-gantt .k-gantt-toolbar .k-gantt-views li.k-state-selected.k-state-hover,.k-gantt-toolbar>.k-gantt-views>li.k-state-selected,.k-scheduler .k-scheduler-toolbar .k-scheduler-views li.k-state-selected.k-state-hover,.k-scheduler-toolbar>.k-scheduler-views>li.k-state-selected{border-bottom-color:#00b0ff}.k-scheduler-mark{border-radius:50%}.k-grid .k-alt{background-color:#fff}.k-grid .k-state-selected:hover .k-group-cell,.k-grouping-row td,.k-resize-handle-inner,td.k-group-cell{color:#444;background-color:#f2f2f2}.k-grouping-header .k-group-indicator,.k-pivot-toolbar .k-button{color:#fff;background-color:#32408f;border-color:#32408f;-webkit-box-shadow:none;box-shadow:none}.k-grid-footer,.k-grid-footer td,.k-grid-header,.k-grid-header .k-header,.k-pager-numbers .k-state-selected,.k-pager-wrap,.km-pane-wrapper .k-grid-header .k-header{color:#444;background-color:#fafafa}.k-header.k-scheduler-footer .k-header,.k-header.k-scheduler-footer ul.k-header li .k-link{color:#00b0ff;background-color:#fafafa}.k-header.k-scheduler-footer ul.k-header li{background-color:#fafafa;border-color:#fafafa}.k-gantt-toolbar .k-state-default,.k-grid .k-grouping-header,.k-grid-footer td,.k-grid-header,.k-grid-header-wrap,.k-group-footer td,.k-grouping-row td,.k-header,.k-pager-wrap,.k-pager-wrap .k-link,.k-pager-wrap .k-textbox{border-color:#e6e6e6}.k-fieldselector .k-item.k-header,.k-footer-template td,.k-group-footer td{color:#444;background-color:#f2f2f2}.k-grid .k-grouping-header{color:rgba(255,255,255,.5)}.k-pager-wrap{color:#444}.k-grouping-header .k-link,.k-grouping-header .k-link:link{color:#fff}.k-gantt .k-treelist .k-alt.k-state-selected,.k-gantt .k-treelist .k-alt.k-state-selected>td,.k-gantt .k-treelist .k-state-selected,.k-gantt .k-treelist .k-state-selected td,.k-grid td.k-state-selected,.k-grid td.k-state-selected.k-state-focused,.k-grid tr.k-state-selected,.k-listview>.k-state-selected,.k-marquee-color,.k-scheduler .k-today.k-state-selected,.k-scheduler-layout .k-state-selected,.k-state-selected.k-line{background-color:#00b0ff}.k-state-selected.k-line{color:#00b0ff}.k-grid td.k-state-selected,.k-grid tr.k-state-selected,.k-listview>.k-state-selected,.k-state-selected .k-progress-status{color:#fff}.k-grid tr:hover{background-color:#ebebeb}.k-grid .k-filter-row:hover,.k-pivot-rowheaders .k-grid tr:hover{background:0 0}.k-grid td.k-state-selected,.k-grid tr.k-state-selected>td{border-color:#008dcc}.k-grid td.k-state-selected:hover,.k-grid tr.k-state-selected:hover td{background-color:#00a2eb}.k-grid-header .k-header,.k-grid-header .k-header .k-link,.k-grid-header .k-link,.k-grid-header .k-link:link,.k-pager-info,.k-scheduler-agendaview .k-scheduler-datecolumn,.k-scheduler-header{color:#999}.k-gantt .k-task-draghandle{border-color:#00b0ff}.k-grid-pager .k-link,.k-grid-pager .k-link:link{color:#444}.k-pager-numbers .k-link,.k-pager-wrap>.k-link{border-radius:0}.k-pager-numbers .k-state-selected{border-color:#3f51b5 transparent transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#3f51b5}.k-pager-wrap .k-link{border-color:#fafafa;cursor:pointer}.k-pager-wrap .k-link:hover{background-color:transparent;border-color:transparent}.k-gantt-toolbar li:first-child,.k-gantt-toolbar li:first-child>.k-link,.k-gantt-toolbar li:last-child,.k-gantt-toolbar li:last-child>.k-link,.k-scheduler-toolbar .k-nav-next,.k-scheduler-toolbar .k-nav-next .k-link,.k-scheduler-toolbar ul+ul li:last-child,.k-scheduler-toolbar ul+ul li:last-child .k-link,.k-scheduler-toolbar>ul li:first-child,.k-scheduler-toolbar>ul li:first-child .k-link{border-radius:0}.k-grid,.k-notification,.k-panelbar,.k-popup .k-autocomplete.k-state-focused,.k-popup .k-autocomplete.k-state-hover,.k-popup .k-dropdown-wrap.k-state-focused,.k-popup .k-dropdown-wrap.k-state-hover,.k-popup .k-multiselect.k-header.k-state-focused,.k-popup .k-numeric-wrap.k-state-focused,.k-popup .k-numeric-wrap.k-state-hover,.k-popup .k-picker-wrap.k-state-focused,.k-popup .k-picker-wrap.k-state-hover,.k-popup .k-textbox:focus,.k-popup .k-textbox:hover{-webkit-box-shadow:none;box-shadow:none}.k-panel>li.k-item,.k-panelbar,.k-panelbar .k-content,.k-panelbar .k-header,.k-panelbar .k-state-selected{background-color:#fafafa}.k-panelbar .k-grid-toolbar{background-color:#3f51b5}.k-panelbar>li.k-state-default>.k-link{color:#444}.k-panelbar>li>.k-state-hover{background-color:#ebebeb}.k-panelbar .k-content,.k-panelbar .k-item,.k-panelbar .k-panel,.k-panelbar.k-header,.k-panelbar>.k-item>.k-link{border-color:#e6e6e6}.k-splitbar{border-color:#fafafa}.k-splitbar.k-state-focused{background-color:#3f51b5;border-color:#3f51b5;-webkit-box-shadow:none;box-shadow:none}.k-upload{color:#444;background-color:#fff}.k-upload-files .k-button{-webkit-box-shadow:none;box-shadow:none}.k-state-selected .k-task-summary-complete,.k-state-selected.k-task-milestone,.k-task-milestone,.k-task-summary-complete{background-color:#3f51b5;border-color:#3f51b5}.k-task-single{background-color:#66d0ff}.k-task-complete{background:#00b0ff 0 -257px none repeat-x}.k-treelist .k-alt.k-state-selected,.k-treelist .k-alt.k-state-selected>td,.k-treelist .k-state-selected,.k-treelist .k-state-selected td{background-color:#00b0ff;border-color:#00b0ff}.k-gantt-toolbar .k-button:focus:active:not(.k-state-disabled):not([disabled]),.k-gantt-toolbar .k-button:focus:not(.k-state-disabled):not([disabled]),.k-group-indicator .k-button,.k-group-indicator .k-button:focus:active:not(.k-state-disabled):not([disabled]),.k-group-indicator .k-button:focus:not(.k-state-disabled):not([disabled]),.k-multiselect .k-button:focus:active:not(.k-state-disabled):not([disabled]){-webkit-box-shadow:none;box-shadow:none}.k-multiselect .k-button:active:hover{color:#444;background-color:#dbdbdb;border-color:#dbdbdb}.k-multiselect-wrap>ul>.k-button{-webkit-box-shadow:none;box-shadow:none}.k-filebrowser .k-header{color:#444}.k-panelbar>li>.k-state-focused,.k-treeview .k-state-focused,.k-treeview .k-state-selected{-webkit-box-shadow:none;box-shadow:none}.k-panelbar>li>.k-state-focused,.k-treeview .k-state-focused{background-color:#ebebeb}.k-progressbar{background-color:#fafafa;border-color:#fafafa}.k-progressbar .k-item,.k-progressbar .k-item.k-state-selected{border-color:#fff}.k-progressbar .k-state-selected{background-color:#3f51b5;border-color:#3f51b5}.k-widget.k-tooltip-validation{-webkit-box-shadow:none;box-shadow:none}.k-grid.k-alt{background-color:#fafafa}.k-gantt .k-header.k-nonwork-hour,.k-gantt .k-treelist .k-alt{background-color:#f2f2f2}.k-list>.k-state-focused,.k-list>.k-state-hover{color:#444;background-color:#ebebeb;border-color:#ebebeb}.k-slider-track{background-color:#e6e6e6;-webkit-box-shadow:none;box-shadow:none}.k-slider-selection{background-color:#3f51b5;border-color:#3f51b5}.k-slider .k-button,.k-slider .k-button.k-state-hover,.k-slider .k-button:active,.k-slider .k-button:active:hover,.k-slider .k-button:focus{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none}.k-draghandle,.k-flatcolorpicker .k-slider-horizontal .k-slider-track{-webkit-box-shadow:none;box-shadow:none}.k-flatcolorpicker .k-hue-slider .k-draghandle,.k-flatcolorpicker .k-transparency-slider .k-draghandle{border-color:#3f51b5;background-color:#3f51b5;-webkit-box-shadow:none;box-shadow:none}.k-flatcolorpicker .k-hue-slider .k-draghandle:hover,.k-flatcolorpicker .k-transparency-slider .k-draghandle:hover{border-color:#3f51b5;background-color:#3f51b5;-webkit-box-shadow:0 0 0 8px rgba(63,81,181,.3);box-shadow:0 0 0 8px rgba(63,81,181,.3)}.k-draghandle.k-state-selected,.k-draghandle.k-state-selected:hover,.k-draghandle.k-state-selected:link,.k-flatcolorpicker .k-hue-slider .k-draghandle.k-state-selected,.k-flatcolorpicker .k-transparency-slider .k-draghandle.k-state-selected{background-color:#ccc;border-color:#ccc}.k-draghandle.k-state-focused,.k-draghandle.k-state-focused:link,.k-flatcolorpicker .k-hue-slider .k-draghandle.k-state-focused,.k-flatcolorpicker .k-transparency-slider .k-draghandle.k-state-focused{-webkit-box-shadow:none;box-shadow:none;border-color:#3f51b5;background-color:#3f51b5}.k-edit-buttons{background-color:#fafafa}.k-popup .k-button,.k-popup .k-button:active:hover{-webkit-box-shadow:none;box-shadow:none}.k-edit-form-container .k-button,.k-edit-form-container .k-primary:active,.k-popup .k-button,.k-popup .k-primary:active,.k-popup .k-primary:active:hover{color:#444;background-color:#fafafa;border-color:#fafafa;-webkit-box-shadow:none;box-shadow:none}.k-edit-form-container .k-primary,.k-popup .k-primary{color:#00b0ff;background-color:#fafafa;border-color:#fafafa}.k-filter-menu .k-button,.k-overflow-container .k-button,.k-split-wrapper .k-button{background:0 0;border-color:transparent}.k-overflow-container .k-button,.k-split-wrapper .k-button{text-transform:none}.k-overflow-container .k-button:hover,.k-split-wrapper .k-button:hover{background-color:#ebebeb;border-color:#ebebeb}.k-split-wrapper .k-button:focus,.k-split-wrapper .k-button:focus:not(.k-state-disabled):not([disabled]){color:#3f51b5;-webkit-box-shadow:none;box-shadow:none}.k-overflow-container .k-button.k-state-disabled,.k-overflow-container .k-state-disabled>.k-button{color:#999;border-color:transparent;background-color:transparent}.k-overflow-container .k-button:focus{color:#444;border-color:#ebebeb;background-color:#ebebeb}.k-overflow-container .k-button.k-state-disabled:focus,.k-overflow-container .k-state-disabled>.k-button:focus{color:#999;border-color:#ebebeb;background-color:#ebebeb}.k-overflow-container .k-separator{border-color:#e6e6e6}.k-filter-menu .k-button{background:0 0;border-color:transparent}.k-filter-menu .k-primary{border-left-color:#f0f0f0}.k-filter-menu>div>div:last-child{border-color:#f0f0f0}.k-edit-form-container .k-button:focus:active:not(.k-state-disabled):not([disabled]),.k-popup .k-button:focus:active:not(.k-state-disabled):not([disabled]){-webkit-box-shadow:none;box-shadow:none}.k-edit-form-container .k-scheduler-delete{color:#00b0ff}div.k-scheduler-marquee:after,div.k-scheduler-marquee:before{border-color:#00b0ff}.km-pane-wrapper>.km-pane>.km-view>.km-content{color:#3f51b5;background-color:#fff}.km-pane-wrapper>.km-pane .km-content .k-mobile-list>ul>li>.k-link{color:#3f51b5}.k-popup.k-context-menu{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.2)}.k-drag-clue{color:#444;background-color:#ebebeb;border-color:#ebebeb;-webkit-box-shadow:inset 0 0 0 1px grey;box-shadow:inset 0 0 0 1px grey}.k-popup>.k-group-header,.k-popup>.k-virtual-wrap>.k-group-header{color:#444}.k-popup .k-item>.k-group{color:#444}@media only screen and (max-width:370px){.k-edge .k-pager-refresh,.k-ff .k-pager-refresh,.k-ie11 .k-pager-refresh,.k-safari .k-pager-refresh,.k-webkit .k-pager-refresh{display:none}}@media only screen and (max-width:590px){.k-edge .k-pager-refresh,.k-ff .k-pager-refresh,.k-ie11 .k-pager-refresh,.k-safari .k-pager-refresh,.k-webkit .k-pager-refresh{margin-right:0}}@media only screen and (max-width:530px){.k-edge .k-pager-sizes,.k-ff .k-pager-sizes,.k-ie11 .k-pager-sizes,.k-safari .k-pager-sizes,.k-webkit .k-pager-sizes{display:none}}@media only screen and (max-width:687px){.k-edge .k-pager-info,.k-ff .k-pager-info,.k-ie11 .k-pager-info,.k-safari .k-pager-info,.k-webkit .k-pager-info{display:none}}@media only screen and (max-width:1024px){.k-scheduler-toolbar>ul.k-scheduler-views{right:13px;top:0}.k-edge .k-scheduler-toolbar>ul.k-scheduler-views,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views{right:13px;top:0}.k-edge .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view,.k-edge .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover{background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);background-position:50% 50%;background-color:transparent;border-color:transparent;border-radius:2px;text-align:right}.k-edge .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li{border-radius:0}.k-edge .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li.k-current-view,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li.k-current-view,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li.k-current-view,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li.k-current-view,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded>li.k-current-view{border-radius:1px 1px 0 0}.k-edge .k-scheduler-toolbar>ul li:first-child,.k-edge .k-scheduler-toolbar>ul li:first-child .k-link,.k-edge .k-scheduler-toolbar>ul.k-scheduler-views li,.k-edge .k-scheduler-toolbar>ul.k-scheduler-views li .k-link,.k-ff .k-scheduler-toolbar>ul li:first-child,.k-ff .k-scheduler-toolbar>ul li:first-child .k-link,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views li,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views li .k-link,.k-ie11 .k-scheduler-toolbar>ul li:first-child,.k-ie11 .k-scheduler-toolbar>ul li:first-child .k-link,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views li,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views li .k-link,.k-safari .k-scheduler-toolbar>ul li:first-child,.k-safari .k-scheduler-toolbar>ul li:first-child .k-link,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views li,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views li .k-link,.k-webkit .k-scheduler-toolbar>ul li:first-child,.k-webkit .k-scheduler-toolbar>ul li:first-child .k-link,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views li,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views li .k-link{border-radius:0}.k-edge .k-scheduler-toolbar>ul.k-scheduler-views li:last-child,.k-edge .k-scheduler-toolbar>ul.k-scheduler-views li:last-child .k-link,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views li:last-child,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views li:last-child .k-link,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views li:last-child,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views li:last-child .k-link,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views li:last-child,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views li:last-child .k-link,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views li:last-child,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views li:last-child .k-link{border-radius:0 0 1px 1px}.k-edge .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover{border-color:transparent;background-image:none;background-color:transparent}.k-edge .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover>.k-link,.k-edge .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover>.k-link,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover>.k-link,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover>.k-link,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view:hover>.k-link,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views>li.k-current-view>.k-link{color:#fff;min-width:20px}.k-edge .k-scheduler-views>li.k-state-selected>.k-link:after,.k-ff .k-scheduler-views>li.k-state-selected>.k-link:after,.k-ie11 .k-scheduler-views>li.k-state-selected>.k-link:after,.k-safari .k-scheduler-views>li.k-state-selected>.k-link:after,.k-webkit .k-scheduler-views>li.k-state-selected>.k-link:after{display:block;content:\\\"\\\";position:absolute;top:50%;margin-top:-.5em;right:.333em;width:1.333em;height:1.333em}.k-edge .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded,.k-ff .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded,.k-ie11 .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded,.k-safari .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded,.k-webkit .k-scheduler-toolbar>ul.k-scheduler-views.k-state-expanded{border-width:1px;border-style:solid;border-color:transparent;background-image:none;background-color:#3f51b5;border-radius:2px;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.2)}.k-edge .k-pager-wrap,.k-ff .k-pager-wrap,.k-ie11 .k-pager-wrap,.k-safari .k-pager-wrap,.k-webkit .k-pager-wrap{min-height:2.56em}.k-edge .k-pager-input,.k-edge .k-pager-wrap .k-pager-nav,.k-ff .k-pager-input,.k-ff .k-pager-wrap .k-pager-nav,.k-ie11 .k-pager-input,.k-ie11 .k-pager-wrap .k-pager-nav,.k-safari .k-pager-input,.k-safari .k-pager-wrap .k-pager-nav,.k-webkit .k-pager-input,.k-webkit .k-pager-wrap .k-pager-nav{display:inline-block;vertical-align:top}.k-edge .k-grid .k-pager-numbers,.k-edge .k-pager-numbers,.k-ff .k-grid .k-pager-numbers,.k-ff .k-pager-numbers,.k-ie11 .k-grid .k-pager-numbers,.k-ie11 .k-pager-numbers,.k-safari .k-grid .k-pager-numbers,.k-safari .k-pager-numbers,.k-webkit .k-grid .k-pager-numbers,.k-webkit .k-pager-numbers{position:absolute;left:5.6em;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;overflow:visible;height:auto}.k-edge .k-grid .k-pager-numbers.k-state-expanded,.k-edge .k-pager-numbers.k-state-expanded,.k-ff .k-grid .k-pager-numbers.k-state-expanded,.k-ff .k-pager-numbers.k-state-expanded,.k-ie11 .k-grid .k-pager-numbers.k-state-expanded,.k-ie11 .k-pager-numbers.k-state-expanded,.k-safari .k-grid .k-pager-numbers.k-state-expanded,.k-safari .k-pager-numbers.k-state-expanded,.k-webkit .k-grid .k-pager-numbers.k-state-expanded,.k-webkit .k-pager-numbers.k-state-expanded{-webkit-transform:translatey(-100%);-ms-transform:translatey(-100%);transform:translatey(-100%)}.k-edge .km-pane-wrapper .k-grid .k-pager-numbers,.k-edge .km-pane-wrapper .k-pager-numbers,.k-ff .km-pane-wrapper .k-grid .k-pager-numbers,.k-ff .km-pane-wrapper .k-pager-numbers,.k-ie11 .km-pane-wrapper .k-grid .k-pager-numbers,.k-ie11 .km-pane-wrapper .k-pager-numbers,.k-safari .km-pane-wrapper .k-grid .k-pager-numbers,.k-safari .km-pane-wrapper .k-pager-numbers,.k-webkit .km-pane-wrapper .k-grid .k-pager-numbers,.k-webkit .km-pane-wrapper .k-pager-numbers{position:absolute;left:50%;-ms-transform:translate(-50%,0);transform:translate(-50%,0);-webkit-transform:translate(-50%,0)}.k-edge .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded,.k-edge .km-pane-wrapper .k-pager-numbers.k-state-expanded,.k-ff .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded,.k-ff .km-pane-wrapper .k-pager-numbers.k-state-expanded,.k-ie11 .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded,.k-ie11 .km-pane-wrapper .k-pager-numbers.k-state-expanded,.k-safari .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded,.k-safari .km-pane-wrapper .k-pager-numbers.k-state-expanded,.k-webkit .km-pane-wrapper .k-grid .k-pager-numbers.k-state-expanded,.k-webkit .km-pane-wrapper .k-pager-numbers.k-state-expanded{-webkit-transform:translate(-50%,-100%);-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.k-edge .km-pane-wrapper .k-pager-numbers .k-link,.k-edge .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-edge .km-pane-wrapper .k-pager-wrap>.k-link,.k-edge .km-pane-wrapper .k-pager-wrap>.k-pager-info,.k-ff .km-pane-wrapper .k-pager-numbers .k-link,.k-ff .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-ff .km-pane-wrapper .k-pager-wrap>.k-link,.k-ff .km-pane-wrapper .k-pager-wrap>.k-pager-info,.k-ie11 .km-pane-wrapper .k-pager-numbers .k-link,.k-ie11 .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-ie11 .km-pane-wrapper .k-pager-wrap>.k-link,.k-ie11 .km-pane-wrapper .k-pager-wrap>.k-pager-info,.k-safari .km-pane-wrapper .k-pager-numbers .k-link,.k-safari .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-safari .km-pane-wrapper .k-pager-wrap>.k-link,.k-safari .km-pane-wrapper .k-pager-wrap>.k-pager-info,.k-webkit .km-pane-wrapper .k-pager-numbers .k-link,.k-webkit .km-pane-wrapper .k-pager-numbers .k-state-selected,.k-webkit .km-pane-wrapper .k-pager-wrap>.k-link,.k-webkit .km-pane-wrapper .k-pager-wrap>.k-pager-info{padding-top:0;padding-bottom:0}.k-edge .k-rtl .k-grid .k-pager-numbers,.k-edge .k-rtl .k-pager-numbers,.k-ff .k-rtl .k-grid .k-pager-numbers,.k-ff .k-rtl .k-pager-numbers,.k-ie11 .k-rtl .k-grid .k-pager-numbers,.k-ie11 .k-rtl .k-pager-numbers,.k-safari .k-rtl .k-grid .k-pager-numbers,.k-safari .k-rtl .k-pager-numbers,.k-webkit .k-rtl .k-grid .k-pager-numbers,.k-webkit .k-rtl .k-pager-numbers{right:5.6em;width:5.15em}.k-edge .k-grid .k-pager-numbers .k-current-page,.k-edge .k-pager-numbers .k-current-page,.k-ff .k-grid .k-pager-numbers .k-current-page,.k-ff .k-pager-numbers .k-current-page,.k-ie11 .k-grid .k-pager-numbers .k-current-page,.k-ie11 .k-pager-numbers .k-current-page,.k-safari .k-grid .k-pager-numbers .k-current-page,.k-safari .k-pager-numbers .k-current-page,.k-webkit .k-grid .k-pager-numbers .k-current-page,.k-webkit .k-pager-numbers .k-current-page{display:block;border-left:0}.k-edge .k-pager-numbers li:not(.k-current-page),.k-ff .k-pager-numbers li:not(.k-current-page),.k-ie11 .k-pager-numbers li:not(.k-current-page),.k-safari .k-pager-numbers li:not(.k-current-page),.k-webkit .k-pager-numbers li:not(.k-current-page){display:none}.k-edge .k-pager-numbers .k-current-page .k-link,.k-ff .k-pager-numbers .k-current-page .k-link,.k-ie11 .k-pager-numbers .k-current-page .k-link,.k-safari .k-pager-numbers .k-current-page .k-link,.k-webkit .k-pager-numbers .k-current-page .k-link{width:3.8em;line-height:2.564em;padding:0 .429em 0 .8em;border-radius:2px;background-image:none;background-image:none,-webkit-gradient(linear,left top,left bottom,from(false));background-image:none,-webkit-linear-gradient(top,false);background-image:none,linear-gradient(to bottom,false);background-position:50% 50%;background-color:#fafafa;border:1px solid transparent;border-top:0;-webkit-box-shadow:0 2px 2px 0 #fafafa;box-shadow:0 2px 2px 0 #fafafa}.k-edge .k-pager-numbers .k-current-page:hover .k-link,.k-ff .k-pager-numbers .k-current-page:hover .k-link,.k-ie11 .k-pager-numbers .k-current-page:hover .k-link,.k-safari .k-pager-numbers .k-current-page:hover .k-link,.k-webkit .k-pager-numbers .k-current-page:hover .k-link{border-radius:2px;background-color:#fff;border:1px solid #ebebeb;border-top:0;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-edge .k-pager-numbers .k-current-page .k-link:after,.k-ff .k-pager-numbers .k-current-page .k-link:after,.k-ie11 .k-pager-numbers .k-current-page .k-link:after,.k-safari .k-pager-numbers .k-current-page .k-link:after,.k-webkit .k-pager-numbers .k-current-page .k-link:after{display:block;content:\\\"\\\";position:absolute;top:50%;margin-top:-.6em;right:.6em;width:1.333em;height:1.333em;background-position:0 -30px}.k-edge .k-pager-numbers+.k-link,.k-ff .k-pager-numbers+.k-link,.k-ie11 .k-pager-numbers+.k-link,.k-safari .k-pager-numbers+.k-link,.k-webkit .k-pager-numbers+.k-link{margin-left:5.4em}.k-edge .k-rtl .k-pager-numbers+.k-link,.k-ff .k-rtl .k-pager-numbers+.k-link,.k-ie11 .k-rtl .k-pager-numbers+.k-link,.k-safari .k-rtl .k-pager-numbers+.k-link,.k-webkit .k-rtl .k-pager-numbers+.k-link{margin-right:5.4em;margin-left:0}.k-edge .k-pager-wrap .k-pager-numbers .k-link,.k-edge .k-pager-wrap .k-pager-numbers .k-state-selected,.k-ff .k-pager-wrap .k-pager-numbers .k-link,.k-ff .k-pager-wrap .k-pager-numbers .k-state-selected,.k-ie11 .k-pager-wrap .k-pager-numbers .k-link,.k-ie11 .k-pager-wrap .k-pager-numbers .k-state-selected,.k-safari .k-pager-wrap .k-pager-numbers .k-link,.k-safari .k-pager-wrap .k-pager-numbers .k-state-selected,.k-webkit .k-pager-wrap .k-pager-numbers .k-link,.k-webkit .k-pager-wrap .k-pager-numbers .k-state-selected{display:block;margin-top:0;margin-right:0;padding:1px 5px 1px .8em;text-align:left;border-top:0;border-radius:1px}.k-edge .k-pager-wrap .k-pager-numbers li:not(.k-current-page) .k-link:hover,.k-ff .k-pager-wrap .k-pager-numbers li:not(.k-current-page) .k-link:hover,.k-ie11 .k-pager-wrap .k-pager-numbers li:not(.k-current-page) .k-link:hover,.k-safari .k-pager-wrap .k-pager-numbers li:not(.k-current-page) .k-link:hover,.k-webkit .k-pager-wrap .k-pager-numbers li:not(.k-current-page) .k-link:hover{background-color:#ebebeb}.k-edge .k-pager-numbers.k-state-expanded,.k-ff .k-pager-numbers.k-state-expanded,.k-ie11 .k-pager-numbers.k-state-expanded,.k-safari .k-pager-numbers.k-state-expanded,.k-webkit .k-pager-numbers.k-state-expanded{-webkit-box-sizing:border-box;box-sizing:border-box;padding:2px 0 0;border-width:1px 1px 0 1px;border-style:solid;border-color:#ebebeb;background-color:#fff;border-radius:2px 2px 0 0;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.2)}.k-edge .k-pager-numbers.k-state-expanded .k-current-page,.k-ff .k-pager-numbers.k-state-expanded .k-current-page,.k-ie11 .k-pager-numbers.k-state-expanded .k-current-page,.k-safari .k-pager-numbers.k-state-expanded .k-current-page,.k-webkit .k-pager-numbers.k-state-expanded .k-current-page{margin:-2.2em -1px 0;padding:0}.k-edge .k-pager-numbers.k-state-expanded .k-current-page .k-link,.k-ff .k-pager-numbers.k-state-expanded .k-current-page .k-link,.k-ie11 .k-pager-numbers.k-state-expanded .k-current-page .k-link,.k-safari .k-pager-numbers.k-state-expanded .k-current-page .k-link,.k-webkit .k-pager-numbers.k-state-expanded .k-current-page .k-link{border-radius:0 0 2px 2px;background-color:#fff;border:1px solid #ebebeb;border-top:0;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.2)}.k-edge .k-pager-numbers.k-state-expanded li,.k-ff .k-pager-numbers.k-state-expanded li,.k-ie11 .k-pager-numbers.k-state-expanded li,.k-safari .k-pager-numbers.k-state-expanded li,.k-webkit .k-pager-numbers.k-state-expanded li{display:inline-block}.k-edge .k-gantt-toolbar>ul.k-gantt-views,.k-ff .k-gantt-toolbar>ul.k-gantt-views,.k-ie11 .k-gantt-toolbar>ul.k-gantt-views,.k-safari .k-gantt-toolbar>ul.k-gantt-views,.k-webkit .k-gantt-toolbar>ul.k-gantt-views{top:0}}@media only screen and (max-width:755px){.k-edge .k-pager-info,.k-ff .k-pager-info,.k-ie11 .k-pager-info,.k-safari .k-pager-info,.k-webkit .k-pager-info{display:none}}@media only screen and (max-width:572px){.k-edge .k-pager-sizes,.k-ff .k-pager-sizes,.k-ie11 .k-pager-sizes,.k-safari .k-pager-sizes,.k-webkit .k-pager-sizes{display:none}}.k-chart .k-mask{background-color:#fff;filter:alpha(opacity=68);opacity:.68}.k-chart .k-selection{border-color:#e5e5e5}.k-chart .k-handle{width:15px;height:15px;background-color:#3f51b5;border-radius:10px}.k-chart .k-left-handle{left:-8px}.k-chart .k-right-handle{right:-8px}.k-chart .k-handle:hover{background-color:#00b0ff;border-color:#00b0ff}.k-chart .k-navigator-hint .k-tooltip{border:3px solid #fff;-webkit-box-shadow:0 0 0 3px rgba(0,0,0,.2);box-shadow:0 0 0 3px rgba(0,0,0,.2);background:#fff;color:#242424}.k-chart .k-navigator-hint .k-scroll{background:#3f51b5;height:4px}.k-chart-tooltip{background-image:none}.k-map .k-marker{font-size:28px;color:#3f51b5}.k-map .k-attribution{color:#666}.k-map .k-shadow{background-color:#f9f9f9;border-color:#f9f9f9}.k-map .k-zoom-control{border-color:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.2);box-shadow:0 1px 2px 0 rgba(0,0,0,.2);border-radius:2px}.k-map .k-map-controls .k-button{-webkit-box-shadow:none;box-shadow:none}.k-map .k-map-controls .k-button:active,.k-map .k-map-controls .k-button:focus,.k-map .k-map-controls .k-button:focus:active{background-color:#d6d6d6;border-color:#d6d6d6;-webkit-box-shadow:none;box-shadow:none}.k-buttons-horizontal .k-zoom-out{border-radius:0 2px 2px 0}.k-buttons-horizontal :first-child{border-radius:2px 0 0 2px}.k-rtl .k-buttons-horizontal .k-zoom-out{border-radius:2px 0 0 2px}.k-rtl .k-buttons-horizontal :first-child{border-radius:0 2px 2px 0}.k-spreadsheet-column-header,.k-spreadsheet-row-header{background-color:#fff}.k-spreadsheet-column-header,.k-spreadsheet-row-header,.k-spreadsheet-top-corner{background-color:#fff;background-image:none;color:#000;border-color:#ccc}.k-spreadsheet-top-corner{border-color:#ccc}.k-spreadsheet-top-corner:after{border-color:transparent #ccc #ccc transparent}.k-spreadsheet-pane{border-color:#ccc}.k-spreadsheet-pane .k-spreadsheet-haxis,.k-spreadsheet-pane .k-spreadsheet-vaxis{border-color:#e6e6e6}.k-spreadsheet-pane .k-spreadsheet-column-header,.k-spreadsheet-pane .k-spreadsheet-row-header{border-color:#ccc}.k-spreadsheet-pane .k-spreadsheet-merged-cell{background-color:#fff}.k-spreadsheet-pane .k-selection-full,.k-spreadsheet-pane .k-selection-partial{border-color:rgba(0,176,255,.2);background-color:rgba(0,176,255,.2)}.k-spreadsheet-pane .k-filter-range{border-color:#00b0ff}.k-spreadsheet-pane .k-spreadsheet-column-header .k-selection-full,.k-spreadsheet-pane .k-spreadsheet-column-header .k-selection-partial{border-bottom-color:#00b0ff}.k-spreadsheet-pane .k-spreadsheet-row-header .k-selection-full,.k-spreadsheet-pane .k-spreadsheet-row-header .k-selection-partial{border-right-color:#00b0ff}.k-auto-fill,.k-spreadsheet-selection{border-color:#00b0ff;-webkit-box-shadow:inset 0 0 0 1px #00b0ff;box-shadow:inset 0 0 0 1px #00b0ff}.k-auto-fill-wrapper .k-tooltip{background:#fff}.k-spreadsheet-selection{background-color:rgba(0,176,255,.2)}.k-spreadsheet-active-cell{-webkit-box-shadow:inset 0 0 0 1px #00b0ff;box-shadow:inset 0 0 0 1px #00b0ff;background-color:#fff}.k-spreadsheet-active-cell.k-right{-webkit-box-shadow:inset 0 0 0 1px #00b0ff,inset -1px 0 0 1px #00b0ff;box-shadow:inset 0 0 0 1px #00b0ff,inset -1px 0 0 1px #00b0ff}.k-spreadsheet-active-cell.k-bottom{-webkit-box-shadow:inset 0 0 0 1px #00b0ff,inset 0 -1px 0 1px #00b0ff;box-shadow:inset 0 0 0 1px #00b0ff,inset 0 -1px 0 1px #00b0ff}.k-spreadsheet-active-cell.k-bottom.k-right{-webkit-box-shadow:inset 0 0 0 1px #00b0ff,inset -1px -1px 0 1px #00b0ff;box-shadow:inset 0 0 0 1px #00b0ff,inset -1px -1px 0 1px #00b0ff}.k-spreadsheet-active-cell.k-single{color:#444;background-color:#fff}.k-spreadsheet .k-spreadsheet-action-bar{background-color:#fff;border-color:#e6e6e6}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-name-editor{border-color:#ccc}.k-spreadsheet .k-spreadsheet-action-bar .k-spreadsheet-formula-bar::before{border-color:#ccc}.k-spreadsheet .k-spreadsheet-formula-input{background-color:#fff;color:#444}.k-spreadsheet .k-resize-handle,.k-spreadsheet .k-resize-hint-handle,.k-spreadsheet .k-resize-hint-marker{background-color:#00b0ff}.k-spreadsheet .k-resize-hint-vertical .k-resize-hint-handle,.k-spreadsheet .k-resize-hint-vertical .k-resize-hint-marker{background-color:#00b0ff}.k-spreadsheet .k-single-selection::after{background-color:#00b0ff;border-color:#fff}.k-spreadsheet .k-auto-fill-punch{background-color:rgba(255,255,255,.5)}.k-spreadsheet .k-single-selection.k-dim-auto-fill-handle::after{background-color:rgba(0,176,255,.5)}.k-spreadsheet-format-cells .k-spreadsheet-preview{border-color:#e6e6e6}.k-spreadsheet-filter{border-radius:2px;background-color:#fff;-webkit-box-shadow:inset 0 0 0 1px #e6e6e6;box-shadow:inset 0 0 0 1px #e6e6e6}.k-spreadsheet-filter.k-state-active{color:#3f51b5;background-color:#00b0ff}.k-spreadsheet-filter:hover{color:#444;background:#ebebeb;border-color:#d7d7d7}.k-action-window .k-action-buttons{border-color:#e6e6e6;background:#3f51b5}.k-spreadsheet-sample{color:#919191}.k-state-selected .k-spreadsheet-sample{color:inherit}.k-spreadsheet-window .k-list{border-color:#e6e6e6;border-radius:2px}.k-spreadsheet-toolbar.k-toolbar .k-button-group .k-button:not(.k-toggle-button){border-radius:2px}.k-spreadsheet-toolbar>.k-button,.k-spreadsheet-toolbar>.k-button-group,.k-spreadsheet-toolbar>.k-widget{border-radius:2px}.k-spreadsheet-toolbar>.k-separator{border-color:#e6e6e6}.k-spreadsheet-toolbar .k-overflow-anchor{border-radius:0}.k-spreadsheet-popup{border-radius:2px}.k-spreadsheet-popup .k-separator{background-color:#e6e6e6}.k-spreadsheet-popup .k-button{background-color:transparent}.k-spreadsheet-popup .k-button:hover{background-color:#ebebeb}.k-spreadsheet-popup .k-state-active{background-color:#00b0ff;color:#fff}.k-spreadsheet-popup .k-state-active:hover{background-color:#008dcc}.k-spreadsheet-filter-menu .k-details{border-color:#e6e6e6}.k-spreadsheet-filter-menu .k-details-content .k-space-right{background-color:#fff}.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper{background-color:#fff;border-color:#e6e6e6;border-radius:2px 0 0 2px}.k-syntax-ref{color:#f82}.k-syntax-num{color:#09f}.k-syntax-func{font-weight:700}.k-syntax-str{color:#38b714}.k-syntax-error{color:red}.k-syntax-bool{color:#a9169c}.k-syntax-startexp{font-weight:700}.k-syntax-paren-match{background-color:#caf200}.k-series-a{border-color:#3f51b5;background-color:rgba(63,81,181,.15)}.k-series-b{border-color:#03a9f4;background-color:rgba(3,169,244,.15)}.k-series-c{border-color:#4caf50;background-color:rgba(76,175,80,.15)}.k-series-d{border-color:#f9ce1d;background-color:rgba(249,206,29,.15)}.k-series-e{border-color:#ff9800;background-color:rgba(255,152,0,.15)}.k-series-f{border-color:#ff5722;background-color:rgba(255,87,34,.15)}.k-spreadsheet-sheets-remove:hover .k-icon{color:#c22}.k-spreadsheet-formula-list .k-state-focused{background-color:#00b0ff;color:#3f51b5}.k-spreadsheet .k-spreadsheet-quick-access-toolbar .k-button,.k-spreadsheet .k-spreadsheet-sheets-bar .k-button{-webkit-box-shadow:none;box-shadow:none;color:#fff;border-radius:0;line-height:2.6em;height:-webkit-calc(3.1em + 2px);height:calc(3.1em + 2px);width:3em}.k-spreadsheet .k-spreadsheet-quick-access-toolbar .k-button:hover,.k-spreadsheet .k-spreadsheet-sheets-bar .k-button:hover{background-color:#324191;border-color:#324191}.k-spreadsheet .k-spreadsheet-sheets-bar .k-button{right:0;bottom:0;padding-top:.5em;padding-bottom:.5em;line-height:2.2em}.k-spreadsheet .k-spreadsheet-sheets-remove{margin:0 0 0 -1em}.k-spreadsheet-sheets-items .k-state-default .k-link,.k-spreadsheet-tabstrip .k-state-default .k-link{color:#9fa8da}.k-spreadsheet-sheets-items .k-item.k-state-active,.k-spreadsheet-sheets-items .k-item.k-state-focused,.k-spreadsheet-sheets-items .k-item.k-state-hover,.k-spreadsheet-tabstrip .k-item.k-state-active,.k-spreadsheet-tabstrip .k-item.k-state-focused,.k-spreadsheet-tabstrip .k-item.k-state-hover{background-color:transparent}.k-spreadsheet-sheets-items .k-item.k-state-active .k-link,.k-spreadsheet-sheets-items .k-item.k-state-focused .k-link,.k-spreadsheet-sheets-items .k-item.k-state-hover .k-link,.k-spreadsheet-tabstrip .k-item.k-state-active .k-link,.k-spreadsheet-tabstrip .k-item.k-state-focused .k-link,.k-spreadsheet-tabstrip .k-item.k-state-hover .k-link{color:#fff}.k-spreadsheet-sheets-items .k-state-active .k-link,.k-spreadsheet-tabstrip .k-state-active .k-link{color:#fff}.k-rtl .k-grid .k-checkbox+.k-checkbox-label:active:after,.k-rtl .k-grid .k-checkbox:active+.k-checkbox-label:after,.k-rtl .k-grid .k-checkbox:checked+.k-checkbox-label:active:after,.k-rtl .k-grid .k-checkbox:checked:active+.k-checkbox-label:after,.k-rtl .k-grid .k-checkbox:focus+.k-checkbox-label:after{left:auto;right:1px}.k-window .k-popup-edit-form .k-edit-field label.k-checkbox-label{margin-top:.8em}.k-dialog .k-content{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.k-dialog.k-dialog-titleless .k-content{border-top-right-radius:2px;border-top-left-radius:2px}.k-dialog .k-window-titlebar{border-width:0;color:#444}.k-dialog>.k-header{background:0 0}.k-dialog.k-alert .k-window-titlebar,.k-dialog.k-confirm .k-window-titlebar,.k-dialog.k-prompt .k-window-titlebar{border-bottom:none}.k-dialog.k-alert .k-window-titlebar .k-dialog-title,.k-dialog.k-confirm .k-window-titlebar .k-dialog-title,.k-dialog.k-prompt .k-window-titlebar .k-dialog-title{color:#444}.k-dialog a.k-dialog-action.k-dialog-close.k-button.k-bare:before{content:normal}.k-dialog .k-dialog-buttongroup .k-button:active,.k-dialog .k-dialog-buttongroup .k-button:focus,.k-dialog .k-dialog-buttongroup .k-button:focus:active{-webkit-box-shadow:none;box-shadow:none}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-stretched .k-button{padding:15px}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-normal{border-top:solid 1px #e6e6e6;background:#fafafa}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-normal .k-button{background:0 0;border:none;margin:0}.k-dialog .k-dialog-buttongroup.k-dialog-button-layout-normal .k-button.k-primary{color:#00b0ff}.k-rtl .k-filter-row th:first-child,.k-rtl .k-grid tbody td:first-child,.k-rtl .k-grid tfoot td:first-child,.k-rtl .k-grid-header .k-header:first-child{border-left-width:0}.k-rtl .k-dialog a.k-dialog-action.k-dialog-close{left:0}.k-rtl .k-dialog .k-dialog-buttongroup.k-dialog-button-layout-stretched .k-button:first-child{border-bottom-right-radius:2px}.k-rtl .k-dialog .k-dialog-buttongroup.k-dialog-button-layout-stretched .k-button:last-child{border-bottom-left-radius:2px}.k-rtl .k-dialog .k-dialog-buttongroup.k-dialog-button-layout-normal{text-align:left}.k-rtl .k-dialog .k-dialog-buttongroup.k-dialog-button-layout-normal .k-button{margin-left:0;margin-right:.5em}.k-rtl .k-dialog .k-dialog-buttongroup.k-dialog-button-layout-normal .k-button:first-child{margin-right:0}.k-numeric-wrap .k-i-warning{color:#ff3448;position:absolute;top:0;right:2.2em;width:2.2em}.k-numeric-wrap.k-state-invalid{border-color:#ff3448}.k-numeric-wrap.k-state-invalid input{color:#ff3448}.k-maskedtextbox.k-state-invalid .k-textbox{border-color:#ff3448;color:#ff3448}.k-maskedtextbox.k-state-invalid .k-i-warning{color:#ff3448}.k-dateinput.k-state-invalid .k-textbox{color:#ff3448;border-color:#ff3448}.k-dateinput.k-state-invalid .k-i-warning{margin-left:0;margin-right:.7em;color:#ff3448}.k-rtl .k-dateinput .k-i-warning{margin-right:0;margin-left:.7em}.k-datepicker .k-picker-wrap.k-state-invalid,.k-timepicker .k-picker-wrap.k-state-invalid{border-color:#ff3448}.k-datepicker .k-picker-wrap.k-state-invalid .k-input,.k-timepicker .k-picker-wrap.k-state-invalid .k-input{color:#ff3448}.k-datepicker .k-picker-wrap .k-i-warning,.k-timepicker .k-picker-wrap .k-i-warning{color:#ff3448;margin-left:0;margin-right:2.8em}.k-rtl .k-datepicker .k-picker-wrap .k-i-warning,.k-rtl .k-timepicker .k-picker-wrap .k-i-warning{margin-right:0;margin-left:2.8em}.k-datetimepicker .k-picker-wrap.k-state-invalid{border-color:#ff3448}.k-datetimepicker .k-picker-wrap.k-state-invalid .k-input{color:#ff3448}.k-datetimepicker .k-picker-wrap .k-i-warning{color:#ff3448;margin-left:0;margin-right:5.6em}.k-rtl .k-datetimepicker .k-picker-wrap .k-icon.k-i-warning{margin-right:0;margin-left:5.6em}.k-listbox .k-list-scroller{border-color:#e6e6e6;background-color:#fff}.k-listbox .k-item.k-state-selected,.k-listbox .k-item:hover:not(.k-state-disabled){background-color:#ebebeb;border-color:transparent}.k-listbox .k-button.k-state-disabled:hover .k-icon{opacity:.7}.k-listbox .k-drop-hint{height:0;border-top:1px solid #3f51b5}.k-item.k-state-selected.k-drag-clue{border-color:transparent;background-color:#ebebeb;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}.k-grid-header .k-i-sort-asc-sm,.k-grid-header .k-i-sort-desc-sm,.k-grid-header .k-sort-order{color:#3f51b5;opacity:1;margin-bottom:-1px}.k-menu-scroll-button{border-width:0;-webkit-box-shadow:none;box-shadow:none;border-color:#e6e6e6;color:#444;background-color:#fff}.k-menu-scroll-wrapper.horizontal .k-scroll-left{border-right-width:1px}.k-menu-scroll-wrapper.horizontal .k-scroll-right{border-left-width:1px}.k-menu-scroll-wrapper.vertical .k-scroll-up{border-bottom-width:1px}.k-menu-scroll-wrapper.vertical .k-scroll-down{border-top-width:1px}.k-toolbar{color:#444;border-color:#e6e6e6;background-color:#fafafa}.k-toolbar .k-button{border-radius:0}.k-toolbar .k-button,.k-toolbar .k-button-group{-webkit-box-shadow:none;box-shadow:none}.k-toolbar .k-overflow-anchor{border-color:#e6e6e6;border-left-color:transparent}.k-toolbar .k-overflow-anchor:hover{border-color:#e6e6e6}.k-toolbar .k-overflow-anchor.k-state-border-down,.k-toolbar .k-overflow-anchor:active{color:#000;background-color:#dbdbdb;border-color:#dbdbdb}.k-toolbar .k-split-button:focus{-webkit-box-shadow:none;box-shadow:none;background:#ebebeb}.k-toolbar .k-split-button:focus .k-split-button-arrow{border-left-color:#dbdbdb}.k-mediaplayer-toolbar{background:rgba(250,250,250,.85)}.k-editor .k-tool{color:inherit}.k-tool{border-color:transparent}.k-tool{text-align:center;vertical-align:middle}.k-editor .k-tool:focus{outline:0;border-color:#ebebeb;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 6px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.05)}@media screen and (-ms-high-contrast:active){.k-editor-toolbar-wrap .k-button-group .k-tool:focus,.k-editor-toolbar-wrap .k-dropdown-wrap.k-state-focused{border-color:#fff}}.k-editor-toolbar{color:#444}table.k-editor{border-color:#e6e6e6}.editorToolbarWindow.k-header,.k-editor.k-header,.k-filebrowser .k-header{color:#444;background-color:#f2f2f2;-webkit-box-shadow:none;box-shadow:none}.k-editor-toolbar .k-tool,.k-group-start.k-group-end.k-tool{border-color:#f2f2f2}.k-editor-toolbar .k-dropdown{-webkit-box-shadow:none;box-shadow:none}.k-editor-toolbar .k-dropdown-wrap.k-state-default,.k-toolbar .k-dropdown-wrap.k-state-default{border-color:#f2f2f2}.k-editor-toolbar .k-button-group .k-button.k-state-active,.k-editor-toolbar .k-dropdown-wrap.k-state-hover,.k-editor-toolbar .k-tool.k-state-hover,.k-editor-toolbar .k-tool.k-state-selected,.k-toolbar .k-button-group .k-button.k-state-active,.k-toolbar .k-dropdown-wrap.k-state-hover,.k-toolbar .k-tool.k-state-hover,.k-toolbar .k-tool.k-state-selected{-webkit-box-shadow:none;box-shadow:none}.k-editor .k-tool.k-state-hover,.k-editor .k-tool:hover{color:#444;border-color:#ebebeb;background-color:#ebebeb}.k-editor .k-tool.k-state-selected,.k-editor .k-tool:active{color:#000;background-color:#dbdbdb;border-color:#dbdbdb}\\r\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* Magnific Popup CSS */\\r\\n.mfp-bg {\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n z-index: 1042;\\r\\n overflow: hidden;\\r\\n position: fixed;\\r\\n background: #0b0b0b;\\r\\n opacity: 0.8; }\\r\\n\\r\\n.mfp-wrap {\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n z-index: 1043;\\r\\n position: fixed;\\r\\n outline: none !important;\\r\\n -webkit-backface-visibility: hidden; }\\r\\n\\r\\n.mfp-container {\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n left: 0;\\r\\n top: 0;\\r\\n padding: 0 8px;\\r\\n box-sizing: border-box; }\\r\\n\\r\\n.mfp-container:before {\\r\\n content: '';\\r\\n display: inline-block;\\r\\n height: 100%;\\r\\n vertical-align: middle; }\\r\\n\\r\\n.mfp-align-top .mfp-container:before {\\r\\n display: none; }\\r\\n\\r\\n.mfp-content {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n margin: 0 auto;\\r\\n text-align: left;\\r\\n z-index: 1045; }\\r\\n\\r\\n.mfp-inline-holder .mfp-content,\\r\\n.mfp-ajax-holder .mfp-content {\\r\\n width: 100%;\\r\\n cursor: auto; }\\r\\n\\r\\n.mfp-ajax-cur {\\r\\n cursor: progress; }\\r\\n\\r\\n.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {\\r\\n cursor: -moz-zoom-out;\\r\\n cursor: -webkit-zoom-out;\\r\\n cursor: zoom-out; }\\r\\n\\r\\n.mfp-zoom {\\r\\n cursor: pointer;\\r\\n cursor: -webkit-zoom-in;\\r\\n cursor: -moz-zoom-in;\\r\\n cursor: zoom-in; }\\r\\n\\r\\n.mfp-auto-cursor .mfp-content {\\r\\n cursor: auto; }\\r\\n\\r\\n.mfp-close,\\r\\n.mfp-arrow,\\r\\n.mfp-preloader,\\r\\n.mfp-counter {\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n user-select: none; }\\r\\n\\r\\n.mfp-loading.mfp-figure {\\r\\n display: none; }\\r\\n\\r\\n.mfp-hide {\\r\\n display: none !important; }\\r\\n\\r\\n.mfp-preloader {\\r\\n color: #CCC;\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n width: auto;\\r\\n text-align: center;\\r\\n margin-top: -0.8em;\\r\\n left: 8px;\\r\\n right: 8px;\\r\\n z-index: 1044; }\\r\\n .mfp-preloader a {\\r\\n color: #CCC; }\\r\\n .mfp-preloader a:hover {\\r\\n color: #FFF; }\\r\\n\\r\\n.mfp-s-ready .mfp-preloader {\\r\\n display: none; }\\r\\n\\r\\n.mfp-s-error .mfp-content {\\r\\n display: none; }\\r\\n\\r\\nbutton.mfp-close,\\r\\nbutton.mfp-arrow {\\r\\n overflow: visible;\\r\\n cursor: pointer;\\r\\n background: transparent;\\r\\n border: 0;\\r\\n -webkit-appearance: none;\\r\\n display: block;\\r\\n outline: none;\\r\\n padding: 0;\\r\\n z-index: 1046;\\r\\n box-shadow: none;\\r\\n touch-action: manipulation; }\\r\\n\\r\\nbutton::-moz-focus-inner {\\r\\n padding: 0;\\r\\n border: 0; }\\r\\n\\r\\n.mfp-close {\\r\\n width: 44px;\\r\\n height: 44px;\\r\\n line-height: 44px;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n text-decoration: none;\\r\\n text-align: center;\\r\\n opacity: 0.65;\\r\\n padding: 0 0 18px 10px;\\r\\n color: #FFF;\\r\\n font-style: normal;\\r\\n font-size: 28px;\\r\\n font-family: Arial, Baskerville, monospace; }\\r\\n .mfp-close:hover,\\r\\n .mfp-close:focus {\\r\\n opacity: 1; }\\r\\n .mfp-close:active {\\r\\n top: 1px; }\\r\\n\\r\\n.mfp-close-btn-in .mfp-close {\\r\\n color: #333; }\\r\\n\\r\\n.mfp-image-holder .mfp-close,\\r\\n.mfp-iframe-holder .mfp-close {\\r\\n color: #FFF;\\r\\n right: -6px;\\r\\n text-align: right;\\r\\n padding-right: 6px;\\r\\n width: 100%; }\\r\\n\\r\\n.mfp-counter {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n color: #CCC;\\r\\n font-size: 12px;\\r\\n line-height: 18px;\\r\\n white-space: nowrap; }\\r\\n\\r\\n.mfp-arrow {\\r\\n position: absolute;\\r\\n opacity: 0.65;\\r\\n margin: 0;\\r\\n top: 50%;\\r\\n margin-top: -55px;\\r\\n padding: 0;\\r\\n width: 90px;\\r\\n height: 110px;\\r\\n -webkit-tap-highlight-color: transparent; }\\r\\n .mfp-arrow:active {\\r\\n margin-top: -54px; }\\r\\n .mfp-arrow:hover,\\r\\n .mfp-arrow:focus {\\r\\n opacity: 1; }\\r\\n .mfp-arrow:before,\\r\\n .mfp-arrow:after {\\r\\n content: '';\\r\\n display: block;\\r\\n width: 0;\\r\\n height: 0;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n margin-top: 35px;\\r\\n margin-left: 35px;\\r\\n border: medium inset transparent; }\\r\\n .mfp-arrow:after {\\r\\n border-top-width: 13px;\\r\\n border-bottom-width: 13px;\\r\\n top: 8px; }\\r\\n .mfp-arrow:before {\\r\\n border-top-width: 21px;\\r\\n border-bottom-width: 21px;\\r\\n opacity: 0.7; }\\r\\n\\r\\n.mfp-arrow-left {\\r\\n left: 0; }\\r\\n .mfp-arrow-left:after {\\r\\n border-right: 17px solid #FFF;\\r\\n margin-left: 31px; }\\r\\n .mfp-arrow-left:before {\\r\\n margin-left: 25px;\\r\\n border-right: 27px solid #3F3F3F; }\\r\\n\\r\\n.mfp-arrow-right {\\r\\n right: 0; }\\r\\n .mfp-arrow-right:after {\\r\\n border-left: 17px solid #FFF;\\r\\n margin-left: 39px; }\\r\\n .mfp-arrow-right:before {\\r\\n border-left: 27px solid #3F3F3F; }\\r\\n\\r\\n.mfp-iframe-holder {\\r\\n padding-top: 40px;\\r\\n padding-bottom: 40px; }\\r\\n .mfp-iframe-holder .mfp-content {\\r\\n line-height: 0;\\r\\n width: 100%;\\r\\n max-width: 900px; }\\r\\n .mfp-iframe-holder .mfp-close {\\r\\n top: -40px; }\\r\\n\\r\\n.mfp-iframe-scaler {\\r\\n width: 100%;\\r\\n height: 0;\\r\\n overflow: hidden;\\r\\n padding-top: 56.25%; }\\r\\n .mfp-iframe-scaler iframe {\\r\\n position: absolute;\\r\\n display: block;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);\\r\\n background: #000; }\\r\\n\\r\\n/* Main image in popup */\\r\\nimg.mfp-img {\\r\\n width: auto;\\r\\n max-width: 100%;\\r\\n height: auto;\\r\\n display: block;\\r\\n line-height: 0;\\r\\n box-sizing: border-box;\\r\\n padding: 40px 0 40px;\\r\\n margin: 0 auto; }\\r\\n\\r\\n/* The shadow behind the image */\\r\\n.mfp-figure {\\r\\n line-height: 0; }\\r\\n .mfp-figure:after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 40px;\\r\\n bottom: 40px;\\r\\n display: block;\\r\\n right: 0;\\r\\n width: auto;\\r\\n height: auto;\\r\\n z-index: -1;\\r\\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);\\r\\n background: #444; }\\r\\n .mfp-figure small {\\r\\n color: #BDBDBD;\\r\\n display: block;\\r\\n font-size: 12px;\\r\\n line-height: 14px; }\\r\\n .mfp-figure figure {\\r\\n margin: 0; }\\r\\n\\r\\n.mfp-bottom-bar {\\r\\n margin-top: -36px;\\r\\n position: absolute;\\r\\n top: 100%;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n cursor: auto; }\\r\\n\\r\\n.mfp-title {\\r\\n text-align: left;\\r\\n line-height: 18px;\\r\\n color: #F3F3F3;\\r\\n word-wrap: break-word;\\r\\n padding-right: 36px; }\\r\\n\\r\\n.mfp-image-holder .mfp-content {\\r\\n max-width: 100%; }\\r\\n\\r\\n.mfp-gallery .mfp-image-holder .mfp-figure {\\r\\n cursor: pointer; }\\r\\n\\r\\n@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {\\r\\n /**\\r\\n * Remove all paddings around the image on small screen\\r\\n */\\r\\n .mfp-img-mobile .mfp-image-holder {\\r\\n padding-left: 0;\\r\\n padding-right: 0; }\\r\\n .mfp-img-mobile img.mfp-img {\\r\\n padding: 0; }\\r\\n .mfp-img-mobile .mfp-figure:after {\\r\\n top: 0;\\r\\n bottom: 0; }\\r\\n .mfp-img-mobile .mfp-figure small {\\r\\n display: inline;\\r\\n margin-left: 5px; }\\r\\n .mfp-img-mobile .mfp-bottom-bar {\\r\\n background: rgba(0, 0, 0, 0.6);\\r\\n bottom: 0;\\r\\n margin: 0;\\r\\n top: auto;\\r\\n padding: 3px 5px;\\r\\n position: fixed;\\r\\n box-sizing: border-box; }\\r\\n .mfp-img-mobile .mfp-bottom-bar:empty {\\r\\n padding: 0; }\\r\\n .mfp-img-mobile .mfp-counter {\\r\\n right: 5px;\\r\\n top: 3px; }\\r\\n .mfp-img-mobile .mfp-close {\\r\\n top: 0;\\r\\n right: 0;\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n line-height: 35px;\\r\\n background: rgba(0, 0, 0, 0.6);\\r\\n position: fixed;\\r\\n text-align: center;\\r\\n padding: 0; } }\\r\\n\\r\\n@media all and (max-width: 900px) {\\r\\n .mfp-arrow {\\r\\n -webkit-transform: scale(0.75);\\r\\n transform: scale(0.75); }\\r\\n .mfp-arrow-left {\\r\\n -webkit-transform-origin: 0;\\r\\n transform-origin: 0; }\\r\\n .mfp-arrow-right {\\r\\n -webkit-transform-origin: 100%;\\r\\n transform-origin: 100%; }\\r\\n .mfp-container {\\r\\n padding-left: 6px;\\r\\n padding-right: 6px; } }\\r\\n\", \"\"]);\n\n// exports\n","var escape = require(\"../../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/**\\n * Owl Carousel v2.2.1\\n * Copyright 2013-2017 David Deutsch\\n * Licensed under ()\\n */\\n/*\\n * Owl Carousel - Core\\n */\\n.owl-carousel {\\n display: none;\\n width: 100%;\\n -webkit-tap-highlight-color: transparent;\\n /* position relative and z-index fix webkit rendering fonts issue */\\n position: relative;\\n z-index: 1; }\\n .owl-carousel .owl-stage {\\n position: relative;\\n -ms-touch-action: pan-Y;\\n -moz-backface-visibility: hidden;\\n /* fix firefox animation glitch */ }\\n .owl-carousel .owl-stage:after {\\n content: \\\".\\\";\\n display: block;\\n clear: both;\\n visibility: hidden;\\n line-height: 0;\\n height: 0; }\\n .owl-carousel .owl-stage-outer {\\n position: relative;\\n overflow: hidden;\\n /* fix for flashing background */\\n -webkit-transform: translate3d(0px, 0px, 0px); }\\n .owl-carousel .owl-wrapper,\\n .owl-carousel .owl-item {\\n -webkit-backface-visibility: hidden;\\n -moz-backface-visibility: hidden;\\n -ms-backface-visibility: hidden;\\n -webkit-transform: translate3d(0, 0, 0);\\n -moz-transform: translate3d(0, 0, 0);\\n -ms-transform: translate3d(0, 0, 0); }\\n .owl-carousel .owl-item {\\n position: relative;\\n min-height: 1px;\\n float: left;\\n -webkit-backface-visibility: hidden;\\n -webkit-tap-highlight-color: transparent;\\n -webkit-touch-callout: none; }\\n .owl-carousel .owl-item img {\\n display: block;\\n width: 100%; }\\n .owl-carousel .owl-nav.disabled,\\n .owl-carousel .owl-dots.disabled {\\n display: none; }\\n .owl-carousel .owl-nav .owl-prev,\\n .owl-carousel .owl-nav .owl-next,\\n .owl-carousel .owl-dot {\\n cursor: pointer;\\n cursor: hand;\\n -webkit-user-select: none;\\n -khtml-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n .owl-carousel.owl-loaded {\\n display: block; }\\n .owl-carousel.owl-loading {\\n opacity: 0;\\n display: block; }\\n .owl-carousel.owl-hidden {\\n opacity: 0; }\\n .owl-carousel.owl-refresh .owl-item {\\n visibility: hidden; }\\n .owl-carousel.owl-drag .owl-item {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n .owl-carousel.owl-grab {\\n cursor: move;\\n cursor: grab; }\\n .owl-carousel.owl-rtl {\\n direction: rtl; }\\n .owl-carousel.owl-rtl .owl-item {\\n float: right; }\\n\\n/* No Js */\\n.no-js .owl-carousel {\\n display: block; }\\n\\n/*\\n * Owl Carousel - Animate Plugin\\n */\\n.owl-carousel .animated {\\n animation-duration: 1000ms;\\n animation-fill-mode: both; }\\n\\n.owl-carousel .owl-animated-in {\\n z-index: 0; }\\n\\n.owl-carousel .owl-animated-out {\\n z-index: 1; }\\n\\n.owl-carousel .fadeOut {\\n animation-name: fadeOut; }\\n\\n@keyframes fadeOut {\\n 0% {\\n opacity: 1; }\\n 100% {\\n opacity: 0; } }\\n\\n/*\\n * \\tOwl Carousel - Auto Height Plugin\\n */\\n.owl-height {\\n transition: height 500ms ease-in-out; }\\n\\n/*\\n * \\tOwl Carousel - Lazy Load Plugin\\n */\\n.owl-carousel .owl-item .owl-lazy {\\n opacity: 0;\\n transition: opacity 400ms ease; }\\n\\n.owl-carousel .owl-item img.owl-lazy {\\n transform-style: preserve-3d; }\\n\\n/*\\n * \\tOwl Carousel - Video Plugin\\n */\\n.owl-carousel .owl-video-wrapper {\\n position: relative;\\n height: 100%;\\n background: #000; }\\n\\n.owl-carousel .owl-video-play-icon {\\n position: absolute;\\n height: 80px;\\n width: 80px;\\n left: 50%;\\n top: 50%;\\n margin-left: -40px;\\n margin-top: -40px;\\n background: url(\" + escape(require(\"./owl.video.play.png\")) + \") no-repeat;\\n cursor: pointer;\\n z-index: 1;\\n -webkit-backface-visibility: hidden;\\n transition: transform 100ms ease; }\\n\\n.owl-carousel .owl-video-play-icon:hover {\\n -ms-transform: scale(1.3, 1.3);\\n transform: scale(1.3, 1.3); }\\n\\n.owl-carousel .owl-video-playing .owl-video-tn,\\n.owl-carousel .owl-video-playing .owl-video-play-icon {\\n display: none; }\\n\\n.owl-carousel .owl-video-tn {\\n opacity: 0;\\n height: 100%;\\n background-position: center center;\\n background-repeat: no-repeat;\\n background-size: contain;\\n transition: opacity 400ms ease; }\\n\\n.owl-carousel .owl-video-frame {\\n position: relative;\\n z-index: 1;\\n height: 100%;\\n width: 100%; }\\n\\n \\n \\n\", \"\"]);\n\n// exports\n","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/*\\r\\n* \\tOwl Carousel Owl Demo Theme \\r\\n*\\tv1.3.2\\r\\n*/\\r\\n\\r\\n.owl-theme .owl-controls{\\r\\n\\tmargin-top: 10px;\\r\\n\\ttext-align: center;\\r\\n}\\r\\n\\r\\n/* Styling Next and Prev buttons */\\r\\n\\r\\n.owl-theme .owl-controls .owl-buttons div{\\r\\n\\tcolor: #FFF;\\r\\n\\tdisplay: inline-block;\\r\\n\\tzoom: 1;\\r\\n\\t*display: inline;/*IE7 life-saver */\\r\\n\\tmargin: 5px;\\r\\n\\tpadding: 3px 10px;\\r\\n\\tfont-size: 12px;\\r\\n\\t-webkit-border-radius: 30px;\\r\\n\\t-moz-border-radius: 30px;\\r\\n\\tborder-radius: 30px;\\r\\n\\tbackground: #869791;\\r\\n\\tfilter: Alpha(Opacity=50);/*IE7 fix*/\\r\\n\\topacity: 0.5;\\r\\n}\\r\\n/* Clickable class fix problem with hover on touch devices */\\r\\n/* Use it for non-touch hover action */\\r\\n.owl-theme .owl-controls.clickable .owl-buttons div:hover{\\r\\n\\tfilter: Alpha(Opacity=100);/*IE7 fix*/\\r\\n\\topacity: 1;\\r\\n\\ttext-decoration: none;\\r\\n}\\r\\n\\r\\n/* Styling Pagination*/\\r\\n\\r\\n.owl-theme .owl-controls .owl-page{\\r\\n\\tdisplay: inline-block;\\r\\n\\tzoom: 1;\\r\\n\\t*display: inline;/*IE7 life-saver */\\r\\n}\\r\\n.owl-theme .owl-controls .owl-page span{\\r\\n\\tdisplay: block;\\r\\n\\twidth: 12px;\\r\\n\\theight: 12px;\\r\\n\\tmargin: 5px 7px;\\r\\n\\tfilter: Alpha(Opacity=50);/*IE7 fix*/\\r\\n\\topacity: 0.5;\\r\\n\\t-webkit-border-radius: 20px;\\r\\n\\t-moz-border-radius: 20px;\\r\\n\\tborder-radius: 20px;\\r\\n\\tbackground: #869791;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-controls .owl-page.active span,\\r\\n.owl-theme .owl-controls.clickable .owl-page:hover span{\\r\\n\\tfilter: Alpha(Opacity=100);/*IE7 fix*/\\r\\n\\topacity: 1;\\r\\n}\\r\\n\\r\\n/* If PaginationNumbers is true */\\r\\n\\r\\n.owl-theme .owl-controls .owl-page span.owl-numbers{\\r\\n\\theight: auto;\\r\\n\\twidth: auto;\\r\\n\\tcolor: #FFF;\\r\\n\\tpadding: 2px 10px;\\r\\n\\tfont-size: 12px;\\r\\n\\t-webkit-border-radius: 30px;\\r\\n\\t-moz-border-radius: 30px;\\r\\n\\tborder-radius: 30px;\\r\\n}\\r\\n\\r\\n/* preloading images */\\r\\n.owl-item.loading{\\r\\n\\tmin-height: 150px;\\r\\n\\tbackground: url(\" + escape(require(\"./AjaxLoader.gif\")) + \") no-repeat center center\\r\\n}\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* \\r\\n * Owl Carousel CSS3 Transitions \\r\\n * v1.3.2\\r\\n */\\r\\n\\r\\n.owl-origin {\\r\\n\\t-webkit-perspective: 1200px;\\r\\n\\t-webkit-perspective-origin-x : 50%;\\r\\n\\t-webkit-perspective-origin-y : 50%;\\r\\n\\t-moz-perspective : 1200px;\\r\\n\\t-moz-perspective-origin-x : 50%;\\r\\n\\t-moz-perspective-origin-y : 50%;\\r\\n\\tperspective : 1200px;\\r\\n}\\r\\n/* fade */\\r\\n.owl-fade-out {\\r\\n z-index: 10;\\r\\n -webkit-animation: fadeOut .7s both ease;\\r\\n -moz-animation: fadeOut .7s both ease;\\r\\n animation: fadeOut .7s both ease;\\r\\n}\\r\\n.owl-fade-in {\\r\\n -webkit-animation: fadeIn .7s both ease;\\r\\n -moz-animation: fadeIn .7s both ease;\\r\\n animation: fadeIn .7s both ease;\\r\\n}\\r\\n/* backSlide */\\r\\n.owl-backSlide-out {\\r\\n -webkit-animation: backSlideOut 1s both ease;\\r\\n -moz-animation: backSlideOut 1s both ease;\\r\\n animation: backSlideOut 1s both ease;\\r\\n}\\r\\n.owl-backSlide-in {\\r\\n -webkit-animation: backSlideIn 1s both ease;\\r\\n -moz-animation: backSlideIn 1s both ease;\\r\\n animation: backSlideIn 1s both ease;\\r\\n}\\r\\n/* goDown */\\r\\n.owl-goDown-out {\\r\\n -webkit-animation: scaleToFade .7s ease both;\\r\\n -moz-animation: scaleToFade .7s ease both;\\r\\n animation: scaleToFade .7s ease both;\\r\\n}\\r\\n.owl-goDown-in {\\r\\n -webkit-animation: goDown .6s ease both;\\r\\n -moz-animation: goDown .6s ease both;\\r\\n animation: goDown .6s ease both;\\r\\n}\\r\\n/* scaleUp */\\r\\n.owl-fadeUp-in {\\r\\n -webkit-animation: scaleUpFrom .5s ease both;\\r\\n -moz-animation: scaleUpFrom .5s ease both;\\r\\n animation: scaleUpFrom .5s ease both;\\r\\n}\\r\\n\\r\\n.owl-fadeUp-out {\\r\\n -webkit-animation: scaleUpTo .5s ease both;\\r\\n -moz-animation: scaleUpTo .5s ease both;\\r\\n animation: scaleUpTo .5s ease both;\\r\\n}\\r\\n/* Keyframes */\\r\\n/*empty*/\\r\\n@-webkit-keyframes empty {\\r\\n 0% {opacity: 1}\\r\\n}\\r\\n@-moz-keyframes empty {\\r\\n 0% {opacity: 1}\\r\\n}\\r\\n@keyframes empty {\\r\\n 0% {opacity: 1}\\r\\n}\\r\\n@-webkit-keyframes fadeIn {\\r\\n 0% { opacity:0; }\\r\\n 100% { opacity:1; }\\r\\n}\\r\\n@-moz-keyframes fadeIn {\\r\\n 0% { opacity:0; }\\r\\n 100% { opacity:1; }\\r\\n}\\r\\n@keyframes fadeIn {\\r\\n 0% { opacity:0; }\\r\\n 100% { opacity:1; }\\r\\n}\\r\\n@-webkit-keyframes fadeOut {\\r\\n 0% { opacity:1; }\\r\\n 100% { opacity:0; }\\r\\n}\\r\\n@-moz-keyframes fadeOut {\\r\\n 0% { opacity:1; }\\r\\n 100% { opacity:0; }\\r\\n}\\r\\n@keyframes fadeOut {\\r\\n 0% { opacity:1; }\\r\\n 100% { opacity:0; }\\r\\n}\\r\\n@-webkit-keyframes backSlideOut {\\r\\n 25% { opacity: .5; -webkit-transform: translateZ(-500px); }\\r\\n 75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }\\r\\n 100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }\\r\\n}\\r\\n@-moz-keyframes backSlideOut {\\r\\n 25% { opacity: .5; -moz-transform: translateZ(-500px); }\\r\\n 75% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }\\r\\n 100% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }\\r\\n}\\r\\n@keyframes backSlideOut {\\r\\n 25% { opacity: .5; transform: translateZ(-500px); }\\r\\n 75% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }\\r\\n 100% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }\\r\\n}\\r\\n@-webkit-keyframes backSlideIn {\\r\\n 0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); }\\r\\n 75% { opacity: .5; -webkit-transform: translateZ(-500px); }\\r\\n 100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); }\\r\\n}\\r\\n@-moz-keyframes backSlideIn {\\r\\n 0%, 25% { opacity: .5; -moz-transform: translateZ(-500px) translateX(200%); }\\r\\n 75% { opacity: .5; -moz-transform: translateZ(-500px); }\\r\\n 100% { opacity: 1; -moz-transform: translateZ(0) translateX(0); }\\r\\n}\\r\\n@keyframes backSlideIn {\\r\\n 0%, 25% { opacity: .5; transform: translateZ(-500px) translateX(200%); }\\r\\n 75% { opacity: .5; transform: translateZ(-500px); }\\r\\n 100% { opacity: 1; transform: translateZ(0) translateX(0); }\\r\\n}\\r\\n@-webkit-keyframes scaleToFade {\\r\\n to { opacity: 0; -webkit-transform: scale(.8); }\\r\\n}\\r\\n@-moz-keyframes scaleToFade {\\r\\n to { opacity: 0; -moz-transform: scale(.8); }\\r\\n}\\r\\n@keyframes scaleToFade {\\r\\n to { opacity: 0; transform: scale(.8); }\\r\\n}\\r\\n@-webkit-keyframes goDown {\\r\\n from { -webkit-transform: translateY(-100%); }\\r\\n}\\r\\n@-moz-keyframes goDown {\\r\\n from { -moz-transform: translateY(-100%); }\\r\\n}\\r\\n@keyframes goDown {\\r\\n from { transform: translateY(-100%); }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes scaleUpFrom {\\r\\n from { opacity: 0; -webkit-transform: scale(1.5); }\\r\\n}\\r\\n@-moz-keyframes scaleUpFrom {\\r\\n from { opacity: 0; -moz-transform: scale(1.5); }\\r\\n}\\r\\n@keyframes scaleUpFrom {\\r\\n from { opacity: 0; transform: scale(1.5); }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes scaleUpTo {\\r\\n to { opacity: 0; -webkit-transform: scale(1.5); }\\r\\n}\\r\\n@-moz-keyframes scaleUpTo {\\r\\n to { opacity: 0; -moz-transform: scale(1.5); }\\r\\n}\\r\\n@keyframes scaleUpTo {\\r\\n to { opacity: 0; transform: scale(1.5); }\\r\\n}\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before {\\r\\n display: none; }\\r\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before {\\r\\n display: none; }\\r\\n\\r\\n.shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before {\\r\\n box-sizing: border-box; }\\r\\n\\r\\n.shepherd-element {\\r\\n position: absolute;\\r\\n display: none; }\\r\\n .shepherd-element.shepherd-open {\\r\\n display: block; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows-plain-buttons {\\r\\n max-width: 100%;\\r\\n max-height: 100%; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content {\\r\\n border-radius: 5px;\\r\\n position: relative;\\r\\n font-family: inherit;\\r\\n background: #fff;\\r\\n color: #444;\\r\\n padding: 1em;\\r\\n font-size: 1.1em;\\r\\n line-height: 1.5em;\\r\\n -webkit-transform: translateZ(0);\\r\\n transform: translateZ(0);\\r\\n -webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));\\r\\n filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content:before {\\r\\n content: \\\"\\\";\\r\\n display: block;\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n border-color: transparent;\\r\\n border-width: 16px;\\r\\n border-style: solid;\\r\\n pointer-events: none; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before {\\r\\n left: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-left-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before {\\r\\n right: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-right-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content {\\r\\n left: -32px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content {\\r\\n left: 32px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n top: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n top: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #fff; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before {\\r\\n border-bottom-color: #eee; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header {\\r\\n background: #eee;\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link {\\r\\n padding: 0;\\r\\n margin-bottom: 0; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-cancel-link .shepherd-content header h3 {\\r\\n float: left; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content {\\r\\n padding: 0; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header {\\r\\n *zoom: 1;\\r\\n border-radius: 5px 5px 0 0; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header h3 {\\r\\n margin: 0;\\r\\n line-height: 1;\\r\\n font-weight: normal; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header a.shepherd-cancel-link {\\r\\n float: right;\\r\\n text-decoration: none;\\r\\n font-size: 1.25em;\\r\\n line-height: .8em;\\r\\n font-weight: normal;\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n opacity: 0.25;\\r\\n position: relative;\\r\\n top: .1em;\\r\\n padding: .8em;\\r\\n margin-bottom: -.8em; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header a.shepherd-cancel-link:hover {\\r\\n opacity: 1; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text {\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p {\\r\\n margin: 0 0 .5em 0;\\r\\n line-height: 1.3em; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p:last-child {\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer {\\r\\n padding: 0 1em 1em; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons {\\r\\n text-align: right;\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li {\\r\\n display: inline;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n cursor: pointer;\\r\\n margin: 0 .5em 0 0;\\r\\n text-decoration: none; }\\r\\n .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button {\\r\\n margin-right: 0; }\\r\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before {\\r\\n display: none; }\\r\\n\\r\\n.shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before {\\r\\n box-sizing: border-box; }\\r\\n\\r\\n.shepherd-element {\\r\\n position: absolute;\\r\\n display: none; }\\r\\n .shepherd-element.shepherd-open {\\r\\n display: block; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows {\\r\\n max-width: 100%;\\r\\n max-height: 100%; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content {\\r\\n border-radius: 5px;\\r\\n position: relative;\\r\\n font-family: inherit;\\r\\n background: #fff;\\r\\n color: #444;\\r\\n padding: 1em;\\r\\n font-size: 1.1em;\\r\\n line-height: 1.5em;\\r\\n -webkit-transform: translateZ(0);\\r\\n transform: translateZ(0);\\r\\n -webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));\\r\\n filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content:before {\\r\\n content: \\\"\\\";\\r\\n display: block;\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n border-color: transparent;\\r\\n border-width: 16px;\\r\\n border-style: solid;\\r\\n pointer-events: none; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before {\\r\\n left: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-left-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before {\\r\\n right: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-right-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content {\\r\\n left: -32px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content {\\r\\n left: 32px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n top: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n top: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #fff; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before {\\r\\n border-bottom-color: #eee; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows.shepherd-has-title .shepherd-content header {\\r\\n background: #eee;\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-arrows.shepherd-has-title .shepherd-content header a.shepherd-cancel-link {\\r\\n padding: 0;\\r\\n margin-bottom: 0; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows.shepherd-has-cancel-link .shepherd-content header h3 {\\r\\n float: left; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-arrows .shepherd-content {\\r\\n padding: 0; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content * {\\r\\n font-size: inherit; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content header {\\r\\n *zoom: 1;\\r\\n border-radius: 5px 5px 0 0; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content header:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content header h3 {\\r\\n margin: 0;\\r\\n line-height: 1;\\r\\n font-weight: normal; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content header a.shepherd-cancel-link {\\r\\n float: right;\\r\\n text-decoration: none;\\r\\n font-size: 1.25em;\\r\\n line-height: .8em;\\r\\n font-weight: normal;\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n opacity: 0.25;\\r\\n position: relative;\\r\\n top: .1em;\\r\\n padding: .8em;\\r\\n margin-bottom: -.8em; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content header a.shepherd-cancel-link:hover {\\r\\n opacity: 1; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content .shepherd-text {\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content .shepherd-text p {\\r\\n margin: 0 0 .5em 0;\\r\\n line-height: 1.3em; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content .shepherd-text p:last-child {\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content footer {\\r\\n padding: 0 1em 1em; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons {\\r\\n text-align: right;\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li {\\r\\n display: inline;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li .shepherd-button {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n border-radius: 3px;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n margin: 0 .5em 0 0;\\r\\n font-family: inherit;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: .1em;\\r\\n font-size: .8em;\\r\\n line-height: 1em;\\r\\n padding: .75em 2em;\\r\\n background: #3288e6;\\r\\n color: #fff; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary {\\r\\n background: #eee;\\r\\n color: #888; }\\r\\n .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button {\\r\\n margin-right: 0; }\\r\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before {\\r\\n display: none; }\\r\\n\\r\\n.shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before {\\r\\n box-sizing: border-box; }\\r\\n\\r\\n.shepherd-element {\\r\\n position: absolute;\\r\\n display: none; }\\r\\n .shepherd-element.shepherd-open {\\r\\n display: block; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-dark {\\r\\n max-width: 100%;\\r\\n max-height: 100%; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content {\\r\\n border-radius: 5px;\\r\\n position: relative;\\r\\n font-family: inherit;\\r\\n background: #232323;\\r\\n color: #eee;\\r\\n padding: 1em;\\r\\n font-size: 1.1em;\\r\\n line-height: 1.5em; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content:before {\\r\\n content: \\\"\\\";\\r\\n display: block;\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n border-color: transparent;\\r\\n border-width: 16px;\\r\\n border-style: solid;\\r\\n pointer-events: none; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before {\\r\\n left: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-left-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before {\\r\\n right: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-right-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content {\\r\\n left: -32px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content {\\r\\n left: 32px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n top: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n top: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #232323; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-dark {\\r\\n z-index: 9999;\\r\\n max-width: 24em;\\r\\n font-size: 1em; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before {\\r\\n border-bottom-color: #303030; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-has-title .shepherd-content header {\\r\\n background: #303030;\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-has-title .shepherd-content header a.shepherd-cancel-link {\\r\\n padding: 0;\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-dark.shepherd-has-cancel-link .shepherd-content header h3 {\\r\\n float: left; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content {\\r\\n box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);\\r\\n padding: 0; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content * {\\r\\n font-size: inherit; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content header {\\r\\n *zoom: 1;\\r\\n border-radius: 5px 5px 0 0; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content header:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content header h3 {\\r\\n margin: 0;\\r\\n line-height: 1;\\r\\n font-weight: normal; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content header a.shepherd-cancel-link {\\r\\n float: right;\\r\\n text-decoration: none;\\r\\n font-size: 1.25em;\\r\\n line-height: .8em;\\r\\n font-weight: normal;\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n opacity: 0.25;\\r\\n position: relative;\\r\\n top: .1em;\\r\\n padding: .8em;\\r\\n margin-bottom: -.8em; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content header a.shepherd-cancel-link:hover {\\r\\n opacity: 1; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text {\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text p {\\r\\n margin: 0 0 .5em 0;\\r\\n line-height: 1.3em; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text p:last-child {\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content footer {\\r\\n padding: 0 1em 1em; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons {\\r\\n text-align: right;\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li {\\r\\n display: inline;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li .shepherd-button {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n border-radius: 3px;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n margin: 0 .5em 0 0;\\r\\n font-family: inherit;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: .1em;\\r\\n font-size: .8em;\\r\\n line-height: 1em;\\r\\n padding: .75em 2em;\\r\\n background: #3288e6;\\r\\n color: #fff; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary {\\r\\n background: #eee;\\r\\n color: #888; }\\r\\n .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button {\\r\\n margin-right: 0; }\\r\\n\\r\\n.shepherd-start-tour-button.shepherd-theme-dark {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n border-radius: 3px;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n margin: 0 .5em 0 0;\\r\\n font-family: inherit;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: .1em;\\r\\n font-size: .8em;\\r\\n line-height: 1em;\\r\\n padding: .75em 2em;\\r\\n background: #3288e6;\\r\\n color: #fff; }\\r\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before {\\r\\n display: none; }\\r\\n\\r\\n.shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before {\\r\\n box-sizing: border-box; }\\r\\n\\r\\n.shepherd-element {\\r\\n position: absolute;\\r\\n display: none; }\\r\\n .shepherd-element.shepherd-open {\\r\\n display: block; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-default {\\r\\n max-width: 100%;\\r\\n max-height: 100%; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content {\\r\\n border-radius: 5px;\\r\\n position: relative;\\r\\n font-family: inherit;\\r\\n background: #f6f6f6;\\r\\n color: #444;\\r\\n padding: 1em;\\r\\n font-size: 1.1em;\\r\\n line-height: 1.5em; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content:before {\\r\\n content: \\\"\\\";\\r\\n display: block;\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n border-color: transparent;\\r\\n border-width: 16px;\\r\\n border-style: solid;\\r\\n pointer-events: none; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before {\\r\\n left: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-left-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before {\\r\\n right: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-right-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content {\\r\\n left: -32px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content {\\r\\n left: 32px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n top: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n top: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #f6f6f6; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-default {\\r\\n z-index: 9999;\\r\\n max-width: 24em;\\r\\n font-size: 1em; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before {\\r\\n border-bottom-color: #e6e6e6; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-has-title .shepherd-content header {\\r\\n background: #e6e6e6;\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-has-title .shepherd-content header a.shepherd-cancel-link {\\r\\n padding: 0;\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-default.shepherd-has-cancel-link .shepherd-content header h3 {\\r\\n float: left; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content {\\r\\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.17);\\r\\n padding: 0; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content * {\\r\\n font-size: inherit; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content header {\\r\\n *zoom: 1;\\r\\n border-radius: 5px 5px 0 0; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content header:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content header h3 {\\r\\n margin: 0;\\r\\n line-height: 1;\\r\\n font-weight: normal; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content header a.shepherd-cancel-link {\\r\\n float: right;\\r\\n text-decoration: none;\\r\\n font-size: 1.25em;\\r\\n line-height: .8em;\\r\\n font-weight: normal;\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n opacity: 0.25;\\r\\n position: relative;\\r\\n top: .1em;\\r\\n padding: .8em;\\r\\n margin-bottom: -.8em; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content header a.shepherd-cancel-link:hover {\\r\\n opacity: 1; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text {\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text p {\\r\\n margin: 0 0 .5em 0;\\r\\n line-height: 1.3em; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text p:last-child {\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content footer {\\r\\n padding: 0 1em 1em; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons {\\r\\n text-align: right;\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li {\\r\\n display: inline;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li .shepherd-button {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n border-radius: 3px;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n margin: 0 .5em 0 0;\\r\\n font-family: inherit;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: .1em;\\r\\n font-size: .8em;\\r\\n line-height: 1em;\\r\\n padding: .75em 2em;\\r\\n background: #3288e6;\\r\\n color: #fff; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary {\\r\\n background: #eee;\\r\\n color: #888; }\\r\\n .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button {\\r\\n margin-right: 0; }\\r\\n\\r\\n.shepherd-start-tour-button.shepherd-theme-default {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n border-radius: 3px;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n margin: 0 .5em 0 0;\\r\\n font-family: inherit;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: .1em;\\r\\n font-size: .8em;\\r\\n line-height: 1em;\\r\\n padding: .75em 2em;\\r\\n background: #3288e6;\\r\\n color: #fff; }\\r\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before {\\r\\n display: none; }\\r\\n\\r\\n.shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before {\\r\\n box-sizing: border-box; }\\r\\n\\r\\n.shepherd-element {\\r\\n position: absolute;\\r\\n display: none; }\\r\\n .shepherd-element.shepherd-open {\\r\\n display: block; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-square-dark {\\r\\n max-width: 100%;\\r\\n max-height: 100%; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content {\\r\\n border-radius: 5px;\\r\\n position: relative;\\r\\n font-family: inherit;\\r\\n background: #232323;\\r\\n color: #eee;\\r\\n padding: 1em;\\r\\n font-size: 1.1em;\\r\\n line-height: 1.5em; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content:before {\\r\\n content: \\\"\\\";\\r\\n display: block;\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n border-color: transparent;\\r\\n border-width: 16px;\\r\\n border-style: solid;\\r\\n pointer-events: none; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before {\\r\\n left: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-left-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before {\\r\\n right: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-right-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content {\\r\\n left: -32px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content {\\r\\n left: 32px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n top: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n top: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #232323; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #232323; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-square-dark {\\r\\n border-radius: 0;\\r\\n z-index: 9999;\\r\\n max-width: 24em;\\r\\n font-size: 1em; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before {\\r\\n border-bottom-color: #303030; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-has-title .shepherd-content header {\\r\\n background: #303030;\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-has-title .shepherd-content header a.shepherd-cancel-link {\\r\\n padding: 0;\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-square-dark.shepherd-has-cancel-link .shepherd-content header h3 {\\r\\n float: left; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content {\\r\\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.17);\\r\\n border-radius: 0;\\r\\n padding: 0; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content * {\\r\\n font-size: inherit; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content header {\\r\\n *zoom: 1;\\r\\n border-radius: 0; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content header:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content header h3 {\\r\\n margin: 0;\\r\\n line-height: 1;\\r\\n font-weight: normal; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content header a.shepherd-cancel-link {\\r\\n float: right;\\r\\n text-decoration: none;\\r\\n font-size: 1.25em;\\r\\n line-height: .8em;\\r\\n font-weight: normal;\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n opacity: 0.25;\\r\\n position: relative;\\r\\n top: .1em;\\r\\n padding: .8em;\\r\\n margin-bottom: -.8em; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content header a.shepherd-cancel-link:hover {\\r\\n opacity: 1; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content .shepherd-text {\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content .shepherd-text p {\\r\\n margin: 0 0 .5em 0;\\r\\n line-height: 1.3em; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content .shepherd-text p:last-child {\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content footer {\\r\\n padding: 0 1em 1em; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons {\\r\\n text-align: right;\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li {\\r\\n display: inline;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li .shepherd-button {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n border-radius: 0;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n margin: 0 .5em 0 0;\\r\\n font-family: inherit;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: .1em;\\r\\n font-size: .8em;\\r\\n line-height: 1em;\\r\\n padding: .75em 2em;\\r\\n background: #3288e6;\\r\\n color: #fff; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary {\\r\\n background: #eee;\\r\\n color: #888; }\\r\\n .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button {\\r\\n margin-right: 0; }\\r\\n\\r\\n.shepherd-start-tour-button.shepherd-theme-square-dark {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n border-radius: 0;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n margin: 0 .5em 0 0;\\r\\n font-family: inherit;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: .1em;\\r\\n font-size: .8em;\\r\\n line-height: 1em;\\r\\n padding: .75em 2em;\\r\\n background: #3288e6;\\r\\n color: #fff; }\\r\\n\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,\\r\\n.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before {\\r\\n display: none; }\\r\\n\\r\\n.shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before {\\r\\n box-sizing: border-box; }\\r\\n\\r\\n.shepherd-element {\\r\\n position: absolute;\\r\\n display: none; }\\r\\n .shepherd-element.shepherd-open {\\r\\n display: block; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-square {\\r\\n max-width: 100%;\\r\\n max-height: 100%; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content {\\r\\n border-radius: 5px;\\r\\n position: relative;\\r\\n font-family: inherit;\\r\\n background: #f6f6f6;\\r\\n color: #444;\\r\\n padding: 1em;\\r\\n font-size: 1.1em;\\r\\n line-height: 1.5em; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content:before {\\r\\n content: \\\"\\\";\\r\\n display: block;\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n border-color: transparent;\\r\\n border-width: 16px;\\r\\n border-style: solid;\\r\\n pointer-events: none; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 50%;\\r\\n margin-left: -16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before {\\r\\n left: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-left-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before {\\r\\n right: 100%;\\r\\n top: 50%;\\r\\n margin-top: -16px;\\r\\n border-right-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content {\\r\\n left: -32px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content {\\r\\n left: 32px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n left: 16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content {\\r\\n margin-top: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before {\\r\\n bottom: 100%;\\r\\n right: 16px;\\r\\n border-bottom-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n left: 16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content {\\r\\n margin-bottom: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before {\\r\\n top: 100%;\\r\\n right: 16px;\\r\\n border-top-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n top: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n top: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content {\\r\\n margin-right: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n left: 100%;\\r\\n border-left-color: #f6f6f6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content {\\r\\n margin-left: 16px; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\\r\\n bottom: 16px;\\r\\n right: 100%;\\r\\n border-right-color: #f6f6f6; }\\r\\n\\r\\n.shepherd-element.shepherd-theme-square {\\r\\n border-radius: 0;\\r\\n z-index: 9999;\\r\\n max-width: 24em;\\r\\n font-size: 1em; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before {\\r\\n border-bottom-color: #e6e6e6; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-has-title .shepherd-content header {\\r\\n background: #e6e6e6;\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-has-title .shepherd-content header a.shepherd-cancel-link {\\r\\n padding: 0;\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-square.shepherd-has-cancel-link .shepherd-content header h3 {\\r\\n float: left; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content {\\r\\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.17);\\r\\n border-radius: 0;\\r\\n padding: 0; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content * {\\r\\n font-size: inherit; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content header {\\r\\n *zoom: 1;\\r\\n border-radius: 0; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content header:after {\\r\\n content: \\\"\\\";\\r\\n display: table;\\r\\n clear: both; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content header h3 {\\r\\n margin: 0;\\r\\n line-height: 1;\\r\\n font-weight: normal; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content header a.shepherd-cancel-link {\\r\\n float: right;\\r\\n text-decoration: none;\\r\\n font-size: 1.25em;\\r\\n line-height: .8em;\\r\\n font-weight: normal;\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n opacity: 0.25;\\r\\n position: relative;\\r\\n top: .1em;\\r\\n padding: .8em;\\r\\n margin-bottom: -.8em; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content header a.shepherd-cancel-link:hover {\\r\\n opacity: 1; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content .shepherd-text {\\r\\n padding: 1em; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content .shepherd-text p {\\r\\n margin: 0 0 .5em 0;\\r\\n line-height: 1.3em; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content .shepherd-text p:last-child {\\r\\n margin-bottom: 0; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content footer {\\r\\n padding: 0 1em 1em; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons {\\r\\n text-align: right;\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li {\\r\\n display: inline;\\r\\n padding: 0;\\r\\n margin: 0; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li .shepherd-button {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n border-radius: 0;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n margin: 0 .5em 0 0;\\r\\n font-family: inherit;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: .1em;\\r\\n font-size: .8em;\\r\\n line-height: 1em;\\r\\n padding: .75em 2em;\\r\\n background: #3288e6;\\r\\n color: #fff; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary {\\r\\n background: #eee;\\r\\n color: #888; }\\r\\n .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button {\\r\\n margin-right: 0; }\\r\\n\\r\\n.shepherd-start-tour-button.shepherd-theme-square {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n *vertical-align: auto;\\r\\n *zoom: 1;\\r\\n *display: inline;\\r\\n border-radius: 0;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n margin: 0 .5em 0 0;\\r\\n font-family: inherit;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: .1em;\\r\\n font-size: .8em;\\r\\n line-height: 1em;\\r\\n padding: .75em 2em;\\r\\n background: #3288e6;\\r\\n color: #fff; }\\r\\n\", \"\"]);\n\n// exports\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","module.exports = function escape(url) {\n if (typeof url !== 'string') {\n return url\n }\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]/.test(url)) {\n return '\"' + url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n') + '\"'\n }\n\n return url\n}\n","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n}(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+\\:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+\\:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code\\])?$/;\n\n function _map(array, fn, thisArg) {\n if (typeof Array.prototype.map === 'function') {\n return array.map(fn, thisArg);\n } else {\n var output = new Array(array.length);\n for (var i = 0; i < array.length; i++) {\n output[i] = fn.call(thisArg, array[i]);\n }\n return output;\n }\n }\n\n function _filter(array, fn, thisArg) {\n if (typeof Array.prototype.filter === 'function') {\n return array.filter(fn, thisArg);\n } else {\n var output = [];\n for (var i = 0; i < array.length; i++) {\n if (fn.call(thisArg, array[i])) {\n output.push(array[i]);\n }\n }\n return output;\n }\n }\n\n function _indexOf(array, target) {\n if (typeof Array.prototype.indexOf === 'function') {\n return array.indexOf(target);\n } else {\n for (var i = 0; i < array.length; i++) {\n if (array[i] === target) {\n return i;\n }\n }\n return -1;\n }\n }\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n\n var regExp = /(.+?)(?:\\:(\\d+))?(?:\\:(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[\\(\\)]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = _filter(error.stack.split('\\n'), function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n\n return _map(filtered, function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^\\()]*)|(\\)\\,.*$)/g, '');\n }\n var tokens = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').split(/\\s+/).slice(1);\n var locationParts = this.extractLocation(tokens.pop());\n var functionName = tokens.join(' ') || undefined;\n var fileName = _indexOf(['eval', ''], locationParts[0]) > -1 ? undefined : locationParts[0];\n\n return new StackFrame(functionName, undefined, fileName, locationParts[1], locationParts[2], line);\n }, this);\n },\n\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = _filter(error.stack.split('\\n'), function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n\n return _map(filtered, function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval\\:\\d+\\:\\d+/g, ':$1');\n }\n\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame(line);\n } else {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionName = tokens.join('@') || undefined;\n return new StackFrame(functionName,\n undefined,\n locationParts[0],\n locationParts[1],\n locationParts[2],\n line);\n }\n }, this);\n },\n\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame(undefined, undefined, match[2], match[1], undefined, lines[i]));\n }\n }\n\n return result;\n },\n\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame(\n match[3] || undefined,\n undefined,\n match[2],\n match[1],\n undefined,\n lines[i]\n )\n );\n }\n }\n\n return result;\n },\n\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = _filter(error.stack.split('\\n'), function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n\n return _map(filtered, function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(//, '$2')\n .replace(/\\([^\\)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^\\)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^\\(]+\\(([^\\)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n return new StackFrame(\n functionName,\n args,\n locationParts[0],\n locationParts[1],\n locationParts[2],\n line);\n }, this);\n }\n };\n}));\n\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/*! iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license */\n(function (window, document, Math) {\nvar rAF = window.requestAnimationFrame\t||\n\twindow.webkitRequestAnimationFrame\t||\n\twindow.mozRequestAnimationFrame\t\t||\n\twindow.oRequestAnimationFrame\t\t||\n\twindow.msRequestAnimationFrame\t\t||\n\tfunction (callback) { window.setTimeout(callback, 1000 / 60); };\n\nvar utils = (function () {\n\tvar me = {};\n\n\tvar _elementStyle = document.createElement('div').style;\n\tvar _vendor = (function () {\n\t\tvar vendors = ['t', 'webkitT', 'MozT', 'msT', 'OT'],\n\t\t\ttransform,\n\t\t\ti = 0,\n\t\t\tl = vendors.length;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\ttransform = vendors[i] + 'ransform';\n\t\t\tif ( transform in _elementStyle ) return vendors[i].substr(0, vendors[i].length-1);\n\t\t}\n\n\t\treturn false;\n\t})();\n\n\tfunction _prefixStyle (style) {\n\t\tif ( _vendor === false ) return false;\n\t\tif ( _vendor === '' ) return style;\n\t\treturn _vendor + style.charAt(0).toUpperCase() + style.substr(1);\n\t}\n\n\tme.getTime = Date.now || function getTime () { return new Date().getTime(); };\n\n\tme.extend = function (target, obj) {\n\t\tfor ( var i in obj ) {\n\t\t\ttarget[i] = obj[i];\n\t\t}\n\t};\n\n\tme.addEvent = function (el, type, fn, capture) {\n\t\tel.addEventListener(type, fn, !!capture);\n\t};\n\n\tme.removeEvent = function (el, type, fn, capture) {\n\t\tel.removeEventListener(type, fn, !!capture);\n\t};\n\n\tme.prefixPointerEvent = function (pointerEvent) {\n\t\treturn window.MSPointerEvent ?\n\t\t\t'MSPointer' + pointerEvent.charAt(7).toUpperCase() + pointerEvent.substr(8):\n\t\t\tpointerEvent;\n\t};\n\n\tme.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) {\n\t\tvar distance = current - start,\n\t\t\tspeed = Math.abs(distance) / time,\n\t\t\tdestination,\n\t\t\tduration;\n\n\t\tdeceleration = deceleration === undefined ? 0.0006 : deceleration;\n\n\t\tdestination = current + ( speed * speed ) / ( 2 * deceleration ) * ( distance < 0 ? -1 : 1 );\n\t\tduration = speed / deceleration;\n\n\t\tif ( destination < lowerMargin ) {\n\t\t\tdestination = wrapperSize ? lowerMargin - ( wrapperSize / 2.5 * ( speed / 8 ) ) : lowerMargin;\n\t\t\tdistance = Math.abs(destination - current);\n\t\t\tduration = distance / speed;\n\t\t} else if ( destination > 0 ) {\n\t\t\tdestination = wrapperSize ? wrapperSize / 2.5 * ( speed / 8 ) : 0;\n\t\t\tdistance = Math.abs(current) + destination;\n\t\t\tduration = distance / speed;\n\t\t}\n\n\t\treturn {\n\t\t\tdestination: Math.round(destination),\n\t\t\tduration: duration\n\t\t};\n\t};\n\n\tvar _transform = _prefixStyle('transform');\n\n\tme.extend(me, {\n\t\thasTransform: _transform !== false,\n\t\thasPerspective: _prefixStyle('perspective') in _elementStyle,\n\t\thasTouch: 'ontouchstart' in window,\n\t\thasPointer: !!(window.PointerEvent || window.MSPointerEvent), // IE10 is prefixed\n\t\thasTransition: _prefixStyle('transition') in _elementStyle\n\t});\n\n\t/*\n\tThis should find all Android browsers lower than build 535.19 (both stock browser and webview)\n\t- galaxy S2 is ok\n - 2.3.6 : `AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1`\n - 4.0.4 : `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30`\n - galaxy S3 is badAndroid (stock brower, webview)\n `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30`\n - galaxy S4 is badAndroid (stock brower, webview)\n `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30`\n - galaxy S5 is OK\n `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)`\n - galaxy S6 is OK\n `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)`\n */\n\tme.isBadAndroid = (function() {\n\t\tvar appVersion = window.navigator.appVersion;\n\t\t// Android browser is not a chrome browser.\n\t\tif (/Android/.test(appVersion) && !(/Chrome\\/\\d/.test(appVersion))) {\n\t\t\tvar safariVersion = appVersion.match(/Safari\\/(\\d+.\\d)/);\n\t\t\tif(safariVersion && typeof safariVersion === \"object\" && safariVersion.length >= 2) {\n\t\t\t\treturn parseFloat(safariVersion[1]) < 535.19;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t})();\n\n\tme.extend(me.style = {}, {\n\t\ttransform: _transform,\n\t\ttransitionTimingFunction: _prefixStyle('transitionTimingFunction'),\n\t\ttransitionDuration: _prefixStyle('transitionDuration'),\n\t\ttransitionDelay: _prefixStyle('transitionDelay'),\n\t\ttransformOrigin: _prefixStyle('transformOrigin')\n\t});\n\n\tme.hasClass = function (e, c) {\n\t\tvar re = new RegExp(\"(^|\\\\s)\" + c + \"(\\\\s|$)\");\n\t\treturn re.test(e.className);\n\t};\n\n\tme.addClass = function (e, c) {\n\t\tif ( me.hasClass(e, c) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar newclass = e.className.split(' ');\n\t\tnewclass.push(c);\n\t\te.className = newclass.join(' ');\n\t};\n\n\tme.removeClass = function (e, c) {\n\t\tif ( !me.hasClass(e, c) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar re = new RegExp(\"(^|\\\\s)\" + c + \"(\\\\s|$)\", 'g');\n\t\te.className = e.className.replace(re, ' ');\n\t};\n\n\tme.offset = function (el) {\n\t\tvar left = -el.offsetLeft,\n\t\t\ttop = -el.offsetTop;\n\n\t\t// jshint -W084\n\t\twhile (el = el.offsetParent) {\n\t\t\tleft -= el.offsetLeft;\n\t\t\ttop -= el.offsetTop;\n\t\t}\n\t\t// jshint +W084\n\n\t\treturn {\n\t\t\tleft: left,\n\t\t\ttop: top\n\t\t};\n\t};\n\n\tme.preventDefaultException = function (el, exceptions) {\n\t\tfor ( var i in exceptions ) {\n\t\t\tif ( exceptions[i].test(el[i]) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tme.extend(me.eventType = {}, {\n\t\ttouchstart: 1,\n\t\ttouchmove: 1,\n\t\ttouchend: 1,\n\n\t\tmousedown: 2,\n\t\tmousemove: 2,\n\t\tmouseup: 2,\n\n\t\tpointerdown: 3,\n\t\tpointermove: 3,\n\t\tpointerup: 3,\n\n\t\tMSPointerDown: 3,\n\t\tMSPointerMove: 3,\n\t\tMSPointerUp: 3\n\t});\n\n\tme.extend(me.ease = {}, {\n\t\tquadratic: {\n\t\t\tstyle: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n\t\t\tfn: function (k) {\n\t\t\t\treturn k * ( 2 - k );\n\t\t\t}\n\t\t},\n\t\tcircular: {\n\t\t\tstyle: 'cubic-bezier(0.1, 0.57, 0.1, 1)',\t// Not properly \"circular\" but this looks better, it should be (0.075, 0.82, 0.165, 1)\n\t\t\tfn: function (k) {\n\t\t\t\treturn Math.sqrt( 1 - ( --k * k ) );\n\t\t\t}\n\t\t},\n\t\tback: {\n\t\t\tstyle: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)',\n\t\t\tfn: function (k) {\n\t\t\t\tvar b = 4;\n\t\t\t\treturn ( k = k - 1 ) * k * ( ( b + 1 ) * k + b ) + 1;\n\t\t\t}\n\t\t},\n\t\tbounce: {\n\t\t\tstyle: '',\n\t\t\tfn: function (k) {\n\t\t\t\tif ( ( k /= 1 ) < ( 1 / 2.75 ) ) {\n\t\t\t\t\treturn 7.5625 * k * k;\n\t\t\t\t} else if ( k < ( 2 / 2.75 ) ) {\n\t\t\t\t\treturn 7.5625 * ( k -= ( 1.5 / 2.75 ) ) * k + 0.75;\n\t\t\t\t} else if ( k < ( 2.5 / 2.75 ) ) {\n\t\t\t\t\treturn 7.5625 * ( k -= ( 2.25 / 2.75 ) ) * k + 0.9375;\n\t\t\t\t} else {\n\t\t\t\t\treturn 7.5625 * ( k -= ( 2.625 / 2.75 ) ) * k + 0.984375;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\telastic: {\n\t\t\tstyle: '',\n\t\t\tfn: function (k) {\n\t\t\t\tvar f = 0.22,\n\t\t\t\t\te = 0.4;\n\n\t\t\t\tif ( k === 0 ) { return 0; }\n\t\t\t\tif ( k == 1 ) { return 1; }\n\n\t\t\t\treturn ( e * Math.pow( 2, - 10 * k ) * Math.sin( ( k - f / 4 ) * ( 2 * Math.PI ) / f ) + 1 );\n\t\t\t}\n\t\t}\n\t});\n\n\tme.tap = function (e, eventName) {\n\t\tvar ev = document.createEvent('Event');\n\t\tev.initEvent(eventName, true, true);\n\t\tev.pageX = e.pageX;\n\t\tev.pageY = e.pageY;\n\t\te.target.dispatchEvent(ev);\n\t};\n\n\tme.click = function (e) {\n\t\tvar target = e.target,\n\t\t\tev;\n\n\t\tif ( !(/(SELECT|INPUT|TEXTAREA)/i).test(target.tagName) ) {\n\t\t\tev = document.createEvent('MouseEvents');\n\t\t\tev.initMouseEvent('click', true, true, e.view, 1,\n\t\t\t\ttarget.screenX, target.screenY, target.clientX, target.clientY,\n\t\t\t\te.ctrlKey, e.altKey, e.shiftKey, e.metaKey,\n\t\t\t\t0, null);\n\n\t\t\tev._constructed = true;\n\t\t\ttarget.dispatchEvent(ev);\n\t\t}\n\t};\n\n\treturn me;\n})();\nfunction IScroll (el, options) {\n\tthis.wrapper = typeof el == 'string' ? document.querySelector(el) : el;\n\tthis.scroller = this.wrapper.children[0];\n\tthis.scrollerStyle = this.scroller.style;\t\t// cache style for better performance\n\n\tthis.options = {\n\n\t\tresizeScrollbars: true,\n\n\t\tmouseWheelSpeed: 20,\n\n\t\tsnapThreshold: 0.334,\n\n// INSERT POINT: OPTIONS\n\t\tdisablePointer : !utils.hasPointer,\n\t\tdisableTouch : utils.hasPointer || !utils.hasTouch,\n\t\tdisableMouse : utils.hasPointer || utils.hasTouch,\n\t\tstartX: 0,\n\t\tstartY: 0,\n\t\tscrollY: true,\n\t\tdirectionLockThreshold: 5,\n\t\tmomentum: true,\n\n\t\tbounce: true,\n\t\tbounceTime: 600,\n\t\tbounceEasing: '',\n\n\t\tpreventDefault: true,\n\t\tpreventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ },\n\n\t\tHWCompositing: true,\n\t\tuseTransition: true,\n\t\tuseTransform: true,\n\t\tbindToWrapper: typeof window.onmousedown === \"undefined\"\n\t};\n\n\tfor ( var i in options ) {\n\t\tthis.options[i] = options[i];\n\t}\n\n\t// Normalize options\n\tthis.translateZ = this.options.HWCompositing && utils.hasPerspective ? ' translateZ(0)' : '';\n\n\tthis.options.useTransition = utils.hasTransition && this.options.useTransition;\n\tthis.options.useTransform = utils.hasTransform && this.options.useTransform;\n\n\tthis.options.eventPassthrough = this.options.eventPassthrough === true ? 'vertical' : this.options.eventPassthrough;\n\tthis.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n\t// If you want eventPassthrough I have to lock one of the axes\n\tthis.options.scrollY = this.options.eventPassthrough == 'vertical' ? false : this.options.scrollY;\n\tthis.options.scrollX = this.options.eventPassthrough == 'horizontal' ? false : this.options.scrollX;\n\n\t// With eventPassthrough we also need lockDirection mechanism\n\tthis.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n\tthis.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n\tthis.options.bounceEasing = typeof this.options.bounceEasing == 'string' ? utils.ease[this.options.bounceEasing] || utils.ease.circular : this.options.bounceEasing;\n\n\tthis.options.resizePolling = this.options.resizePolling === undefined ? 60 : this.options.resizePolling;\n\n\tif ( this.options.tap === true ) {\n\t\tthis.options.tap = 'tap';\n\t}\n\n\tif ( this.options.shrinkScrollbars == 'scale' ) {\n\t\tthis.options.useTransition = false;\n\t}\n\n\tthis.options.invertWheelDirection = this.options.invertWheelDirection ? -1 : 1;\n\n// INSERT POINT: NORMALIZATION\n\n\t// Some defaults\n\tthis.x = 0;\n\tthis.y = 0;\n\tthis.directionX = 0;\n\tthis.directionY = 0;\n\tthis._events = {};\n\n// INSERT POINT: DEFAULTS\n\n\tthis._init();\n\tthis.refresh();\n\n\tthis.scrollTo(this.options.startX, this.options.startY);\n\tthis.enable();\n}\n\nIScroll.prototype = {\n\tversion: '5.2.0',\n\n\t_init: function () {\n\t\tthis._initEvents();\n\n\t\tif ( this.options.scrollbars || this.options.indicators ) {\n\t\t\tthis._initIndicators();\n\t\t}\n\n\t\tif ( this.options.mouseWheel ) {\n\t\t\tthis._initWheel();\n\t\t}\n\n\t\tif ( this.options.snap ) {\n\t\t\tthis._initSnap();\n\t\t}\n\n\t\tif ( this.options.keyBindings ) {\n\t\t\tthis._initKeys();\n\t\t}\n\n// INSERT POINT: _init\n\n\t},\n\n\tdestroy: function () {\n\t\tthis._initEvents(true);\n\t\tclearTimeout(this.resizeTimeout);\n \t\tthis.resizeTimeout = null;\n\t\tthis._execEvent('destroy');\n\t},\n\n\t_transitionEnd: function (e) {\n\t\tif ( e.target != this.scroller || !this.isInTransition ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._transitionTime();\n\t\tif ( !this.resetPosition(this.options.bounceTime) ) {\n\t\t\tthis.isInTransition = false;\n\t\t\tthis._execEvent('scrollEnd');\n\t\t}\n\t},\n\n\t_start: function (e) {\n\t\t// React to left mouse button only\n\t\tif ( utils.eventType[e.type] != 1 ) {\n\t\t // for button property\n\t\t // http://unixpapa.com/js/mouse.html\n\t\t var button;\n\t if (!e.which) {\n\t /* IE case */\n\t button = (e.button < 2) ? 0 :\n\t ((e.button == 4) ? 1 : 2);\n\t } else {\n\t /* All others */\n\t button = e.button;\n\t }\n\t\t\tif ( button !== 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( !this.enabled || (this.initiated && utils.eventType[e.type] !== this.initiated) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.options.preventDefault && !utils.isBadAndroid && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tvar point = e.touches ? e.touches[0] : e,\n\t\t\tpos;\n\n\t\tthis.initiated\t= utils.eventType[e.type];\n\t\tthis.moved\t\t= false;\n\t\tthis.distX\t\t= 0;\n\t\tthis.distY\t\t= 0;\n\t\tthis.directionX = 0;\n\t\tthis.directionY = 0;\n\t\tthis.directionLocked = 0;\n\n\t\tthis.startTime = utils.getTime();\n\n\t\tif ( this.options.useTransition && this.isInTransition ) {\n\t\t\tthis._transitionTime();\n\t\t\tthis.isInTransition = false;\n\t\t\tpos = this.getComputedPosition();\n\t\t\tthis._translate(Math.round(pos.x), Math.round(pos.y));\n\t\t\tthis._execEvent('scrollEnd');\n\t\t} else if ( !this.options.useTransition && this.isAnimating ) {\n\t\t\tthis.isAnimating = false;\n\t\t\tthis._execEvent('scrollEnd');\n\t\t}\n\n\t\tthis.startX = this.x;\n\t\tthis.startY = this.y;\n\t\tthis.absStartX = this.x;\n\t\tthis.absStartY = this.y;\n\t\tthis.pointX = point.pageX;\n\t\tthis.pointY = point.pageY;\n\n\t\tthis._execEvent('beforeScrollStart');\n\t},\n\n\t_move: function (e) {\n\t\tif ( !this.enabled || utils.eventType[e.type] !== this.initiated ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.options.preventDefault ) {\t// increases performance on Android? TODO: check!\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tvar point\t\t= e.touches ? e.touches[0] : e,\n\t\t\tdeltaX\t\t= point.pageX - this.pointX,\n\t\t\tdeltaY\t\t= point.pageY - this.pointY,\n\t\t\ttimestamp\t= utils.getTime(),\n\t\t\tnewX, newY,\n\t\t\tabsDistX, absDistY;\n\n\t\tthis.pointX\t\t= point.pageX;\n\t\tthis.pointY\t\t= point.pageY;\n\n\t\tthis.distX\t\t+= deltaX;\n\t\tthis.distY\t\t+= deltaY;\n\t\tabsDistX\t\t= Math.abs(this.distX);\n\t\tabsDistY\t\t= Math.abs(this.distY);\n\n\t\t// We need to move at least 10 pixels for the scrolling to initiate\n\t\tif ( timestamp - this.endTime > 300 && (absDistX < 10 && absDistY < 10) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If you are scrolling in one direction lock the other\n\t\tif ( !this.directionLocked && !this.options.freeScroll ) {\n\t\t\tif ( absDistX > absDistY + this.options.directionLockThreshold ) {\n\t\t\t\tthis.directionLocked = 'h';\t\t// lock horizontally\n\t\t\t} else if ( absDistY >= absDistX + this.options.directionLockThreshold ) {\n\t\t\t\tthis.directionLocked = 'v';\t\t// lock vertically\n\t\t\t} else {\n\t\t\t\tthis.directionLocked = 'n';\t\t// no lock\n\t\t\t}\n\t\t}\n\n\t\tif ( this.directionLocked == 'h' ) {\n\t\t\tif ( this.options.eventPassthrough == 'vertical' ) {\n\t\t\t\te.preventDefault();\n\t\t\t} else if ( this.options.eventPassthrough == 'horizontal' ) {\n\t\t\t\tthis.initiated = false;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdeltaY = 0;\n\t\t} else if ( this.directionLocked == 'v' ) {\n\t\t\tif ( this.options.eventPassthrough == 'horizontal' ) {\n\t\t\t\te.preventDefault();\n\t\t\t} else if ( this.options.eventPassthrough == 'vertical' ) {\n\t\t\t\tthis.initiated = false;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdeltaX = 0;\n\t\t}\n\n\t\tdeltaX = this.hasHorizontalScroll ? deltaX : 0;\n\t\tdeltaY = this.hasVerticalScroll ? deltaY : 0;\n\n\t\tnewX = this.x + deltaX;\n\t\tnewY = this.y + deltaY;\n\n\t\t// Slow down if outside of the boundaries\n\t\tif ( newX > 0 || newX < this.maxScrollX ) {\n\t\t\tnewX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX;\n\t\t}\n\t\tif ( newY > 0 || newY < this.maxScrollY ) {\n\t\t\tnewY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY;\n\t\t}\n\n\t\tthis.directionX = deltaX > 0 ? -1 : deltaX < 0 ? 1 : 0;\n\t\tthis.directionY = deltaY > 0 ? -1 : deltaY < 0 ? 1 : 0;\n\n\t\tif ( !this.moved ) {\n\t\t\tthis._execEvent('scrollStart');\n\t\t}\n\n\t\tthis.moved = true;\n\n\t\tthis._translate(newX, newY);\n\n/* REPLACE START: _move */\n\n\t\tif ( timestamp - this.startTime > 300 ) {\n\t\t\tthis.startTime = timestamp;\n\t\t\tthis.startX = this.x;\n\t\t\tthis.startY = this.y;\n\t\t}\n\n/* REPLACE END: _move */\n\n\t},\n\n\t_end: function (e) {\n\t\tif ( !this.enabled || utils.eventType[e.type] !== this.initiated ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.options.preventDefault && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tvar point = e.changedTouches ? e.changedTouches[0] : e,\n\t\t\tmomentumX,\n\t\t\tmomentumY,\n\t\t\tduration = utils.getTime() - this.startTime,\n\t\t\tnewX = Math.round(this.x),\n\t\t\tnewY = Math.round(this.y),\n\t\t\tdistanceX = Math.abs(newX - this.startX),\n\t\t\tdistanceY = Math.abs(newY - this.startY),\n\t\t\ttime = 0,\n\t\t\teasing = '';\n\n\t\tthis.isInTransition = 0;\n\t\tthis.initiated = 0;\n\t\tthis.endTime = utils.getTime();\n\n\t\t// reset if we are outside of the boundaries\n\t\tif ( this.resetPosition(this.options.bounceTime) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.scrollTo(newX, newY);\t// ensures that the last position is rounded\n\n\t\t// we scrolled less than 10 pixels\n\t\tif ( !this.moved ) {\n\t\t\tif ( this.options.tap ) {\n\t\t\t\tutils.tap(e, this.options.tap);\n\t\t\t}\n\n\t\t\tif ( this.options.click ) {\n\t\t\t\tutils.click(e);\n\t\t\t}\n\n\t\t\tthis._execEvent('scrollCancel');\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this._events.flick && duration < 200 && distanceX < 100 && distanceY < 100 ) {\n\t\t\tthis._execEvent('flick');\n\t\t\treturn;\n\t\t}\n\n\t\t// start momentum animation if needed\n\t\tif ( this.options.momentum && duration < 300 ) {\n\t\t\tmomentumX = this.hasHorizontalScroll ? utils.momentum(this.x, this.startX, duration, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { destination: newX, duration: 0 };\n\t\t\tmomentumY = this.hasVerticalScroll ? utils.momentum(this.y, this.startY, duration, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { destination: newY, duration: 0 };\n\t\t\tnewX = momentumX.destination;\n\t\t\tnewY = momentumY.destination;\n\t\t\ttime = Math.max(momentumX.duration, momentumY.duration);\n\t\t\tthis.isInTransition = 1;\n\t\t}\n\n\n\t\tif ( this.options.snap ) {\n\t\t\tvar snap = this._nearestSnap(newX, newY);\n\t\t\tthis.currentPage = snap;\n\t\t\ttime = this.options.snapSpeed || Math.max(\n\t\t\t\t\tMath.max(\n\t\t\t\t\t\tMath.min(Math.abs(newX - snap.x), 1000),\n\t\t\t\t\t\tMath.min(Math.abs(newY - snap.y), 1000)\n\t\t\t\t\t), 300);\n\t\t\tnewX = snap.x;\n\t\t\tnewY = snap.y;\n\n\t\t\tthis.directionX = 0;\n\t\t\tthis.directionY = 0;\n\t\t\teasing = this.options.bounceEasing;\n\t\t}\n\n// INSERT POINT: _end\n\n\t\tif ( newX != this.x || newY != this.y ) {\n\t\t\t// change easing function when scroller goes out of the boundaries\n\t\t\tif ( newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY ) {\n\t\t\t\teasing = utils.ease.quadratic;\n\t\t\t}\n\n\t\t\tthis.scrollTo(newX, newY, time, easing);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._execEvent('scrollEnd');\n\t},\n\n\t_resize: function () {\n\t\tvar that = this;\n\n\t\tclearTimeout(this.resizeTimeout);\n\n\t\tthis.resizeTimeout = setTimeout(function () {\n\t\t\tthat.refresh();\n\t\t}, this.options.resizePolling);\n\t},\n\n\tresetPosition: function (time) {\n\t\tvar x = this.x,\n\t\t\ty = this.y;\n\n\t\ttime = time || 0;\n\n\t\tif ( !this.hasHorizontalScroll || this.x > 0 ) {\n\t\t\tx = 0;\n\t\t} else if ( this.x < this.maxScrollX ) {\n\t\t\tx = this.maxScrollX;\n\t\t}\n\n\t\tif ( !this.hasVerticalScroll || this.y > 0 ) {\n\t\t\ty = 0;\n\t\t} else if ( this.y < this.maxScrollY ) {\n\t\t\ty = this.maxScrollY;\n\t\t}\n\n\t\tif ( x == this.x && y == this.y ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.scrollTo(x, y, time, this.options.bounceEasing);\n\n\t\treturn true;\n\t},\n\n\tdisable: function () {\n\t\tthis.enabled = false;\n\t},\n\n\tenable: function () {\n\t\tthis.enabled = true;\n\t},\n\n\trefresh: function () {\n\t\tvar rf = this.wrapper.offsetHeight;\t\t// Force reflow\n\n\t\tthis.wrapperWidth\t= this.wrapper.clientWidth;\n\t\tthis.wrapperHeight\t= this.wrapper.clientHeight;\n\n/* REPLACE START: refresh */\n\n\t\tthis.scrollerWidth\t= this.scroller.offsetWidth;\n\t\tthis.scrollerHeight\t= this.scroller.offsetHeight;\n\n\t\tthis.maxScrollX\t\t= this.wrapperWidth - this.scrollerWidth;\n\t\tthis.maxScrollY\t\t= this.wrapperHeight - this.scrollerHeight;\n\n/* REPLACE END: refresh */\n\n\t\tthis.hasHorizontalScroll\t= this.options.scrollX && this.maxScrollX < 0;\n\t\tthis.hasVerticalScroll\t\t= this.options.scrollY && this.maxScrollY < 0;\n\n\t\tif ( !this.hasHorizontalScroll ) {\n\t\t\tthis.maxScrollX = 0;\n\t\t\tthis.scrollerWidth = this.wrapperWidth;\n\t\t}\n\n\t\tif ( !this.hasVerticalScroll ) {\n\t\t\tthis.maxScrollY = 0;\n\t\t\tthis.scrollerHeight = this.wrapperHeight;\n\t\t}\n\n\t\tthis.endTime = 0;\n\t\tthis.directionX = 0;\n\t\tthis.directionY = 0;\n\n\t\tthis.wrapperOffset = utils.offset(this.wrapper);\n\n\t\tthis._execEvent('refresh');\n\n\t\tthis.resetPosition();\n\n// INSERT POINT: _refresh\n\n\t},\n\n\ton: function (type, fn) {\n\t\tif ( !this._events[type] ) {\n\t\t\tthis._events[type] = [];\n\t\t}\n\n\t\tthis._events[type].push(fn);\n\t},\n\n\toff: function (type, fn) {\n\t\tif ( !this._events[type] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar index = this._events[type].indexOf(fn);\n\n\t\tif ( index > -1 ) {\n\t\t\tthis._events[type].splice(index, 1);\n\t\t}\n\t},\n\n\t_execEvent: function (type) {\n\t\tif ( !this._events[type] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar i = 0,\n\t\t\tl = this._events[type].length;\n\n\t\tif ( !l ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tthis._events[type][i].apply(this, [].slice.call(arguments, 1));\n\t\t}\n\t},\n\n\tscrollBy: function (x, y, time, easing) {\n\t\tx = this.x + x;\n\t\ty = this.y + y;\n\t\ttime = time || 0;\n\n\t\tthis.scrollTo(x, y, time, easing);\n\t},\n\n\tscrollTo: function (x, y, time, easing) {\n\t\teasing = easing || utils.ease.circular;\n\n\t\tthis.isInTransition = this.options.useTransition && time > 0;\n\t\tvar transitionType = this.options.useTransition && easing.style;\n\t\tif ( !time || transitionType ) {\n\t\t\t\tif(transitionType) {\n\t\t\t\t\tthis._transitionTimingFunction(easing.style);\n\t\t\t\t\tthis._transitionTime(time);\n\t\t\t\t}\n\t\t\tthis._translate(x, y);\n\t\t} else {\n\t\t\tthis._animate(x, y, time, easing.fn);\n\t\t}\n\t},\n\n\tscrollToElement: function (el, time, offsetX, offsetY, easing) {\n\t\tel = el.nodeType ? el : this.scroller.querySelector(el);\n\n\t\tif ( !el ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar pos = utils.offset(el);\n\n\t\tpos.left -= this.wrapperOffset.left;\n\t\tpos.top -= this.wrapperOffset.top;\n\n\t\t// if offsetX/Y are true we center the element to the screen\n\t\tif ( offsetX === true ) {\n\t\t\toffsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n\t\t}\n\t\tif ( offsetY === true ) {\n\t\t\toffsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n\t\t}\n\n\t\tpos.left -= offsetX || 0;\n\t\tpos.top -= offsetY || 0;\n\n\t\tpos.left = pos.left > 0 ? 0 : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n\t\tpos.top = pos.top > 0 ? 0 : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n\t\ttime = time === undefined || time === null || time === 'auto' ? Math.max(Math.abs(this.x-pos.left), Math.abs(this.y-pos.top)) : time;\n\n\t\tthis.scrollTo(pos.left, pos.top, time, easing);\n\t},\n\n\t_transitionTime: function (time) {\n\t\ttime = time || 0;\n\n\t\tvar durationProp = utils.style.transitionDuration;\n\t\tthis.scrollerStyle[durationProp] = time + 'ms';\n\n\t\tif ( !time && utils.isBadAndroid ) {\n\t\t\tthis.scrollerStyle[durationProp] = '0.0001ms';\n\t\t\t// remove 0.0001ms\n\t\t\tvar self = this;\n\t\t\trAF(function() {\n\t\t\t\tif(self.scrollerStyle[durationProp] === '0.0001ms') {\n\t\t\t\t\tself.scrollerStyle[durationProp] = '0s';\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\n\t\tif ( this.indicators ) {\n\t\t\tfor ( var i = this.indicators.length; i--; ) {\n\t\t\t\tthis.indicators[i].transitionTime(time);\n\t\t\t}\n\t\t}\n\n\n// INSERT POINT: _transitionTime\n\n\t},\n\n\t_transitionTimingFunction: function (easing) {\n\t\tthis.scrollerStyle[utils.style.transitionTimingFunction] = easing;\n\n\n\t\tif ( this.indicators ) {\n\t\t\tfor ( var i = this.indicators.length; i--; ) {\n\t\t\t\tthis.indicators[i].transitionTimingFunction(easing);\n\t\t\t}\n\t\t}\n\n\n// INSERT POINT: _transitionTimingFunction\n\n\t},\n\n\t_translate: function (x, y) {\n\t\tif ( this.options.useTransform ) {\n\n/* REPLACE START: _translate */\n\n\t\t\tthis.scrollerStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.translateZ;\n\n/* REPLACE END: _translate */\n\n\t\t} else {\n\t\t\tx = Math.round(x);\n\t\t\ty = Math.round(y);\n\t\t\tthis.scrollerStyle.left = x + 'px';\n\t\t\tthis.scrollerStyle.top = y + 'px';\n\t\t}\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\n\n\tif ( this.indicators ) {\n\t\tfor ( var i = this.indicators.length; i--; ) {\n\t\t\tthis.indicators[i].updatePosition();\n\t\t}\n\t}\n\n\n// INSERT POINT: _translate\n\n\t},\n\n\t_initEvents: function (remove) {\n\t\tvar eventType = remove ? utils.removeEvent : utils.addEvent,\n\t\t\ttarget = this.options.bindToWrapper ? this.wrapper : window;\n\n\t\teventType(window, 'orientationchange', this);\n\t\teventType(window, 'resize', this);\n\n\t\tif ( this.options.click ) {\n\t\t\teventType(this.wrapper, 'click', this, true);\n\t\t}\n\n\t\tif ( !this.options.disableMouse ) {\n\t\t\teventType(this.wrapper, 'mousedown', this);\n\t\t\teventType(target, 'mousemove', this);\n\t\t\teventType(target, 'mousecancel', this);\n\t\t\teventType(target, 'mouseup', this);\n\t\t}\n\n\t\tif ( utils.hasPointer && !this.options.disablePointer ) {\n\t\t\teventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this);\n\t\t\teventType(target, utils.prefixPointerEvent('pointermove'), this);\n\t\t\teventType(target, utils.prefixPointerEvent('pointercancel'), this);\n\t\t\teventType(target, utils.prefixPointerEvent('pointerup'), this);\n\t\t}\n\n\t\tif ( utils.hasTouch && !this.options.disableTouch ) {\n\t\t\teventType(this.wrapper, 'touchstart', this);\n\t\t\teventType(target, 'touchmove', this);\n\t\t\teventType(target, 'touchcancel', this);\n\t\t\teventType(target, 'touchend', this);\n\t\t}\n\n\t\teventType(this.scroller, 'transitionend', this);\n\t\teventType(this.scroller, 'webkitTransitionEnd', this);\n\t\teventType(this.scroller, 'oTransitionEnd', this);\n\t\teventType(this.scroller, 'MSTransitionEnd', this);\n\t},\n\n\tgetComputedPosition: function () {\n\t\tvar matrix = window.getComputedStyle(this.scroller, null),\n\t\t\tx, y;\n\n\t\tif ( this.options.useTransform ) {\n\t\t\tmatrix = matrix[utils.style.transform].split(')')[0].split(', ');\n\t\t\tx = +(matrix[12] || matrix[4]);\n\t\t\ty = +(matrix[13] || matrix[5]);\n\t\t} else {\n\t\t\tx = +matrix.left.replace(/[^-\\d.]/g, '');\n\t\t\ty = +matrix.top.replace(/[^-\\d.]/g, '');\n\t\t}\n\n\t\treturn { x: x, y: y };\n\t},\n\t_initIndicators: function () {\n\t\tvar interactive = this.options.interactiveScrollbars,\n\t\t\tcustomStyle = typeof this.options.scrollbars != 'string',\n\t\t\tindicators = [],\n\t\t\tindicator;\n\n\t\tvar that = this;\n\n\t\tthis.indicators = [];\n\n\t\tif ( this.options.scrollbars ) {\n\t\t\t// Vertical scrollbar\n\t\t\tif ( this.options.scrollY ) {\n\t\t\t\tindicator = {\n\t\t\t\t\tel: createDefaultScrollbar('v', interactive, this.options.scrollbars),\n\t\t\t\t\tinteractive: interactive,\n\t\t\t\t\tdefaultScrollbars: true,\n\t\t\t\t\tcustomStyle: customStyle,\n\t\t\t\t\tresize: this.options.resizeScrollbars,\n\t\t\t\t\tshrink: this.options.shrinkScrollbars,\n\t\t\t\t\tfade: this.options.fadeScrollbars,\n\t\t\t\t\tlistenX: false\n\t\t\t\t};\n\n\t\t\t\tthis.wrapper.appendChild(indicator.el);\n\t\t\t\tindicators.push(indicator);\n\t\t\t}\n\n\t\t\t// Horizontal scrollbar\n\t\t\tif ( this.options.scrollX ) {\n\t\t\t\tindicator = {\n\t\t\t\t\tel: createDefaultScrollbar('h', interactive, this.options.scrollbars),\n\t\t\t\t\tinteractive: interactive,\n\t\t\t\t\tdefaultScrollbars: true,\n\t\t\t\t\tcustomStyle: customStyle,\n\t\t\t\t\tresize: this.options.resizeScrollbars,\n\t\t\t\t\tshrink: this.options.shrinkScrollbars,\n\t\t\t\t\tfade: this.options.fadeScrollbars,\n\t\t\t\t\tlistenY: false\n\t\t\t\t};\n\n\t\t\t\tthis.wrapper.appendChild(indicator.el);\n\t\t\t\tindicators.push(indicator);\n\t\t\t}\n\t\t}\n\n\t\tif ( this.options.indicators ) {\n\t\t\t// TODO: check concat compatibility\n\t\t\tindicators = indicators.concat(this.options.indicators);\n\t\t}\n\n\t\tfor ( var i = indicators.length; i--; ) {\n\t\t\tthis.indicators.push( new Indicator(this, indicators[i]) );\n\t\t}\n\n\t\t// TODO: check if we can use array.map (wide compatibility and performance issues)\n\t\tfunction _indicatorsMap (fn) {\n\t\t\tif (that.indicators) {\n\t\t\t\tfor ( var i = that.indicators.length; i--; ) {\n\t\t\t\t\tfn.call(that.indicators[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( this.options.fadeScrollbars ) {\n\t\t\tthis.on('scrollEnd', function () {\n\t\t\t\t_indicatorsMap(function () {\n\t\t\t\t\tthis.fade();\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tthis.on('scrollCancel', function () {\n\t\t\t\t_indicatorsMap(function () {\n\t\t\t\t\tthis.fade();\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tthis.on('scrollStart', function () {\n\t\t\t\t_indicatorsMap(function () {\n\t\t\t\t\tthis.fade(1);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tthis.on('beforeScrollStart', function () {\n\t\t\t\t_indicatorsMap(function () {\n\t\t\t\t\tthis.fade(1, true);\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\n\t\tthis.on('refresh', function () {\n\t\t\t_indicatorsMap(function () {\n\t\t\t\tthis.refresh();\n\t\t\t});\n\t\t});\n\n\t\tthis.on('destroy', function () {\n\t\t\t_indicatorsMap(function () {\n\t\t\t\tthis.destroy();\n\t\t\t});\n\n\t\t\tdelete this.indicators;\n\t\t});\n\t},\n\n\t_initWheel: function () {\n\t\tutils.addEvent(this.wrapper, 'wheel', this);\n\t\tutils.addEvent(this.wrapper, 'mousewheel', this);\n\t\tutils.addEvent(this.wrapper, 'DOMMouseScroll', this);\n\n\t\tthis.on('destroy', function () {\n\t\t\tclearTimeout(this.wheelTimeout);\n\t\t\tthis.wheelTimeout = null;\n\t\t\tutils.removeEvent(this.wrapper, 'wheel', this);\n\t\t\tutils.removeEvent(this.wrapper, 'mousewheel', this);\n\t\t\tutils.removeEvent(this.wrapper, 'DOMMouseScroll', this);\n\t\t});\n\t},\n\n\t_wheel: function (e) {\n\t\tif ( !this.enabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tvar wheelDeltaX, wheelDeltaY,\n\t\t\tnewX, newY,\n\t\t\tthat = this;\n\n\t\tif ( this.wheelTimeout === undefined ) {\n\t\t\tthat._execEvent('scrollStart');\n\t\t}\n\n\t\t// Execute the scrollEnd event after 400ms the wheel stopped scrolling\n\t\tclearTimeout(this.wheelTimeout);\n\t\tthis.wheelTimeout = setTimeout(function () {\n\t\t\tif(!that.options.snap) {\n\t\t\t\tthat._execEvent('scrollEnd');\n\t\t\t}\n\t\t\tthat.wheelTimeout = undefined;\n\t\t}, 400);\n\n\t\tif ( 'deltaX' in e ) {\n\t\t\tif (e.deltaMode === 1) {\n\t\t\t\twheelDeltaX = -e.deltaX * this.options.mouseWheelSpeed;\n\t\t\t\twheelDeltaY = -e.deltaY * this.options.mouseWheelSpeed;\n\t\t\t} else {\n\t\t\t\twheelDeltaX = -e.deltaX;\n\t\t\t\twheelDeltaY = -e.deltaY;\n\t\t\t}\n\t\t} else if ( 'wheelDeltaX' in e ) {\n\t\t\twheelDeltaX = e.wheelDeltaX / 120 * this.options.mouseWheelSpeed;\n\t\t\twheelDeltaY = e.wheelDeltaY / 120 * this.options.mouseWheelSpeed;\n\t\t} else if ( 'wheelDelta' in e ) {\n\t\t\twheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * this.options.mouseWheelSpeed;\n\t\t} else if ( 'detail' in e ) {\n\t\t\twheelDeltaX = wheelDeltaY = -e.detail / 3 * this.options.mouseWheelSpeed;\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\twheelDeltaX *= this.options.invertWheelDirection;\n\t\twheelDeltaY *= this.options.invertWheelDirection;\n\n\t\tif ( !this.hasVerticalScroll ) {\n\t\t\twheelDeltaX = wheelDeltaY;\n\t\t\twheelDeltaY = 0;\n\t\t}\n\n\t\tif ( this.options.snap ) {\n\t\t\tnewX = this.currentPage.pageX;\n\t\t\tnewY = this.currentPage.pageY;\n\n\t\t\tif ( wheelDeltaX > 0 ) {\n\t\t\t\tnewX--;\n\t\t\t} else if ( wheelDeltaX < 0 ) {\n\t\t\t\tnewX++;\n\t\t\t}\n\n\t\t\tif ( wheelDeltaY > 0 ) {\n\t\t\t\tnewY--;\n\t\t\t} else if ( wheelDeltaY < 0 ) {\n\t\t\t\tnewY++;\n\t\t\t}\n\n\t\t\tthis.goToPage(newX, newY);\n\n\t\t\treturn;\n\t\t}\n\n\t\tnewX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n\t\tnewY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n\t\tthis.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n\t\tthis.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n\t\tif ( newX > 0 ) {\n\t\t\tnewX = 0;\n\t\t} else if ( newX < this.maxScrollX ) {\n\t\t\tnewX = this.maxScrollX;\n\t\t}\n\n\t\tif ( newY > 0 ) {\n\t\t\tnewY = 0;\n\t\t} else if ( newY < this.maxScrollY ) {\n\t\t\tnewY = this.maxScrollY;\n\t\t}\n\n\t\tthis.scrollTo(newX, newY, 0);\n\n// INSERT POINT: _wheel\n\t},\n\n\t_initSnap: function () {\n\t\tthis.currentPage = {};\n\n\t\tif ( typeof this.options.snap == 'string' ) {\n\t\t\tthis.options.snap = this.scroller.querySelectorAll(this.options.snap);\n\t\t}\n\n\t\tthis.on('refresh', function () {\n\t\t\tvar i = 0, l,\n\t\t\t\tm = 0, n,\n\t\t\t\tcx, cy,\n\t\t\t\tx = 0, y,\n\t\t\t\tstepX = this.options.snapStepX || this.wrapperWidth,\n\t\t\t\tstepY = this.options.snapStepY || this.wrapperHeight,\n\t\t\t\tel;\n\n\t\t\tthis.pages = [];\n\n\t\t\tif ( !this.wrapperWidth || !this.wrapperHeight || !this.scrollerWidth || !this.scrollerHeight ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.options.snap === true ) {\n\t\t\t\tcx = Math.round( stepX / 2 );\n\t\t\t\tcy = Math.round( stepY / 2 );\n\n\t\t\t\twhile ( x > -this.scrollerWidth ) {\n\t\t\t\t\tthis.pages[i] = [];\n\t\t\t\t\tl = 0;\n\t\t\t\t\ty = 0;\n\n\t\t\t\t\twhile ( y > -this.scrollerHeight ) {\n\t\t\t\t\t\tthis.pages[i][l] = {\n\t\t\t\t\t\t\tx: Math.max(x, this.maxScrollX),\n\t\t\t\t\t\t\ty: Math.max(y, this.maxScrollY),\n\t\t\t\t\t\t\twidth: stepX,\n\t\t\t\t\t\t\theight: stepY,\n\t\t\t\t\t\t\tcx: x - cx,\n\t\t\t\t\t\t\tcy: y - cy\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\ty -= stepY;\n\t\t\t\t\t\tl++;\n\t\t\t\t\t}\n\n\t\t\t\t\tx -= stepX;\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tel = this.options.snap;\n\t\t\t\tl = el.length;\n\t\t\t\tn = -1;\n\n\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\tif ( i === 0 || el[i].offsetLeft <= el[i-1].offsetLeft ) {\n\t\t\t\t\t\tm = 0;\n\t\t\t\t\t\tn++;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !this.pages[m] ) {\n\t\t\t\t\t\tthis.pages[m] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\tx = Math.max(-el[i].offsetLeft, this.maxScrollX);\n\t\t\t\t\ty = Math.max(-el[i].offsetTop, this.maxScrollY);\n\t\t\t\t\tcx = x - Math.round(el[i].offsetWidth / 2);\n\t\t\t\t\tcy = y - Math.round(el[i].offsetHeight / 2);\n\n\t\t\t\t\tthis.pages[m][n] = {\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ty: y,\n\t\t\t\t\t\twidth: el[i].offsetWidth,\n\t\t\t\t\t\theight: el[i].offsetHeight,\n\t\t\t\t\t\tcx: cx,\n\t\t\t\t\t\tcy: cy\n\t\t\t\t\t};\n\n\t\t\t\t\tif ( x > this.maxScrollX ) {\n\t\t\t\t\t\tm++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.goToPage(this.currentPage.pageX || 0, this.currentPage.pageY || 0, 0);\n\n\t\t\t// Update snap threshold if needed\n\t\t\tif ( this.options.snapThreshold % 1 === 0 ) {\n\t\t\t\tthis.snapThresholdX = this.options.snapThreshold;\n\t\t\t\tthis.snapThresholdY = this.options.snapThreshold;\n\t\t\t} else {\n\t\t\t\tthis.snapThresholdX = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width * this.options.snapThreshold);\n\t\t\t\tthis.snapThresholdY = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height * this.options.snapThreshold);\n\t\t\t}\n\t\t});\n\n\t\tthis.on('flick', function () {\n\t\t\tvar time = this.options.snapSpeed || Math.max(\n\t\t\t\t\tMath.max(\n\t\t\t\t\t\tMath.min(Math.abs(this.x - this.startX), 1000),\n\t\t\t\t\t\tMath.min(Math.abs(this.y - this.startY), 1000)\n\t\t\t\t\t), 300);\n\n\t\t\tthis.goToPage(\n\t\t\t\tthis.currentPage.pageX + this.directionX,\n\t\t\t\tthis.currentPage.pageY + this.directionY,\n\t\t\t\ttime\n\t\t\t);\n\t\t});\n\t},\n\n\t_nearestSnap: function (x, y) {\n\t\tif ( !this.pages.length ) {\n\t\t\treturn { x: 0, y: 0, pageX: 0, pageY: 0 };\n\t\t}\n\n\t\tvar i = 0,\n\t\t\tl = this.pages.length,\n\t\t\tm = 0;\n\n\t\t// Check if we exceeded the snap threshold\n\t\tif ( Math.abs(x - this.absStartX) < this.snapThresholdX &&\n\t\t\tMath.abs(y - this.absStartY) < this.snapThresholdY ) {\n\t\t\treturn this.currentPage;\n\t\t}\n\n\t\tif ( x > 0 ) {\n\t\t\tx = 0;\n\t\t} else if ( x < this.maxScrollX ) {\n\t\t\tx = this.maxScrollX;\n\t\t}\n\n\t\tif ( y > 0 ) {\n\t\t\ty = 0;\n\t\t} else if ( y < this.maxScrollY ) {\n\t\t\ty = this.maxScrollY;\n\t\t}\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tif ( x >= this.pages[i][0].cx ) {\n\t\t\t\tx = this.pages[i][0].x;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tl = this.pages[i].length;\n\n\t\tfor ( ; m < l; m++ ) {\n\t\t\tif ( y >= this.pages[0][m].cy ) {\n\t\t\t\ty = this.pages[0][m].y;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif ( i == this.currentPage.pageX ) {\n\t\t\ti += this.directionX;\n\n\t\t\tif ( i < 0 ) {\n\t\t\t\ti = 0;\n\t\t\t} else if ( i >= this.pages.length ) {\n\t\t\t\ti = this.pages.length - 1;\n\t\t\t}\n\n\t\t\tx = this.pages[i][0].x;\n\t\t}\n\n\t\tif ( m == this.currentPage.pageY ) {\n\t\t\tm += this.directionY;\n\n\t\t\tif ( m < 0 ) {\n\t\t\t\tm = 0;\n\t\t\t} else if ( m >= this.pages[0].length ) {\n\t\t\t\tm = this.pages[0].length - 1;\n\t\t\t}\n\n\t\t\ty = this.pages[0][m].y;\n\t\t}\n\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y,\n\t\t\tpageX: i,\n\t\t\tpageY: m\n\t\t};\n\t},\n\n\tgoToPage: function (x, y, time, easing) {\n\t\teasing = easing || this.options.bounceEasing;\n\n\t\tif ( x >= this.pages.length ) {\n\t\t\tx = this.pages.length - 1;\n\t\t} else if ( x < 0 ) {\n\t\t\tx = 0;\n\t\t}\n\n\t\tif ( y >= this.pages[x].length ) {\n\t\t\ty = this.pages[x].length - 1;\n\t\t} else if ( y < 0 ) {\n\t\t\ty = 0;\n\t\t}\n\n\t\tvar posX = this.pages[x][y].x,\n\t\t\tposY = this.pages[x][y].y;\n\n\t\ttime = time === undefined ? this.options.snapSpeed || Math.max(\n\t\t\tMath.max(\n\t\t\t\tMath.min(Math.abs(posX - this.x), 1000),\n\t\t\t\tMath.min(Math.abs(posY - this.y), 1000)\n\t\t\t), 300) : time;\n\n\t\tthis.currentPage = {\n\t\t\tx: posX,\n\t\t\ty: posY,\n\t\t\tpageX: x,\n\t\t\tpageY: y\n\t\t};\n\n\t\tthis.scrollTo(posX, posY, time, easing);\n\t},\n\n\tnext: function (time, easing) {\n\t\tvar x = this.currentPage.pageX,\n\t\t\ty = this.currentPage.pageY;\n\n\t\tx++;\n\n\t\tif ( x >= this.pages.length && this.hasVerticalScroll ) {\n\t\t\tx = 0;\n\t\t\ty++;\n\t\t}\n\n\t\tthis.goToPage(x, y, time, easing);\n\t},\n\n\tprev: function (time, easing) {\n\t\tvar x = this.currentPage.pageX,\n\t\t\ty = this.currentPage.pageY;\n\n\t\tx--;\n\n\t\tif ( x < 0 && this.hasVerticalScroll ) {\n\t\t\tx = 0;\n\t\t\ty--;\n\t\t}\n\n\t\tthis.goToPage(x, y, time, easing);\n\t},\n\n\t_initKeys: function (e) {\n\t\t// default key bindings\n\t\tvar keys = {\n\t\t\tpageUp: 33,\n\t\t\tpageDown: 34,\n\t\t\tend: 35,\n\t\t\thome: 36,\n\t\t\tleft: 37,\n\t\t\tup: 38,\n\t\t\tright: 39,\n\t\t\tdown: 40\n\t\t};\n\t\tvar i;\n\n\t\t// if you give me characters I give you keycode\n\t\tif ( typeof this.options.keyBindings == 'object' ) {\n\t\t\tfor ( i in this.options.keyBindings ) {\n\t\t\t\tif ( typeof this.options.keyBindings[i] == 'string' ) {\n\t\t\t\t\tthis.options.keyBindings[i] = this.options.keyBindings[i].toUpperCase().charCodeAt(0);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis.options.keyBindings = {};\n\t\t}\n\n\t\tfor ( i in keys ) {\n\t\t\tthis.options.keyBindings[i] = this.options.keyBindings[i] || keys[i];\n\t\t}\n\n\t\tutils.addEvent(window, 'keydown', this);\n\n\t\tthis.on('destroy', function () {\n\t\t\tutils.removeEvent(window, 'keydown', this);\n\t\t});\n\t},\n\n\t_key: function (e) {\n\t\tif ( !this.enabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar snap = this.options.snap,\t// we are using this alot, better to cache it\n\t\t\tnewX = snap ? this.currentPage.pageX : this.x,\n\t\t\tnewY = snap ? this.currentPage.pageY : this.y,\n\t\t\tnow = utils.getTime(),\n\t\t\tprevTime = this.keyTime || 0,\n\t\t\tacceleration = 0.250,\n\t\t\tpos;\n\n\t\tif ( this.options.useTransition && this.isInTransition ) {\n\t\t\tpos = this.getComputedPosition();\n\n\t\t\tthis._translate(Math.round(pos.x), Math.round(pos.y));\n\t\t\tthis.isInTransition = false;\n\t\t}\n\n\t\tthis.keyAcceleration = now - prevTime < 200 ? Math.min(this.keyAcceleration + acceleration, 50) : 0;\n\n\t\tswitch ( e.keyCode ) {\n\t\t\tcase this.options.keyBindings.pageUp:\n\t\t\t\tif ( this.hasHorizontalScroll && !this.hasVerticalScroll ) {\n\t\t\t\t\tnewX += snap ? 1 : this.wrapperWidth;\n\t\t\t\t} else {\n\t\t\t\t\tnewY += snap ? 1 : this.wrapperHeight;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase this.options.keyBindings.pageDown:\n\t\t\t\tif ( this.hasHorizontalScroll && !this.hasVerticalScroll ) {\n\t\t\t\t\tnewX -= snap ? 1 : this.wrapperWidth;\n\t\t\t\t} else {\n\t\t\t\t\tnewY -= snap ? 1 : this.wrapperHeight;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase this.options.keyBindings.end:\n\t\t\t\tnewX = snap ? this.pages.length-1 : this.maxScrollX;\n\t\t\t\tnewY = snap ? this.pages[0].length-1 : this.maxScrollY;\n\t\t\t\tbreak;\n\t\t\tcase this.options.keyBindings.home:\n\t\t\t\tnewX = 0;\n\t\t\t\tnewY = 0;\n\t\t\t\tbreak;\n\t\t\tcase this.options.keyBindings.left:\n\t\t\t\tnewX += snap ? -1 : 5 + this.keyAcceleration>>0;\n\t\t\t\tbreak;\n\t\t\tcase this.options.keyBindings.up:\n\t\t\t\tnewY += snap ? 1 : 5 + this.keyAcceleration>>0;\n\t\t\t\tbreak;\n\t\t\tcase this.options.keyBindings.right:\n\t\t\t\tnewX -= snap ? -1 : 5 + this.keyAcceleration>>0;\n\t\t\t\tbreak;\n\t\t\tcase this.options.keyBindings.down:\n\t\t\t\tnewY -= snap ? 1 : 5 + this.keyAcceleration>>0;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\tif ( snap ) {\n\t\t\tthis.goToPage(newX, newY);\n\t\t\treturn;\n\t\t}\n\n\t\tif ( newX > 0 ) {\n\t\t\tnewX = 0;\n\t\t\tthis.keyAcceleration = 0;\n\t\t} else if ( newX < this.maxScrollX ) {\n\t\t\tnewX = this.maxScrollX;\n\t\t\tthis.keyAcceleration = 0;\n\t\t}\n\n\t\tif ( newY > 0 ) {\n\t\t\tnewY = 0;\n\t\t\tthis.keyAcceleration = 0;\n\t\t} else if ( newY < this.maxScrollY ) {\n\t\t\tnewY = this.maxScrollY;\n\t\t\tthis.keyAcceleration = 0;\n\t\t}\n\n\t\tthis.scrollTo(newX, newY, 0);\n\n\t\tthis.keyTime = now;\n\t},\n\n\t_animate: function (destX, destY, duration, easingFn) {\n\t\tvar that = this,\n\t\t\tstartX = this.x,\n\t\t\tstartY = this.y,\n\t\t\tstartTime = utils.getTime(),\n\t\t\tdestTime = startTime + duration;\n\n\t\tfunction step () {\n\t\t\tvar now = utils.getTime(),\n\t\t\t\tnewX, newY,\n\t\t\t\teasing;\n\n\t\t\tif ( now >= destTime ) {\n\t\t\t\tthat.isAnimating = false;\n\t\t\t\tthat._translate(destX, destY);\n\n\t\t\t\tif ( !that.resetPosition(that.options.bounceTime) ) {\n\t\t\t\t\tthat._execEvent('scrollEnd');\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnow = ( now - startTime ) / duration;\n\t\t\teasing = easingFn(now);\n\t\t\tnewX = ( destX - startX ) * easing + startX;\n\t\t\tnewY = ( destY - startY ) * easing + startY;\n\t\t\tthat._translate(newX, newY);\n\n\t\t\tif ( that.isAnimating ) {\n\t\t\t\trAF(step);\n\t\t\t}\n\t\t}\n\n\t\tthis.isAnimating = true;\n\t\tstep();\n\t},\n\thandleEvent: function (e) {\n\t\tswitch ( e.type ) {\n\t\t\tcase 'touchstart':\n\t\t\tcase 'pointerdown':\n\t\t\tcase 'MSPointerDown':\n\t\t\tcase 'mousedown':\n\t\t\t\tthis._start(e);\n\t\t\t\tbreak;\n\t\t\tcase 'touchmove':\n\t\t\tcase 'pointermove':\n\t\t\tcase 'MSPointerMove':\n\t\t\tcase 'mousemove':\n\t\t\t\tthis._move(e);\n\t\t\t\tbreak;\n\t\t\tcase 'touchend':\n\t\t\tcase 'pointerup':\n\t\t\tcase 'MSPointerUp':\n\t\t\tcase 'mouseup':\n\t\t\tcase 'touchcancel':\n\t\t\tcase 'pointercancel':\n\t\t\tcase 'MSPointerCancel':\n\t\t\tcase 'mousecancel':\n\t\t\t\tthis._end(e);\n\t\t\t\tbreak;\n\t\t\tcase 'orientationchange':\n\t\t\tcase 'resize':\n\t\t\t\tthis._resize();\n\t\t\t\tbreak;\n\t\t\tcase 'transitionend':\n\t\t\tcase 'webkitTransitionEnd':\n\t\t\tcase 'oTransitionEnd':\n\t\t\tcase 'MSTransitionEnd':\n\t\t\t\tthis._transitionEnd(e);\n\t\t\t\tbreak;\n\t\t\tcase 'wheel':\n\t\t\tcase 'DOMMouseScroll':\n\t\t\tcase 'mousewheel':\n\t\t\t\tthis._wheel(e);\n\t\t\t\tbreak;\n\t\t\tcase 'keydown':\n\t\t\t\tthis._key(e);\n\t\t\t\tbreak;\n\t\t\tcase 'click':\n\t\t\t\tif ( this.enabled && !e._constructed ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n};\nfunction createDefaultScrollbar (direction, interactive, type) {\n\tvar scrollbar = document.createElement('div'),\n\t\tindicator = document.createElement('div');\n\n\tif ( type === true ) {\n\t\tscrollbar.style.cssText = 'position:absolute;z-index:9999';\n\t\tindicator.style.cssText = '-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px';\n\t}\n\n\tindicator.className = 'iScrollIndicator';\n\n\tif ( direction == 'h' ) {\n\t\tif ( type === true ) {\n\t\t\tscrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n\t\t\tindicator.style.height = '100%';\n\t\t}\n\t\tscrollbar.className = 'iScrollHorizontalScrollbar';\n\t} else {\n\t\tif ( type === true ) {\n\t\t\tscrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n\t\t\tindicator.style.width = '100%';\n\t\t}\n\t\tscrollbar.className = 'iScrollVerticalScrollbar';\n\t}\n\n\tscrollbar.style.cssText += ';overflow:hidden';\n\n\tif ( !interactive ) {\n\t\tscrollbar.style.pointerEvents = 'none';\n\t}\n\n\tscrollbar.appendChild(indicator);\n\n\treturn scrollbar;\n}\n\nfunction Indicator (scroller, options) {\n\tthis.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el;\n\tthis.wrapperStyle = this.wrapper.style;\n\tthis.indicator = this.wrapper.children[0];\n\tthis.indicatorStyle = this.indicator.style;\n\tthis.scroller = scroller;\n\n\tthis.options = {\n\t\tlistenX: true,\n\t\tlistenY: true,\n\t\tinteractive: false,\n\t\tresize: true,\n\t\tdefaultScrollbars: false,\n\t\tshrink: false,\n\t\tfade: false,\n\t\tspeedRatioX: 0,\n\t\tspeedRatioY: 0\n\t};\n\n\tfor ( var i in options ) {\n\t\tthis.options[i] = options[i];\n\t}\n\n\tthis.sizeRatioX = 1;\n\tthis.sizeRatioY = 1;\n\tthis.maxPosX = 0;\n\tthis.maxPosY = 0;\n\n\tif ( this.options.interactive ) {\n\t\tif ( !this.options.disableTouch ) {\n\t\t\tutils.addEvent(this.indicator, 'touchstart', this);\n\t\t\tutils.addEvent(window, 'touchend', this);\n\t\t}\n\t\tif ( !this.options.disablePointer ) {\n\t\t\tutils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);\n\t\t\tutils.addEvent(window, utils.prefixPointerEvent('pointerup'), this);\n\t\t}\n\t\tif ( !this.options.disableMouse ) {\n\t\t\tutils.addEvent(this.indicator, 'mousedown', this);\n\t\t\tutils.addEvent(window, 'mouseup', this);\n\t\t}\n\t}\n\n\tif ( this.options.fade ) {\n\t\tthis.wrapperStyle[utils.style.transform] = this.scroller.translateZ;\n\t\tvar durationProp = utils.style.transitionDuration;\n\t\tthis.wrapperStyle[durationProp] = utils.isBadAndroid ? '0.0001ms' : '0ms';\n\t\t// remove 0.0001ms\n\t\tvar self = this;\n\t\tif(utils.isBadAndroid) {\n\t\t\trAF(function() {\n\t\t\t\tif(self.wrapperStyle[durationProp] === '0.0001ms') {\n\t\t\t\t\tself.wrapperStyle[durationProp] = '0s';\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tthis.wrapperStyle.opacity = '0';\n\t}\n}\n\nIndicator.prototype = {\n\thandleEvent: function (e) {\n\t\tswitch ( e.type ) {\n\t\t\tcase 'touchstart':\n\t\t\tcase 'pointerdown':\n\t\t\tcase 'MSPointerDown':\n\t\t\tcase 'mousedown':\n\t\t\t\tthis._start(e);\n\t\t\t\tbreak;\n\t\t\tcase 'touchmove':\n\t\t\tcase 'pointermove':\n\t\t\tcase 'MSPointerMove':\n\t\t\tcase 'mousemove':\n\t\t\t\tthis._move(e);\n\t\t\t\tbreak;\n\t\t\tcase 'touchend':\n\t\t\tcase 'pointerup':\n\t\t\tcase 'MSPointerUp':\n\t\t\tcase 'mouseup':\n\t\t\tcase 'touchcancel':\n\t\t\tcase 'pointercancel':\n\t\t\tcase 'MSPointerCancel':\n\t\t\tcase 'mousecancel':\n\t\t\t\tthis._end(e);\n\t\t\t\tbreak;\n\t\t}\n\t},\n\n\tdestroy: function () {\n\t\tif ( this.options.fadeScrollbars ) {\n\t\t\tclearTimeout(this.fadeTimeout);\n\t\t\tthis.fadeTimeout = null;\n\t\t}\n\t\tif ( this.options.interactive ) {\n\t\t\tutils.removeEvent(this.indicator, 'touchstart', this);\n\t\t\tutils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);\n\t\t\tutils.removeEvent(this.indicator, 'mousedown', this);\n\n\t\t\tutils.removeEvent(window, 'touchmove', this);\n\t\t\tutils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);\n\t\t\tutils.removeEvent(window, 'mousemove', this);\n\n\t\t\tutils.removeEvent(window, 'touchend', this);\n\t\t\tutils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this);\n\t\t\tutils.removeEvent(window, 'mouseup', this);\n\t\t}\n\n\t\tif ( this.options.defaultScrollbars ) {\n\t\t\tthis.wrapper.parentNode.removeChild(this.wrapper);\n\t\t}\n\t},\n\n\t_start: function (e) {\n\t\tvar point = e.touches ? e.touches[0] : e;\n\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tthis.transitionTime();\n\n\t\tthis.initiated = true;\n\t\tthis.moved = false;\n\t\tthis.lastPointX\t= point.pageX;\n\t\tthis.lastPointY\t= point.pageY;\n\n\t\tthis.startTime\t= utils.getTime();\n\n\t\tif ( !this.options.disableTouch ) {\n\t\t\tutils.addEvent(window, 'touchmove', this);\n\t\t}\n\t\tif ( !this.options.disablePointer ) {\n\t\t\tutils.addEvent(window, utils.prefixPointerEvent('pointermove'), this);\n\t\t}\n\t\tif ( !this.options.disableMouse ) {\n\t\t\tutils.addEvent(window, 'mousemove', this);\n\t\t}\n\n\t\tthis.scroller._execEvent('beforeScrollStart');\n\t},\n\n\t_move: function (e) {\n\t\tvar point = e.touches ? e.touches[0] : e,\n\t\t\tdeltaX, deltaY,\n\t\t\tnewX, newY,\n\t\t\ttimestamp = utils.getTime();\n\n\t\tif ( !this.moved ) {\n\t\t\tthis.scroller._execEvent('scrollStart');\n\t\t}\n\n\t\tthis.moved = true;\n\n\t\tdeltaX = point.pageX - this.lastPointX;\n\t\tthis.lastPointX = point.pageX;\n\n\t\tdeltaY = point.pageY - this.lastPointY;\n\t\tthis.lastPointY = point.pageY;\n\n\t\tnewX = this.x + deltaX;\n\t\tnewY = this.y + deltaY;\n\n\t\tthis._pos(newX, newY);\n\n// INSERT POINT: indicator._move\n\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t},\n\n\t_end: function (e) {\n\t\tif ( !this.initiated ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initiated = false;\n\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tutils.removeEvent(window, 'touchmove', this);\n\t\tutils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);\n\t\tutils.removeEvent(window, 'mousemove', this);\n\n\t\tif ( this.scroller.options.snap ) {\n\t\t\tvar snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n\t\t\tvar time = this.options.snapSpeed || Math.max(\n\t\t\t\t\tMath.max(\n\t\t\t\t\t\tMath.min(Math.abs(this.scroller.x - snap.x), 1000),\n\t\t\t\t\t\tMath.min(Math.abs(this.scroller.y - snap.y), 1000)\n\t\t\t\t\t), 300);\n\n\t\t\tif ( this.scroller.x != snap.x || this.scroller.y != snap.y ) {\n\t\t\t\tthis.scroller.directionX = 0;\n\t\t\t\tthis.scroller.directionY = 0;\n\t\t\t\tthis.scroller.currentPage = snap;\n\t\t\t\tthis.scroller.scrollTo(snap.x, snap.y, time, this.scroller.options.bounceEasing);\n\t\t\t}\n\t\t}\n\n\t\tif ( this.moved ) {\n\t\t\tthis.scroller._execEvent('scrollEnd');\n\t\t}\n\t},\n\n\ttransitionTime: function (time) {\n\t\ttime = time || 0;\n\t\tvar durationProp = utils.style.transitionDuration;\n\t\tthis.indicatorStyle[durationProp] = time + 'ms';\n\n\t\tif ( !time && utils.isBadAndroid ) {\n\t\t\tthis.indicatorStyle[durationProp] = '0.0001ms';\n\t\t\t// remove 0.0001ms\n\t\t\tvar self = this;\n\t\t\trAF(function() {\n\t\t\t\tif(self.indicatorStyle[durationProp] === '0.0001ms') {\n\t\t\t\t\tself.indicatorStyle[durationProp] = '0s';\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\ttransitionTimingFunction: function (easing) {\n\t\tthis.indicatorStyle[utils.style.transitionTimingFunction] = easing;\n\t},\n\n\trefresh: function () {\n\t\tthis.transitionTime();\n\n\t\tif ( this.options.listenX && !this.options.listenY ) {\n\t\t\tthis.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none';\n\t\t} else if ( this.options.listenY && !this.options.listenX ) {\n\t\t\tthis.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none';\n\t\t} else {\n\t\t\tthis.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none';\n\t\t}\n\n\t\tif ( this.scroller.hasHorizontalScroll && this.scroller.hasVerticalScroll ) {\n\t\t\tutils.addClass(this.wrapper, 'iScrollBothScrollbars');\n\t\t\tutils.removeClass(this.wrapper, 'iScrollLoneScrollbar');\n\n\t\t\tif ( this.options.defaultScrollbars && this.options.customStyle ) {\n\t\t\t\tif ( this.options.listenX ) {\n\t\t\t\t\tthis.wrapper.style.right = '8px';\n\t\t\t\t} else {\n\t\t\t\t\tthis.wrapper.style.bottom = '8px';\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tutils.removeClass(this.wrapper, 'iScrollBothScrollbars');\n\t\t\tutils.addClass(this.wrapper, 'iScrollLoneScrollbar');\n\n\t\t\tif ( this.options.defaultScrollbars && this.options.customStyle ) {\n\t\t\t\tif ( this.options.listenX ) {\n\t\t\t\t\tthis.wrapper.style.right = '2px';\n\t\t\t\t} else {\n\t\t\t\t\tthis.wrapper.style.bottom = '2px';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar r = this.wrapper.offsetHeight;\t// force refresh\n\n\t\tif ( this.options.listenX ) {\n\t\t\tthis.wrapperWidth = this.wrapper.clientWidth;\n\t\t\tif ( this.options.resize ) {\n\t\t\t\tthis.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8);\n\t\t\t\tthis.indicatorStyle.width = this.indicatorWidth + 'px';\n\t\t\t} else {\n\t\t\t\tthis.indicatorWidth = this.indicator.clientWidth;\n\t\t\t}\n\n\t\t\tthis.maxPosX = this.wrapperWidth - this.indicatorWidth;\n\n\t\t\tif ( this.options.shrink == 'clip' ) {\n\t\t\t\tthis.minBoundaryX = -this.indicatorWidth + 8;\n\t\t\t\tthis.maxBoundaryX = this.wrapperWidth - 8;\n\t\t\t} else {\n\t\t\t\tthis.minBoundaryX = 0;\n\t\t\t\tthis.maxBoundaryX = this.maxPosX;\n\t\t\t}\n\n\t\t\tthis.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX));\n\t\t}\n\n\t\tif ( this.options.listenY ) {\n\t\t\tthis.wrapperHeight = this.wrapper.clientHeight;\n\t\t\tif ( this.options.resize ) {\n\t\t\t\tthis.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8);\n\t\t\t\tthis.indicatorStyle.height = this.indicatorHeight + 'px';\n\t\t\t} else {\n\t\t\t\tthis.indicatorHeight = this.indicator.clientHeight;\n\t\t\t}\n\n\t\t\tthis.maxPosY = this.wrapperHeight - this.indicatorHeight;\n\n\t\t\tif ( this.options.shrink == 'clip' ) {\n\t\t\t\tthis.minBoundaryY = -this.indicatorHeight + 8;\n\t\t\t\tthis.maxBoundaryY = this.wrapperHeight - 8;\n\t\t\t} else {\n\t\t\t\tthis.minBoundaryY = 0;\n\t\t\t\tthis.maxBoundaryY = this.maxPosY;\n\t\t\t}\n\n\t\t\tthis.maxPosY = this.wrapperHeight - this.indicatorHeight;\n\t\t\tthis.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY));\n\t\t}\n\n\t\tthis.updatePosition();\n\t},\n\n\tupdatePosition: function () {\n\t\tvar x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0,\n\t\t\ty = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0;\n\n\t\tif ( !this.options.ignoreBoundaries ) {\n\t\t\tif ( x < this.minBoundaryX ) {\n\t\t\t\tif ( this.options.shrink == 'scale' ) {\n\t\t\t\t\tthis.width = Math.max(this.indicatorWidth + x, 8);\n\t\t\t\t\tthis.indicatorStyle.width = this.width + 'px';\n\t\t\t\t}\n\t\t\t\tx = this.minBoundaryX;\n\t\t\t} else if ( x > this.maxBoundaryX ) {\n\t\t\t\tif ( this.options.shrink == 'scale' ) {\n\t\t\t\t\tthis.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8);\n\t\t\t\t\tthis.indicatorStyle.width = this.width + 'px';\n\t\t\t\t\tx = this.maxPosX + this.indicatorWidth - this.width;\n\t\t\t\t} else {\n\t\t\t\t\tx = this.maxBoundaryX;\n\t\t\t\t}\n\t\t\t} else if ( this.options.shrink == 'scale' && this.width != this.indicatorWidth ) {\n\t\t\t\tthis.width = this.indicatorWidth;\n\t\t\t\tthis.indicatorStyle.width = this.width + 'px';\n\t\t\t}\n\n\t\t\tif ( y < this.minBoundaryY ) {\n\t\t\t\tif ( this.options.shrink == 'scale' ) {\n\t\t\t\t\tthis.height = Math.max(this.indicatorHeight + y * 3, 8);\n\t\t\t\t\tthis.indicatorStyle.height = this.height + 'px';\n\t\t\t\t}\n\t\t\t\ty = this.minBoundaryY;\n\t\t\t} else if ( y > this.maxBoundaryY ) {\n\t\t\t\tif ( this.options.shrink == 'scale' ) {\n\t\t\t\t\tthis.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8);\n\t\t\t\t\tthis.indicatorStyle.height = this.height + 'px';\n\t\t\t\t\ty = this.maxPosY + this.indicatorHeight - this.height;\n\t\t\t\t} else {\n\t\t\t\t\ty = this.maxBoundaryY;\n\t\t\t\t}\n\t\t\t} else if ( this.options.shrink == 'scale' && this.height != this.indicatorHeight ) {\n\t\t\t\tthis.height = this.indicatorHeight;\n\t\t\t\tthis.indicatorStyle.height = this.height + 'px';\n\t\t\t}\n\t\t}\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\n\t\tif ( this.scroller.options.useTransform ) {\n\t\t\tthis.indicatorStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.scroller.translateZ;\n\t\t} else {\n\t\t\tthis.indicatorStyle.left = x + 'px';\n\t\t\tthis.indicatorStyle.top = y + 'px';\n\t\t}\n\t},\n\n\t_pos: function (x, y) {\n\t\tif ( x < 0 ) {\n\t\t\tx = 0;\n\t\t} else if ( x > this.maxPosX ) {\n\t\t\tx = this.maxPosX;\n\t\t}\n\n\t\tif ( y < 0 ) {\n\t\t\ty = 0;\n\t\t} else if ( y > this.maxPosY ) {\n\t\t\ty = this.maxPosY;\n\t\t}\n\n\t\tx = this.options.listenX ? Math.round(x / this.sizeRatioX) : this.scroller.x;\n\t\ty = this.options.listenY ? Math.round(y / this.sizeRatioY) : this.scroller.y;\n\n\t\tthis.scroller.scrollTo(x, y);\n\t},\n\n\tfade: function (val, hold) {\n\t\tif ( hold && !this.visible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout(this.fadeTimeout);\n\t\tthis.fadeTimeout = null;\n\n\t\tvar time = val ? 250 : 500,\n\t\t\tdelay = val ? 0 : 300;\n\n\t\tval = val ? '1' : '0';\n\n\t\tthis.wrapperStyle[utils.style.transitionDuration] = time + 'ms';\n\n\t\tthis.fadeTimeout = setTimeout((function (val) {\n\t\t\tthis.wrapperStyle.opacity = val;\n\t\t\tthis.visible = +val;\n\t\t}).bind(this, val), delay);\n\t}\n};\n\nIScroll.utils = utils;\n\nif ( typeof module != 'undefined' && module.exports ) {\n\tmodule.exports = IScroll;\n} else if ( typeof define == 'function' && define.amd ) {\n define( function () { return IScroll; } );\n} else {\n\twindow.IScroll = IScroll;\n}\n\n})(window, document, Math);\n","/*!\n * jQuery JavaScript Library v3.6.0\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-03-02T17:08Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.6.0\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.6\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2021-02-16\n */\n( function( window ) {\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ( {} ).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpushNative = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[ i ] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\" +\n\t\t\"ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5]\n\t\t// or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" +\n\t\twhitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace +\n\t\t\"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\treturn nonHex ?\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\tnonHex :\n\n\t\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t\t// Support: IE <=11+\n\t\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t\t// surrogate pair\n\t\t\thigh < 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" +\n\t\t\t\tch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( ( target[ j++ ] = els[ i++ ] ) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t( nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\" ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\tif ( newContext !== context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split( \"|\" ),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[ i ] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( ( cur = cur.nextSibling ) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn ( name === \"input\" || name === \"button\" ) && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\tvar namespace = elem && elem.namespaceURI,\n\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\n\n\t// Support: IE <=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( preferredDoc != document &&\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\n\t// Safari 4 - 5 only, Opera <=11.6 - 12.x only\n\t// IE/Edge & older browsers don't support the :scope pseudo-class.\n\t// Support: Safari 6.0 only\n\t// Safari 6.0 supports :scope but it's an alias of :root there.\n\tsupport.scope = assert( function( el ) {\n\t\tdocElem.appendChild( el ).appendChild( document.createElement( \"div\" ) );\n\t\treturn typeof el.querySelectorAll !== \"undefined\" &&\n\t\t\t!el.querySelectorAll( \":scope fieldset div\" ).length;\n\t} );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert( function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute( \"className\" );\n\t} );\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert( function( el ) {\n\t\tel.appendChild( document.createComment( \"\" ) );\n\t\treturn !el.getElementsByTagName( \"*\" ).length;\n\t} );\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[ \"TAG\" ] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[ \"CLASS\" ] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {\n\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert( function( el ) {\n\n\t\t\tvar input;\n\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll( \"[msallowcapture^='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"~=\" );\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t\t// Adding a temporary attribute to the document before the selection works\n\t\t\t// around the issue.\n\t\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\t\tinput = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"name\", \"\" );\n\t\t\tel.appendChild( input );\n\t\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\t\trbuggyQSA.push( \":checked\" );\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t\t}\n\n\t\t\t// Support: Firefox <=3.6 - 5 only\n\t\t\t// Old Firefox doesn't throw on a badly-escaped identifier.\n\t\t\tel.querySelectorAll( \"\\\\\\f\" );\n\t\t\trbuggyQSA.push( \"[\\\\r\\\\n\\\\f]\" );\n\t\t} );\n\n\t\tassert( function( el ) {\n\t\t\tel.innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll( \"[name=d]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll( \":enabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: Opera 10 - 11 only\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll( \"*,:x\" );\n\t\t\trbuggyQSA.push( \",.*:\" );\n\t\t} );\n\t}\n\n\tif ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector ) ) ) ) {\n\n\t\tassert( function( el ) {\n\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t} );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( \"|\" ) );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t) );\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( ( b = b.parentNode ) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a == document || a.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b == document || b.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\treturn a == document ? -1 :\n\t\t\t\tb == document ? 1 :\n\t\t\t\t/* eslint-enable eqeqeq */\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[ i ] === bp[ i ] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[ i ], bp[ i ] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\tap[ i ] == preferredDoc ? -1 :\n\t\t\tbp[ i ] == preferredDoc ? 1 :\n\t\t\t/* eslint-enable eqeqeq */\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t// fragment in IE 9\n\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] ||\n\t\t\t\tmatch[ 5 ] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" ) );\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\n\n\t\t\tif ( matchExpr[ \"CHILD\" ].test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace +\n\t\t\t\t\t\")\" + className + \"(\" + whitespace + \"|$)\" ) ) && classCache(\n\t\t\t\t\t\tclassName, function( elem ) {\n\t\t\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\t/* eslint-disable max-len */\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t\t/* eslint-enable max-len */\n\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\t\"has\": markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t} ),\n\n\t\t\"contains\": markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement &&\n\t\t\t\t( !document.hasFocus || document.hasFocus() ) &&\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn ( nodeName === \"input\" && !!elem.checked ) ||\n\t\t\t\t( nodeName === \"option\" && !!elem.selected );\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[ \"empty\" ]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\t\"last\": createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\t\"eq\": createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\t\"even\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"odd\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"lt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ?\n\t\t\t\targument + length :\n\t\t\t\targument > length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"gt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos[ \"nth\" ] = Expr.pseudos[ \"eq\" ];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rcombinators.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrim, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] ||\n\t\t\t\t\t\t\t( outerCache[ elem.uniqueID ] = {} );\n\n\t\t\t\t\t\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = uniqueCache[ key ] ) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts(\n\t\t\t\tselector || \"*\",\n\t\t\t\tcontext.nodeType ? [ context ] : context,\n\t\t\t\t[]\n\t\t\t),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\n\t\t\t\t\t\t( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\n\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\ttokens\n\t\t\t\t\t\t.slice( 0, i - 1 )\n\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[ \"TAG\" ]( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache(\n\t\t\tselector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers )\n\t\t);\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\n\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find[ \"ID\" ]( token.matches[ 0 ]\n\t\t\t\t.replace( runescape, funescape ), context ) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[ \"needsContext\" ].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\n} );\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert( function( el ) {\n\tel.innerHTML = \"\";\n\treturn el.firstChild.getAttribute( \"href\" ) === \"#\";\n} ) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert( function( el ) {\n\tel.innerHTML = \"\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n} ) ) {\n\taddHandle( \"value\", function( elem, _name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert( function( el ) {\n\treturn el.getAttribute( \"disabled\" ) == null;\n} ) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\t\tnull;\n\t\t}\n\t} );\n}\n\nreturn Sizzle;\n\n} )( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n}\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the primary Deferred\n\t\t\tprimary = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tprimary.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( primary.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn primary.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );\n\t\t}\n\n\t\treturn primary.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\t\tvalue :\n\t\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (#9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces \";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting or other required elements.\n\tthead: [ 1, \"\", \"
    \" ],\n\tcol: [ 2, \"\", \"
    \" ],\n\ttr: [ 2, \"\", \"
    \" ],\n\ttd: [ 3, \"\", \"
    \" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Support: Chrome 86+\n\t\t\t\t\t\t// In Chrome, if an element having a focusout handler is blurred by\n\t\t\t\t\t\t// clicking outside of it, it invokes the handler synchronously. If\n\t\t\t\t\t\t// that handler calls `.remove()` on the element, the data is cleared,\n\t\t\t\t\t\t// leaving `result` undefined. We need to guard against this.\n\t\t\t\t\t\treturn result && result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (#504, #13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\twhich: true\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\t// Suppress native focus or blur as it's already being fired\n\t\t// in leverageNative.\n\t\t_default: function() {\n\t\t\treturn true;\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\t//\n\t\t// Support: Firefox 70+\n\t\t// Only Firefox includes border widths\n\t\t// in computed dimensions. (gh-4529)\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n\t\t\t\ttr.style.cssText = \"border:1px solid\";\n\n\t\t\t\t// Support: Chrome 86+\n\t\t\t\t// Height set through cssText does not get applied.\n\t\t\t\t// Computed height then comes back as 0.\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\t// Support: Android 8 Chrome 86+\n\t\t\t\t// In our bodyBackground.html iframe,\n\t\t\t\t// display for all div elements is set to \"inline\",\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\n\t\t\t\t// Ensuring the div is display: block\n\t\t\t\t// gets around this issue.\n\t\t\t\ttrChild.style.display = \"block\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, #12537)\n\t// .css('--customProperty) (#3144)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trcustomProp = /^--/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\tif ( box === \"margin\" ) {\n\t\t\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"gridArea\": true,\n\t\t\"gridColumn\": true,\n\t\t\"gridColumnEnd\": true,\n\t\t\"gridColumnStart\": true,\n\t\t\"gridRow\": true,\n\t\t\"gridRowEnd\": true,\n\t\t\"gridRowStart\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t} ) :\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\n\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = classesToArray( value );\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || Object.create( null ) )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\n// Support: Firefox <=44\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\n\t\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, parserErrorElem;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {}\n\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\n\tif ( !xml || parserErrorElem ) {\n\t\tjQuery.error( \"Invalid XML: \" + (\n\t\t\tparserErrorElem ?\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\n\t\t\t\t\treturn el.textContent;\n\t\t\t\t} ).join( \"\\n\" ) :\n\t\t\t\tdata\n\t\t) );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} ).filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} ).map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\noriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script but not if jsonp\n\t\t\tif ( !isSuccess &&\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"',p=\"javascript:document.write('\"+f+\"')\"),s.hide(),n=e(\"\")}},\"k:script\":{start:function(e){v(e,\"script\")},end:function(){z.push(\"\")},skipEncoding:!0},span:{semantic:!0,start:function(t){var n,i,o=t.style,r=w(t),a=d(r);a.length&&(z.push(\"\")),\"underline\"==o.textDecoration&&z.push(\"\"),n=[],o.color&&n.push('color=\"'+l.toHex(o.color)+'\"'),o.fontFamily&&n.push('face=\"'+o.fontFamily+'\"'),o.fontSize&&(i=e.inArray(o.fontSize,c),n.push('size=\"'+i+'\"')),n.length&&z.push(\"\")},end:function(e){var t=e.style;(t.color||t.fontFamily||t.fontSize)&&z.push(\"\"),\"underline\"==t.textDecoration&&z.push(\"\"),d(w(e)).length&&z.push(\"\")}},strong:{semantic:!0,start:function(e){v(e,\"b\")},end:function(){z.push(\"\")}},em:{semantic:!0,start:function(e){v(e,\"i\")},end:function(){z.push(\"\")}},b:{semantic:!1,start:function(e){v(e,\"strong\")},end:function(){z.push(\"\")}},i:{semantic:!1,start:function(e){v(e,\"em\")},end:function(){z.push(\"\")}},u:{semantic:!1,start:function(t){var n,i,o;z.push(\"\")},end:function(){z.push(\"\")}},font:{semantic:!1,start:function(e){var t,n,i;z.push('')},end:function(){z.push(\"\")}}};return E.script=E[\"k:script\"],r=r||{},t===r.semantic&&(r.semantic=!0),R(i)?(z=l.encode(T(i.firstChild).replace(/[\\r\\n\\v\\f\\t ]+/,\" \"),r),S(),z):(C(i),z=z.join(\"\"),S(),\"\"===z.replace(f,\"\").replace(m,\"\")?\"\":z)}},d(s,{Serializer:r})}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/components.min\",[\"editor/serializer.min\"],e)}(function(){!function(e,t){var n=window.kendo,i=n.ui.DropDownList,o=n.ui.editor.Dom,r=i.extend({init:function(t,o){var r=this;i.fn.init.call(r,t,o),n.support.mobileOS.ios&&(this._initSelectOverlay(),this.bind(\"dataBound\",e.proxy(this._initSelectOverlay,this))),r.text(r.options.title),r.bind(\"open\",function(){if(r.options.autoSize){var e,t=r.list;t.css({whiteSpace:\"nowrap\",width:\"auto\"}),e=t.width(),e?e+=20:e=r._listWidth,t.css(\"width\",e+n.support.scrollbar()),r._listWidth=e}})},options:{name:\"SelectBox\",index:-1},_initSelectOverlay:function(){var t,i,o,r,a=this,s=a.value(),l=this.dataSource.view(),d=\"\",c=n.htmlEncode;for(i=0;i\"+c(t.text)+\"\";o=e(\"\"),r=e(this.element).closest(\".k-widget\"),r.next(\".k-select-overlay\").remove(),o.insertAfter(r),o.on(\"change\",function(){a.value(this.value),a.trigger(\"change\")})},value:function(e){var n=this,o=i.fn.value.call(n,e);return e===t?o:(i.fn.value.call(n)||n.text(n.options.title),t)},decorate:function(t){var n,i,r,a,s=this,l=s.dataSource,d=l.data();for(t&&s.list.css(\"background-color\",o.getEffectiveBackground(e(t))),n=0;n0&&u.previousSibling);a=u.nextSibling,o==-1&&C(a)?(f.setEndPoint(i?\"EndToStart\":\"EndToEnd\",e),w.remove(u),d=[a,f.text.length]):(s=!i&&u.previousSibling,l=i&&u.nextSibling,C(l)?d=[l,0]:C(s)?d=[s,s.length]:(c=x(u),d=r.nextSibling&&c==r.childNodes.length-1?[r.nextSibling,0]:[r,c]),w.remove(u)),t[i?\"setStart\":\"setEnd\"].apply(t,d)}var s,l,d,c,u,f,p,m,h,g=window.kendo,b=g.Class,v=e.extend,k=g.ui.editor,y=g.support.browser,w=k.Dom,x=w.findNodeIndex,C=w.isDataNode,T=w.findClosestAncestor,_=w.getNodeLength,N=w.normalize,R={selectionFromWindow:function(e){return\"getSelection\"in e?e.getSelection():new l(e.document)},selectionFromRange:function(e){var t=h.documentFromRange(e);return R.selectionFromDocument(t)},selectionFromDocument:function(e){return R.selectionFromWindow(w.windowFromDocument(e))}},S=b.extend({init:function(t){e.extend(this,{ownerDocument:t,startContainer:t,endContainer:t,commonAncestorContainer:t,startOffset:0,endOffset:0,collapsed:!0})},setStart:function(e,t){this.startContainer=e,this.startOffset=t,i(this),n(this,!0)},setEnd:function(e,t){this.endContainer=e,this.endOffset=t,i(this),n(this,!1)},setStartBefore:function(e){this.setStart(e.parentNode,x(e))},setStartAfter:function(e){this.setStart(e.parentNode,x(e)+1)},setEndBefore:function(e){this.setEnd(e.parentNode,x(e))},setEndAfter:function(e){this.setEnd(e.parentNode,x(e)+1)},selectNode:function(e){this.setStartBefore(e),this.setEndAfter(e)},selectNodeContents:function(e){this.setStart(e,0),this.setEnd(e,e[1===e.nodeType?\"childNodes\":\"nodeValue\"].length)},collapse:function(e){var t=this;e?t.setEnd(t.startContainer,t.startOffset):t.setStart(t.endContainer,t.endOffset)},deleteContents:function(){var e=this,t=e.cloneRange();e.startContainer!=e.commonAncestorContainer&&e.setStartAfter(T(e.commonAncestorContainer,e.startContainer)),e.collapse(!0),function n(e){for(;e.next();)e.hasPartialSubtree()?n(e.getSubtreeIterator()):e.remove()}(new s(t))},cloneContents:function(){var e=h.documentFromRange(this);return function t(n){for(var i,o=e.createDocumentFragment();i=n.next();)i=i.cloneNode(!n.hasPartialSubtree()),n.hasPartialSubtree()&&i.appendChild(t(n.getSubtreeIterator())),o.appendChild(i);return o}(new s(this))},extractContents:function(){var e,t=this,n=t.cloneRange();return t.startContainer!=t.commonAncestorContainer&&t.setStartAfter(T(t.commonAncestorContainer,t.startContainer)),t.collapse(!0),e=h.documentFromRange(t),function i(n){for(var o,r=e.createDocumentFragment();o=n.next();)n.hasPartialSubtree()?(o=o.cloneNode(!1),o.appendChild(i(n.getSubtreeIterator()))):n.remove(t.originalRange),r.appendChild(o);return r}(new s(n))},insertNode:function(e){var t=this;C(t.startContainer)?(t.startOffset!=t.startContainer.nodeValue.length&&w.splitDataNode(t.startContainer,t.startOffset),w.insertAfter(e,t.startContainer)):w.insertAt(t.startContainer,e,t.startOffset),t.setStart(t.startContainer,t.startOffset)},cloneRange:function(){return e.extend(new S(this.ownerDocument),{startContainer:this.startContainer,endContainer:this.endContainer,commonAncestorContainer:this.commonAncestorContainer,startOffset:this.startOffset,endOffset:this.endOffset,collapsed:this.collapsed,originalRange:this})},toString:function(){var e=this.startContainer.nodeName,t=this.endContainer.nodeName;return(\"#text\"==e?this.startContainer.nodeValue:e)+\"(\"+this.startOffset+\") : \"+(\"#text\"==t?this.endContainer.nodeValue:t)+\"(\"+this.endOffset+\")\"}});S.fromNode=function(e){return new S(e.ownerDocument)},s=b.extend({init:function(t){if(e.extend(this,{range:t,_current:null,_next:null,_end:null}),!t.collapsed){var n=t.commonAncestorContainer;this._next=t.startContainer!=n||C(t.startContainer)?T(n,t.startContainer):t.startContainer.childNodes[t.startOffset],this._end=t.endContainer!=n||C(t.endContainer)?T(n,t.endContainer).nextSibling:t.endContainer.childNodes[t.endOffset]}},hasNext:function(){return!!this._next},next:function(){var e=this,t=e._current=e._next;return e._next=e._current&&e._current.nextSibling!=e._end?e._current.nextSibling:null,C(e._current)&&(e.range.endContainer==e._current&&(t=t.cloneNode(!0),t.deleteData(e.range.endOffset,t.length-e.range.endOffset)),e.range.startContainer==e._current&&(t=t.cloneNode(!0),t.deleteData(0,e.range.startOffset))),t},traverse:function(e){function t(){return i._current=i._next,i._next=i._current&&i._current.nextSibling!=i._end?i._current.nextSibling:null,i._current}for(var n,i=this;n=t();)i.hasPartialSubtree()?i.getSubtreeIterator().traverse(e):e(n);return n},remove:function(e){var t,n,i,o,r,a=this,s=a.range.startContainer==a._current,l=a.range.endContainer==a._current;C(a._current)&&(s||l)?(t=s?a.range.startOffset:0,n=l?a.range.endOffset:a._current.length,i=n-t,e&&(s||l)&&(a._current==e.startContainer&&t<=e.startOffset&&(e.startOffset-=i),a._current==e.endContainer&&n<=e.endOffset&&(e.endOffset-=i)),a._current.deleteData(t,i)):(o=a._current.parentNode,!e||a.range.startContainer!=o&&a.range.endContainer!=o||(r=x(a._current),o==e.startContainer&&r<=e.startOffset&&(e.startOffset-=1),o==e.endContainer&&r=0&&e[t?\"setStart\":\"setEnd\"](o,a)},toRange:function(){var e=this,t=e.range.cloneRange();return e.toRangePoint(t,!0,e.startContainer,e.startOffset),e.toRangePoint(t,!1,e.endContainer,e.endOffset),t}}),p=b.extend({init:function(){this.caret=null},addCaret:function(e){var t=this,n=t.caret=w.create(h.documentFromRange(e),\"span\",{className:\"k-marker\"});return e.insertNode(n),w.stripBomNode(n.previousSibling),w.stripBomNode(n.nextSibling),e.selectNode(n),n},removeCaret:function(e){var t,n,i,o,r=this,a=r.caret.previousSibling,s=0;a&&(s=C(a)?a.nodeValue.length:x(a)),t=r.caret.parentNode,n=a?x(a):0,w.remove(r.caret),N(t),i=t.childNodes[n],C(i)?e.setStart(i,s):i?(o=w.lastTextNode(i),o?e.setStart(o,o.nodeValue.length):e[a?\"setStartAfter\":\"setStartBefore\"](i)):(y.msie||t.innerHTML||(t.innerHTML='
    '),e.selectNodeContents(t)),e.collapse(!0)},add:function(e,t){var n,i,o=this,r=e.collapsed&&!h.isExpandable(e),a=h.documentFromRange(e);return t&&e.collapsed&&(o.addCaret(e),e=h.expand(e)),n=e.cloneRange(),n.collapse(!1),o.end=w.create(a,\"span\",{className:\"k-marker\"}),n.insertNode(o.end),n=e.cloneRange(),n.collapse(!0),o.start=o.end.cloneNode(!0),n.insertNode(o.start),o._removeDeadMarkers(o.start,o.end),r&&(i=a.createTextNode(\"\\ufeff\"),w.insertAfter(i.cloneNode(),o.start),w.insertBefore(i,o.end)),N(e.commonAncestorContainer),e.setStartBefore(o.start),e.setEndAfter(o.end),e},_removeDeadMarkers:function(e,t){e.previousSibling&&\"\\ufeff\"==e.previousSibling.nodeValue&&w.remove(e.previousSibling),t.nextSibling&&\"\\ufeff\"==t.nextSibling.nodeValue&&w.remove(t.nextSibling)},_normalizedIndex:function(e){for(var t=x(e),n=e;n.previousSibling;)3==n.nodeType&&3==n.previousSibling.nodeType&&t--,n=n.previousSibling;return t},remove:function(e){var t,n,i,o,r,a,s,l,d,c,u,f,p=this,m=p.start,h=p.end;for(N(e.commonAncestorContainer);!m.nextSibling&&m.parentNode;)m=m.parentNode;for(;!h.previousSibling&&h.parentNode;)h=h.parentNode;if(t=m.previousSibling&&3==m.previousSibling.nodeType&&m.nextSibling&&3==m.nextSibling.nodeType,n=h.previousSibling&&3==h.previousSibling.nodeType&&h.nextSibling&&3==h.nextSibling.nodeType,i=t&&n,m=m.nextSibling,h=h.previousSibling,o=m===h&&w.isBom(m),o&&m.length>1&&(m.nodeValue=m.nodeValue.charAt(0)),\r\nr=o,a=!1,m==p.end&&(a=!!p.start.previousSibling,m=h=p.start.previousSibling||p.end.nextSibling,r=!0),w.remove(p.start),w.remove(p.end),!m||!h)return e.selectNodeContents(e.commonAncestorContainer),void e.collapse(!0);if(s=r?C(m)?m.nodeValue.length:m.childNodes.length:0,l=C(h)?h.nodeValue.length:h.childNodes.length,3==m.nodeType)for(;m.previousSibling&&3==m.previousSibling.nodeType;)m=m.previousSibling,s+=m.nodeValue.length;if(3==h.nodeType)for(;h.previousSibling&&3==h.previousSibling.nodeType;)h=h.previousSibling,l+=h.nodeValue.length;d=m.parentNode,c=h.parentNode,u=this._normalizedIndex(m),f=this._normalizedIndex(h),N(d),3==m.nodeType&&(m=d.childNodes[u]),N(c),3==h.nodeType&&(h=c.childNodes[f]),r?(3==m.nodeType?e.setStart(m,s):e[a?\"setStartAfter\":\"setStartBefore\"](m),e.collapse(!0)):(3==m.nodeType?e.setStart(m,s):e.setStartBefore(m),3==h.nodeType?e.setEnd(h,l):e.setEndAfter(h)),p.caret&&p.removeCaret(e)}}),m=/[\\u0009-\\u000d]|\\u0020|\\u00a0|\\ufeff|\\.|,|;|:|!|\\(|\\)|\\?/,h={nodes:function(e){var t=h.textNodes(e);return t.length||(e.selectNodeContents(e.commonAncestorContainer),t=h.textNodes(e),t.length||(t=w.significantChildNodes(e.commonAncestorContainer))),t},textNodes:function(e){return new d(e).enumerate()},editableTextNodes:function(e){var t=[],n=k.Immutables&&k.Immutables.immutableParent;return n&&!n(e.commonAncestorContainer)&&(t=new u(e).enumerate()),t},documentFromRange:function(e){var t=e.startContainer;return 9==t.nodeType?t:t.ownerDocument},createRange:function(e){return y.msie&&y.version<9?new S(e):e.createRange()},selectRange:function(e){var t,n=h.image(e);n&&(e.setStartAfter(n),e.setEndAfter(n)),t=R.selectionFromRange(e),t.removeAllRanges(),t.addRange(e)},stringify:function(e){return g.format(\"{0}:{1} - {2}:{3}\",w.name(e.startContainer),e.startOffset,w.name(e.endContainer),e.endOffset)},split:function(e,t,n){function i(i){var o,r=e.cloneRange();r.collapse(i),r[i?\"setStartBefore\":\"setEndAfter\"](t),o=r.extractContents(),n&&(o=w.trim(o)),w[i?\"insertBefore\":\"insertAfter\"](o,t)}i(!0),i(!1)},mapAll:function(t,n){var i=[];return new s(t).traverse(function(t){var o=n(t);o&&e.inArray(o,i)<0&&i.push(o)}),i},getAll:function(e,t){var n=t;return\"string\"==typeof t&&(t=function(e){return w.is(e,n)}),h.mapAll(e,function(e){if(t(e))return e})},getMarkers:function(e){return h.getAll(e,function(e){return\"k-marker\"==e.className})},image:function(e){var t=h.getAll(e,\"img\");if(1==t.length)return t[0]},isStartOf:function(e,t){var n,i,o;if(0!==e.startOffset)return!1;for(n=e.cloneRange();0===n.startOffset&&n.startContainer!=t;){for(i=w.findNodeIndex(n.startContainer),o=n.startContainer.parentNode;i>0&&o[i-1]&&w.insignificant(o[i-1]);)i--;n.setStart(o,i)}return 0===n.startOffset&&n.startContainer==t},isEndOf:function(e,t){function n(e){w.insignificant(e)||w.isDataNode(e)&&/^[\\ufeff]*$/.test(e.nodeValue)||o.push(e)}var i,o,r=e.cloneRange();return r.collapse(!1),i=r.startContainer,w.isDataNode(i)&&r.startOffset==w.getNodeLength(i)&&(r.setStart(i.parentNode,w.findNodeIndex(i)+1),r.collapse(!0)),r.setEnd(t,w.getNodeLength(t)),o=[],new s(r).traverse(n),!o.length},wrapSelectedElements:function(e){function t(e,t){var n,i=w.getNodeLength(t);if(e==i)return!0;for(n=e;n0;--t)n+=i.charAt(Math.round(Math.random()*(i.length-1)));return n},k=function(t){var n,i,o,a={empty:!0};return e(t).find(f).each(function(t,s){n=r.name(s),i=v(),o=\"<\"+n+\" \"+c+\"='\"+i+\"'>\",a[i]={node:s,style:e(s).attr(\"style\")},a.empty=!1,e(s).replaceWith(o)}),a},y=function(t,n){var i,o;e(t).find(u).each(function(t,r){i=r.getAttribute(c),o=n[i],e(r).replaceWith(o.node),o.style!=e(o.node).attr(\"style\")&&e(o.node).removeAttr(\"style\").attr(\"style\",o.style)})},w=function(e){var t=n.keys;return e===t.BACKSPACE||e==t.DELETE},x=function(e){var n=e?e.options:t;n&&n.finder&&n.finder._initOptions({immutables:!0})},C=i.extend({init:function(t){this.editor=t,this.serializedImmutables={},this.options=e.extend({},t&&t.options&&t.options.immutables);var n=t.toolbar.tools;x(n.justifyLeft),x(n.justifyCenter),x(n.justifyRight),x(n.justifyFull)},serialize:function(e){var t,n=this._toHtml(e);return n.indexOf(c)===-1?(t=this.randomId(),n=n.replace(/>/,\" \"+c+'=\"'+t+'\">')):t=n.match(/k-immutable\\s*=\\s*['\"](.*)['\"]/)[1],this.serializedImmutables[t]=e,n},_toHtml:function(e){var t,n=this.options.serialization,i=typeof n;switch(i){case\"string\":return a(n)(e);case\"function\":return n(e);default:return t=r.name(e),\"<\"+t+\">\"}},deserialize:function(t){var i=this,o=this.options.deserialization;e(u,t).each(function(){var t=this.getAttribute(c),r=i.serializedImmutables[t];n.isFunction(o)&&o(this,r),e(this).replaceWith(r)}),i.serializedImmutables={}},randomId:function(e){return v(e)},keydown:function(e,t){var n=w(e.keyCode),i=n&&this._cancelDeleting(e,t)||!n&&this._cancelTyping(e,t);if(i)return e.preventDefault(),!0},_cancelTyping:function(e,t){var n=this.editor,i=n.keyboard;return t.collapsed&&!i.typingInProgress&&i.isTypingKey(e)&&b(t)},_cancelDeleting:function(e,t){var i,o,a,s,d=n.keys,c=e.keyCode===d.BACKSPACE,u=e.keyCode==d.DELETE;if(!c&&!u)return!1;if(i=!1,t.collapsed){if(b(t))return!0;if(o=this.nextImmutable(t,u),o&&c&&(a=r.closest(t.commonAncestorContainer,\"li\"),a&&(s=r.closest(o,\"li\"),s&&s!==a)))return i;if(o&&!r.tableCell(o)){if(r.parentOfType(o,l)===r.parentOfType(t.commonAncestorContainer,l)){for(;o&&1==o.parentNode.childNodes.length;)o=o.parentNode;if(r.tableCell(o))return i;this._removeImmutable(o,t)}i=!0}}return i},nextImmutable:function(e,t){var n,i=e.commonAncestorContainer;if(r.isBom(i)||t&&s.isEndOf(e,i)||!t&&s.isStartOf(e,i)){if(n=this._nextNode(i,t),n&&r.isBlock(n)&&!h(n))for(;n&&n.children&&n.children[t?0:n.children.length-1];)n=n.children[t?0:n.children.length-1];return h(n)}},_removeImmutable:function(e,t){var n=this.editor,i=new o.RestorePoint(t,n.body);r.remove(e),o._finishUpdate(n,i)},_nextNode:function(e,t){for(var n,i=t?\"nextSibling\":\"previousSibling\",o=e;o&&!n;)n=o[i],n&&r.isDataNode(n)&&/^\\s|[\\ufeff]$/.test(n.nodeValue)&&(o=n,n=o[i]),n||(o=o.parentNode);return n}});C.immutable=m,C.immutableParent=h,C.expandImmutablesIn=g,C.immutablesContext=b,C.toolsToBeUpdated=d,C.removeImmutables=k,C.restoreImmutables=y,o.Immutables=C}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/command.min\",[\"editor/immutables.min\"],e)}(function(){!function(e){function t(e,t){var n=e.selectionRestorePoint=new a(e.getRange(),e.body),i=new c(t,n);return i.editor=e,e.undoRedoStack.push(i),n}var n=window.kendo,i=n.Class,o=n.ui.editor,r=o.Dom,a=o.RestorePoint,s=o.Marker,l=e.extend,d=i.extend({init:function(e){this.options=e,this.restorePoint=new a(e.range,e.body,{immutables:e.immutables}),this.marker=new s,this.formatter=e.formatter},getRange:function(){return this.restorePoint.toRange()},lockRange:function(e){return this.marker.add(this.getRange(),e)},releaseRange:function(e){this.marker.remove(e),this.editor.selectRange(e)},undo:function(){var e=this.restorePoint;e.restoreHtml(),this.editor.selectRange(e.toRange())},redo:function(){this.exec()},createDialog:function(t,i){var o=this.editor;return e(t).appendTo(document.body).kendoWindow(l({},o.options.dialogOptions,i)).closest(\".k-window\").toggleClass(\"k-rtl\",n.support.isRtl(o.wrapper)).end()},exec:function(){var e=this.lockRange(!0);this.formatter.editor=this.editor,this.formatter.toggle(e),this.releaseRange(e)},immutables:function(){return this.editor&&this.editor.options.immutables},expandImmutablesIn:function(e){this.immutables()&&(n.ui.editor.Immutables.expandImmutablesIn(e),this.restorePoint=new a(e,this.editor.body))}}),c=i.extend({init:function(e,t){this.body=e.body,this.startRestorePoint=e,this.endRestorePoint=t},redo:function(){r.removeChildren(this.body),this.body.innerHTML=this.endRestorePoint.html,this.editor.selectRange(this.endRestorePoint.toRange())},undo:function(){r.removeChildren(this.body),this.body.innerHTML=this.startRestorePoint.html,this.editor.selectRange(this.startRestorePoint.toRange())}});l(o,{_finishUpdate:t,Command:d,GenericCommand:c})}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/toolbar.min\",[\"editor/range.min\"],e)}(function(){!function(e,t){var n,i=window.kendo,o=i.ui,r=o.editor,a=o.Widget,s=e.extend,l=e.proxy,d=i.keys,c=\".kendoEditor\",u=r.EditorUtils,f=r.ToolTemplate,p=r.Tool,m=i._outerWidth,h=i._outerHeight,g=\"overflowAnchor\",b=\".k-tool-group:visible a.k-tool:not(.k-state-disabled),.k-tool.k-overflow-anchor:visible,.k-tool-group:visible .k-widget.k-colorpicker,.k-tool-group:visible .k-selectbox,.k-tool-group:visible .k-dropdown,.k-tool-group:visible .k-combobox .k-input\",v={\"k-i-sup-script\":\"superscript\",\"k-i-sub-script\":\"subscript\",\"k-i-align-left\":\"justifyLeft\",\"k-i-align-center\":\"justifyCenter\",\"k-i-align-right\":\"justifyRight\",\"k-i-align-justify\":\"justifyFull\",\"k-i-list-unordered\":\"insertUnorderedList\",\"k-i-list-ordered\":\"insertOrderedList\",\"k-i-login\":\"import\",\"k-i-indent-increase\":\"indent\",\"k-i-indent-decrease\":\"outdent\",\"k-i-link-horizontal\":\"createLink\",\"k-i-unlink-horizontal\":\"unlink\",\"k-i-image\":\"insertImage\",\"k-i-file-add\":\"insertFile\",\"k-i-html\":\"viewHtml\",\"k-i-foreground-color\":\"foreColor\",\"k-i-paint\":\"backColor\",\"k-i-table-insert\":\"createTable\",\"k-i-table-column-insert-left\":\"addColumnLeft\",\"k-i-table-column-insert-right\":\"addColumnRight\",\"k-i-table-row-insert-above\":\"addRowAbove\",\"k-i-table-row-insert-below\":\"addRowBelow\",\"k-i-table-row-delete\":\"deleteRow\",\"k-i-table-column-delete\":\"deleteColumn\",\"k-i-table-properties\":\"tableWizard\",\"k-i-table-wizard\":\"tableWizardInsert\",\"k-i-clear-css\":\"cleanFormatting\"},k=p.extend({initialize:function(t,n){t.attr({unselectable:\"on\"});var i=n.editor.toolbar;t.attr(\"aria-controls\",n.editor.element.attr(\"id\")).on(\"click\",e.proxy(function(){this.overflowPopup.toggle()},i))},options:{name:g},command:e.noop,update:e.noop,destroy:e.noop});u.registerTool(g,new k({key:\"\",ctrl:!0,template:new f({template:u.overflowAnchorTemplate})})),n=a.extend({init:function(e,t){var n=this;t=s({},t,{name:\"EditorToolbar\"}),a.fn.init.call(n,e,t),t.popup&&n._initPopup(),t.resizable&&t.resizable.toolbar&&(n._resizeHandler=i.onResize(function(){n.resize()}),n.element.addClass(\"k-toolbar-resizable\"))},events:[\"execute\"],groups:{basic:[\"bold\",\"italic\",\"underline\",\"strikethrough\"],scripts:[\"subscript\",\"superscript\"],alignment:[\"justifyLeft\",\"justifyCenter\",\"justifyRight\",\"justifyFull\"],links:[\"insertImage\",\"insertFile\",\"createLink\",\"unlink\"],lists:[\"insertUnorderedList\",\"insertOrderedList\",\"indent\",\"outdent\"],tables:[\"createTable\",\"addColumnLeft\",\"addColumnRight\",\"addRowAbove\",\"addRowBelow\",\"deleteRow\",\"deleteColumn\"],advanced:[\"viewHtml\",\"cleanFormatting\",\"print\",\"pdf\",\"exportAs\",\"import\"],fonts:[\"fontName\",\"fontSize\"],colors:[\"foreColor\",\"backColor\"]},overflowFlaseTools:[\"formatting\",\"fontName\",\"fontSize\",\"foreColor\",\"backColor\",\"insertHtml\"],_initPopup:function(){var t=this;this.window=e(this.element).wrap(\"
    \").parent().prepend(\"\").kendoWindow({title:!1,resizable:!1,draggable:{dragHandle:\".k-editortoolbar-dragHandle\"},animation:{open:{effects:\"fade:in\"},close:{effects:\"fade:out\"}},minHeight:42,visible:!1,autoFocus:!1,actions:[],dragend:function(){this._moved=!0}}).on(\"mousedown\",function(n){e(n.target).is(\".k-icon\")||(t.preventPopupHide=!0)}).on(\"focusout\",function(){t.options.editor.element.focusout()}).data(\"kendoWindow\")},_toggleOverflowStyles:function(e,t){e.find(\"li\").toggleClass(\"k-item k-state-default\",t).find(\".k-tool:not(.k-state-disabled),.k-overflow-button\").toggleClass(\"k-overflow-button k-button\",t)},_initOverflowPopup:function(t){var n=this,i=\"
      \";n.overflowPopup=e(i).appendTo(\"body\").kendoPopup({anchor:t,origin:\"bottom right\",position:\"top right\",copyAnchorStyles:!1,open:function(e){this.element.is(\":empty\")&&e.preventDefault(),n._toggleOverflowStyles(this.element,!0),t.attr(\"aria-expanded\",!0)},close:function(){t.attr(\"aria-expanded\",!1)},activate:l(n.focusOverflowPopup,n)}).data(\"kendoPopup\")},items:function(){var e,t,n=this.options.resizable&&this.options.resizable.toolbar;return t=this.element.children().find(\"> *, select\"),n&&(e=this.overflowPopup,t=t.add(e.element.children().find(\"> *\"))),t},focused:function(){return this.element.find(\".k-state-focused\").length>0||this.preventPopupHide||this.overflowPopup&&this.overflowPopup.visible()},toolById:function(e){var t,n=this.tools;for(t in n)if(t.toLowerCase()==e)return n[t]},toolGroupFor:function(t){var n,i=this.groups;if(this.isCustomTool(t))return\"custom\";for(n in i)if(e.inArray(t,i[n])>=0)return n},bindTo:function(t){var n=this,i=n.window;n._editor&&n._editor.unbind(\"select\",l(n.resize,n)),n._editor=t,n.options.resizable&&n.options.resizable.toolbar&&t.options.tools.push(g),n.tools=n.expandTools(t.options.tools),n.render(),n.element.find(\".k-combobox .k-input\").keydown(function(t){var n=e(this).closest(\".k-combobox\").data(\"kendoComboBox\"),i=t.keyCode;i==d.RIGHT||i==d.LEFT?n.close():i==d.DOWN&&(n.dropDown.isOpened()||(t.stopImmediatePropagation(),n.open()))}),n._attachEvents(),n.items().each(function(){var i,o=n._toolName(this),r=\"moreVertical\"!==o?n.tools[o]:n.tools.overflowAnchor,a=r&&r.options,s=t.options.messages,l=a&&a.tooltip||s[o],d=e(this);r&&r.initialize&&(\"fontSize\"!=o&&\"fontName\"!=o||(i=s[o+\"Inherit\"],d.find(\"input\").val(i).end().find(\"span.k-input\").text(i).end()),r.initialize(d,{title:n._appendShortcutSequence(l,r),editor:n._editor}),d.closest(\".k-widget\",n.element).addClass(\"k-editor-widget\"),d.closest(\".k-colorpicker\",n.element).next(\".k-colorpicker\").addClass(\"k-editor-widget\"))}),t.bind(\"select\",l(n.resize,n)),n.update(),i&&i.wrapper.css({top:\"\",left:\"\",width:\"\"})},show:function(){var e,t,n,o=this,r=o.window,a=o.options.editor,s=i.support.browser;r&&(e=r.wrapper,t=a.element,e.is(\":visible\")&&o.window.options.visible||(e[0].style.width||e.width(m(t)-parseInt(e.css(\"border-left-width\"),10)-parseInt(e.css(\"border-right-width\"),10)),r._moved||(n=t.offset(),e.css({top:Math.max(0,parseInt(n.top,10)-h(e)-parseInt(o.window.element.css(\"padding-bottom\"),10)),left:Math.max(0,parseInt(n.left,10))})),(s.msie||s.edge)&&o._overlaps(t)?setTimeout(function(){r.open()},0):r.open()))},_overlaps:function(e){var t=this.window.wrapper,n=t.offset(),i=n.left,o=n.top,r=e.offset(),a=r.left,s=r.top;return!(a+e.width()i+t.width()||s+e.height()o+t.height())},hide:function(){this.window&&this.window.close()},focus:function(){var e=\"tabIndex\",t=this.element,n=this._editor.element.attr(e);t.attr(e,n||0).focus().find(b).first().focus(),n||0===n||t.removeAttr(e)},focusOverflowPopup:function(){var e=\"tabIndex\",t=this.overflowPopup.element,n=this._editor.element.attr(e);t.closest(\".k-animation-container\").addClass(\"k-overflow-wrapper\"),t.attr(e,n||0).find(b).first().focus(),n||0===n||t.removeAttr(e)},_appendShortcutSequence:function(e,t){if(!t.key)return e;var n=e+\" (\";return t.ctrl&&(n+=\"Ctrl + \"),t.shift&&(n+=\"Shift + \"),t.alt&&(n+=\"Alt + \"),n+=t.key+\")\"},_nativeTools:[\"insertLineBreak\",\"insertParagraph\",\"redo\",\"undo\",\"autoLink\"],tools:{},isCustomTool:function(e){return!(e in i.ui.Editor.defaultTools)},expandTools:function(t){var n,o,a,l,d=this._nativeTools,c=i.deepExtend({},i.ui.Editor.defaultTools),u={};for(o=0;o\"),f.data(\"overflow\",e.inArray(t,C)===-1)):f=e(\"
    • \")}var r,a,s,d,c,u,f,p,m=this,h=m.tools,b=m._editor.element,v=m.element.empty(),k=m._editor.options.tools,y=i.support.browser,w=0,x=m.options.resizable&&m.options.resizable.toolbar,C=this.overflowFlaseTools;for(v.empty(),k.length&&(d=k[0].name||k[0]),o(d,C),p=0;p\").appendTo(m.element),o(d,C)),a&&(u=m.toolGroupFor(d),c==u&&d!=g||(n(),o(d,C),c=u),d==g&&(a.options.title=m.options.messages.overflowAnchor),a=t(a),s=e(a).appendTo(f),\"custom\"==u&&(n(),o(d,C)),r.exec&&s.hasClass(\"k-tool\")&&s.click(l(r.exec,b[0])));n(),e(m.element).children(\":has(> .k-tool)\").addClass(\"k-button-group\"),m.options.popup&&y.msie&&y.version<9&&m.window.wrapper.find(\"*\").attr(\"unselectable\",\"on\"),m.updateGroups(),x&&m._initOverflowPopup(m.element.find(\".k-overflow-anchor\")),m.angular(\"compile\",function(){return{elements:m.element}})},updateGroups:function(){e(this.element).children().each(function(){e(this).addClass(\"k-state-disabled\"),e(this).children().filter(function(){return!e(this).hasClass(\"k-state-disabled\")}).removeClass(\"k-group-end\").first().addClass(\"k-group-start\").end().last().addClass(\"k-group-end\").end().parent().removeClass(\"k-state-disabled\")})},decorateFrom:function(t){this.items().filter(\".k-decorated\").each(function(){var n=e(this).data(\"kendoSelectBox\");n&&n.decorate(t)})},destroy:function(){a.fn.destroy.call(this);var e,t=this.tools;for(e in t)t[e].destroy&&t[e].destroy();this.window&&this.window.destroy(),this._resizeHandler&&i.unbindResize(this._resizeHandler),this.overflowPopup&&this.overflowPopup.destroy()},_attachEvents:function(){var t=this,n=t.overflowPopup?t.overflowPopup.element:e([]);t.attachToolsEvents(t.element.add(n))},attachToolsEvents:function(t){var n=this,o=\"[role=button].k-tool\",r=o+\":not(.k-state-disabled)\",a=o+\".k-state-disabled\",s=\".k-dropdown\",l=\".k-colorpicker\",u=[o,s,l].join(\",\");t.off(c).on(\"mouseenter\"+c,r,function(){e(this).addClass(\"k-state-hover\")}).on(\"mouseleave\"+c,r,function(){e(this).removeClass(\"k-state-hover\")}).on(\"mousedown\"+c,u,function(e){e.preventDefault()}).on(\"keydown\"+c,b,function(t){function o(e,t,n){var i=t.find(b),o=i.index(l)+e;return n&&(o=Math.max(0,Math.min(i.length-1,o))),i[o]}var r,a,s,l=this,c=n.options.resizable&&n.options.resizable.toolbar,u=i.support.isRtl(n.element)?-1:1,f=t.keyCode;f==d.RIGHT||f==d.LEFT?a=e(l).is(\".k-dropdown\")?e(l):o(f==d.RIGHT?1*u:-1*u,n.element,!0):!c||f!=d.UP&&f!=d.DOWN?f==d.HOME?(a=n.element.find(b)[0],t.preventDefault()):f==d.END?(r=n.element.find(b).filter(function(){return\"hidden\"!==e(this).css(\"visibility\")}),a=r[r.length-1],t.preventDefault()):f==d.ESC?(n.overflowPopup&&n.overflowPopup.visible()&&n.overflowPopup.close(),a=n._editor):f!=d.TAB||t.ctrlKey||t.altKey||(s=c&&e(l.parentElement).hasClass(\"k-overflow-tool-group\")?n.overflowPopup.element:n.element,t.shiftKey?a=o(-1,s):(a=o(1,s),a&&\"hidden\"!==e(a).closest(\".k-overflow-tools\").css(\"visibility\")||(a=n._editor))):a=o(f==d.DOWN?1:-1,n.overflowPopup.element,!0),a&&(t.preventDefault(),a.focus()),f!==d.ENTER&&f!==d.SPACEBAR||!e(l).is(\"a\")||e(l).attr(\"href\")||n._executeToolCommand(l,t)}).on(\"click\"+c,r,function(e){n._executeToolCommand(this,e)}).on(\"click\"+c,a,function(e){e.preventDefault()})},_executeToolCommand:function(t,n){var i=this,o=e(t);n.preventDefault(),n.stopPropagation(),o.removeClass(\"k-state-hover\"),o.is(\"[data-popup]\")||i._editor.exec(i._toolName(t))},_toolName:function(t){var n,o,r;if(t)return n=t.className,/k-tool\\b/i.test(n)&&(n=t.firstChild.className),o=e.grep(n.split(\" \"),function(e){return!/^k-(widget|tool|tool-icon|icon|state-hover|header|combobox|dropdown|selectbox|colorpicker)$/i.test(e)}),o[0]?(r=o[0],v[r]&&(r=v[r]),r.indexOf(\"k-i-\")>=0?i.toCamelCase(r.substring(r.indexOf(\"k-i-\")+4)):r.substring(r.lastIndexOf(\"-\")+1)):\"custom\"},refreshTools:function(){var t=this,n=t._editor,i=n.getRange(),o=r.RangeUtils.textNodes(i),a=n.options.immutables,s=t._immutablesContext(i);o=r.Dom.filterBy(o,r.Dom.htmlIndentSpace,!0),o.length||(o=[i.startContainer]),t.items().each(function(){var n,i=t.tools[t._toolName(this)];i&&(n=e(this),i.update&&i.update(n,o),a&&t._updateImmutablesState(i,n,s))}),this.update()},_immutablesContext:function(e){if(this._editor.options.immutables)return e.collapsed?r.Immutables.immutablesContext(e):0===r.RangeUtils.editableTextNodes(e).length},_updateImmutablesState:function(n,i,o){var a,s,l,d,c,u=n.name,f=i,p=n.options.trackImmutables;if(p===t&&(p=e.inArray(u,r.Immutables.toolsToBeUpdated)>-1),p){if(a=o?\"none\":\"\",!i.is(\".k-tool\")){s=i.data();for(l in s)if(l.match(/^kendo[A-Z][a-zA-Z]*/)){d=s[l],f=d.wrapper;break}}f.css(\"display\",a),c=f.closest(\"li\"),0===c.children(\":visible\").length&&c.css(\"display\",a)}},update:function(){this.updateGroups()},_resize:function(e){var t=e.width,n=this.options.resizable&&this.options.resizable.toolbar,i=this.overflowPopup;this.refreshTools(),n&&(i.visible()&&i.close(!0),this._refreshWidths(),this._shrink(t),this._stretch(t),this._toggleOverflowStyles(this.element,!1),this._toggleOverflowStyles(this.overflowPopup.element,!0),this.element.children(\"li.k-overflow-tools\").css(\"visibility\",i.element.is(\":empty\")?\"hidden\":\"visible\"))},_refreshWidths:function(){this.element.children(\"li\").each(function(t,n){var i=e(n);i.data(\"outerWidth\",m(i,!0))})},_shrink:function(e){var t,n,i;if(e=0&&(t=n.eq(i),!(e>this._groupsWidth()));i--)this._hideGroup(t)},_stretch:function(e){var t,n,i;if(e>this._groupsWidth())for(n=this._hiddenGroups(),i=0;ie(n).data(\"position\")?1:-1}),n},_visibleGroups:function(){return this.element.children(\"li.k-tool-group, li.k-overflow-tools\").filter(\":visible\")},_groupsWidth:function(){var t=0;return this._visibleGroups().each(function(){t+=e(this).data(\"outerWidth\")}),Math.ceil(t)},_hideGroup:function(e){if(e.data(\"overflow\")){var t=this.overflowPopup;e.detach().prependTo(t.element).addClass(\"k-overflow-tool-group\")}else e.hide()},_showGroup:function(t,n){var i,o;return!!(t.length&&n>this._groupsWidth()+t.data(\"outerWidth\"))&&(t.hasClass(\"k-overflow-tool-group\")?(i=t.data(\"position\"),0===i?t.detach().prependTo(this.element):(o=this.element.children().filter(function(t,n){return e(n).data(\"position\")===i-1}),t.detach().insertAfter(o)),t.removeClass(\"k-overflow-tool-group\")):t.show(),!0)}}),e.extend(r,{Toolbar:n})}(window.jQuery||window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/viewhtml.min\",[\"editor/command.min\"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=n.ui.editor,r=o.EditorUtils,a=o.Command,s=o.Tool,l=o.ToolTemplate,d=o.Dom,c=a.extend({init:function(e){var t=this;t.options=e,a.fn.init.call(t,e),t.attributes=null,t.async=!0},exec:function(){function i(e){f.deserialization.immutables=u.immutables,u.value(m.find(h).val()),f.deserialization.immutables=t,o(e),l.change&&l.change(),u.trigger(\"change\")}function o(e){e.preventDefault(),m.data(\"kendoWindow\").destroy(),u.immutables&&(u.immutables.serializedImmutables={}),u.focus()}var a,s,l=this,u=l.editor,f=u.options,p=u.options.messages,m=e(n.template(c.template)(p)).appendTo(document.body),h=\".k-editor-textarea\";f.serialization.immutables=u.immutables,s=d.getAllComments(u.body),a=r.cacheComments(u.value(),s),a=c.indent(a),a=r.retrieveComments(a,s),f.serialization.immutables=t,this.createDialog(m,{title:p.viewHtml,close:o,visible:!1}).find(h).val(a).end().find(\".k-dialog-update\").click(i).end().find(\".k-dialog-close\").click(o).end().data(\"kendoWindow\").center().open(),m.find(h).focus()}});i(c,{template:\"
    • \",indent:function(e){return e.replace(/<\\/(p|li|ul|ol|h[1-6]|table|tr|td|th)>/gi,\"\\n\").replace(/<(ul|ol)([^>]*)>
    • \\n/gi,\"
      \\n\").replace(/\\n$/,\"\")}}),n.ui.editor.ViewHtmlCommand=c,o.EditorUtils.registerTool(\"viewHtml\",new s({command:c,template:new l({template:r.buttonTemplate,title:\"View HTML\"})}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/format.min\",[\"editor/command.min\"],e)}(function(){!function(e){var t=window.kendo,n=e.extend,i=t.ui.editor,o=i.Tool,r=i.Command,a=i.EditorUtils,s=r.extend({init:function(e){e.formatter=e.formatter();var t=e.formatter.finder;t&&a.formatByName(\"immutable\",t.format)&&t._initOptions({immutables:e.immutables}),r.fn.init.call(this,e)}}),l=o.extend({init:function(e){o.fn.init.call(this,e)},command:function(e){var t=this;return new s(n(e,{formatter:t.options.formatter}))},update:function(e,t){var n=this.options.finder.isFormatted(t);e.toggleClass(\"k-state-selected\",n),e.attr(\"aria-pressed\",n)}});e.extend(i,{FormatCommand:s,FormatTool:l})}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/inlineformat.min\",[\"editor/plugins/format.min\"],e)}(function(){!function(e){var t=window.kendo,n=t.Class,i=t.ui.editor,o=t.ui.Editor.fn.options.formats,r=i.EditorUtils,a=i.Tool,s=i.ToolTemplate,l=i.FormatTool,d=i.Dom,c=i.RangeUtils,u=e.extend,f=i.EditorUtils.registerTool,p=i.EditorUtils.registerFormat,m=function(e){e.preventDefault()},h=\"mousedown.kendoEditor\",g=\"keydown.kendoEditor\",b=\"k-marker\",v=n.extend({init:function(e){this.format=e},numberOfSiblings:function(e){var t,n=0,i=0,o=0,r=e.parentNode;for(t=r.firstChild;t;t=t.nextSibling)t!=e&&(t.className==b?o++:3==t.nodeType?n++:i++);return o>1&&r.firstChild.className==b&&r.lastChild.className==b?0:i+n},findSuitable:function(e,t){var n,i;if(!t&&this.numberOfSiblings(e)>0)return null;for(n=e.parentNode,i=this.format[0].tags;!d.ofType(n,i);){if(this.numberOfSiblings(n)>0)return null;n=n.parentNode}return n},findFormat:function(e){var t,n,i,o,r,a=this.format,s=d.attrEquals;for(t=0,n=a.length;t0&&this.activate(e,n)},immutables:function(){return this.editor&&this.editor.options.immutables},apply:function(e){var t,n,i,o,r=[],a=this.attributes,s=a?a.style||{}:{};for(t=0,n=e.length;t0)for(t=0;t1;)if(t=e.pop(),n=e[e.length-1],t.previousSibling&&t.previousSibling.className==b&&n.appendChild(t.previousSibling),t.tagName==n.tagName&&t.previousSibling==n&&t.style.cssText==n.style.cssText){for(;t.firstChild;)n.appendChild(t.firstChild);d.remove(t)}}}),y=v.extend({init:function(e,t){this.format=e,this.greedyProperty=t,v.fn.init.call(this,e)},getInlineCssValue:function(t){var n,i,o,r,a,s,l,c,u,f,p,m,h=t.attributes,g=e.trim;if(h)for(n=0,i=h.length;n=0?d.toHex(m):m}},getFormatInner:function(t){var n,i,o,r=e(d.isDataNode(t)?t.parentNode:t),a=r.parentsUntil(\"[contentEditable]\").addBack().toArray().reverse();for(n=0,i=a.length;n
      \")({messages:this.editor.options.messages})},exec:function(){var t,n,i,o,r=this.editor.options.messages;this._initialText=\"\",this._range=this.lockRange(!0),this.formatter.immutables=this.immutables(),t=b(this._range),n=t.length?this.formatter.finder.findSuitable(t[0]):null,i=t.length&&\"img\"==d.name(t[0]),o=this.createDialog(this._dialogTemplate(),{title:r.createLink,close:s(this._close,this),visible:!1}),n&&(this._range.selectNodeContents(n),t=b(this._range)),this._initialText=this.linkText(t),o.find(\".k-dialog-insert\").click(s(this._apply,this)).end().find(\".k-dialog-close\").click(s(this._close,this)).end().find(\".k-edit-field input\").keydown(s(this._keydown,this)).end().find(\"#k-editor-link-url\").val(this.linkUrl(n)).end().find(\"#k-editor-link-text\").val(this._initialText).end().find(\"#k-editor-link-title\").val(n?n.title:\"\").end().find(\"#k-editor-link-target\").attr(\"checked\",!!n&&\"_blank\"==n.target).end().find(\".k-editor-link-text-row\").toggle(!i),this._dialog=o.data(\"kendoWindow\").center().open(),e(\"#k-editor-link-url\",o).focus().select()},_keydown:function(e){var t=o.keys;e.keyCode==t.ENTER?this._apply(e):e.keyCode==t.ESC&&this._close(e)},_apply:function(t){var n,i,o,r=this._dialog.element,a=e(\"#k-editor-link-url\",r).val(),s=e(\"#k-editor-link-text\",r);a&&a!=w&&(a.indexOf(\"@\")>0&&!/^(\\w+:)|(\\/\\/)/i.test(a)&&(a=\"mailto:\"+a),this.attributes={href:a},n=e(\"#k-editor-link-title\",r).val(),n&&(this.attributes.title=n),s.is(\":visible\")&&(i=s.val(),i||this._initialText?i&&i!==this._initialText&&(this.attributes.innerHTML=d.stripBom(i)):this.attributes.innerHTML=a),o=e(\"#k-editor-link-target\",r).is(\":checked\"),this.attributes.target=o?\"_blank\":null,this.formatter.apply(this._range,this.attributes)),this._close(t),this.change&&this.change()},_close:function(e){e.preventDefault(),this._dialog.destroy(),d.windowFromDocument(c.documentFromRange(this._range)).focus(),this.releaseRange(this._range)},linkUrl:function(e){return e?e.getAttribute(\"href\",2):w},linkText:function(e){var t,n=\"\";for(t=0;t-1)return this.end.node=t,this.end.offset=i+1,!1},_detectStart:function(e,t){var i=n(e,/\\s/),o=i+1;if(this.text=e.substring(o)+this.text,this.start.node=t,this.start.offset=o,i>-1)return!1},_skipStartPuntuation:function(e,t,n){var o=i(e,/\\w/),r=o;if(o===-1&&(r=e.length),this.text=this.text.substring(r),this.start.node=t,this.start.offset=r+(0|n),o>-1)return!1}}),E=function(){return{node:null,offset:null,blank:function(){return null===this.node&&null===this.offset}}},D=r.extend({init:function(n){this.node=n.node,this.offset=n.offset===t?d.isDataNode(this.node)&&this.node.length||0:n.offset,this.cancelAtNode=n.cancelAtNode||this.cancelAtNode||e.noop},traverse:function(e){e&&(this.cancel=!1,this._traverse(e,this.node,this.offset))},_traverse:function(e,n,i){var o,r,a,s;if(n&&!this.cancel){if(3!==n.nodeType)return r=this.edgeNode(n),this.cancel=this.cancel||this.cancelAtNode(r),this._traverse(e,r);if(o=n.data,i!==t&&(o=this.subText(o,i)),this.cancel=e(o,n,i)===!1,a=this.next(n),!a)for(s=n.parentNode;!a&&d.isInline(s);)a=this.next(s),s=s.parentNode;this.cancel=this.cancel||this.cancelAtNode(a),this._traverse(e,a)}},extendOptions:function(t){return e.extend({node:this.node,offset:this.offset,cancelAtNode:this.cancelAtNode},t||{})},edgeNode:function(e){},next:function(e){},subText:function(e,t){}}),P=D.extend({subText:function(e,t){return e.substring(0,t)},next:function(e){return e.previousSibling},edgeNode:function(e){return e.lastChild},clone:function(e){var t=this.extendOptions(e);return new P(t)}}),I=D.extend({subText:function(e,t){return e.substring(t)},next:function(e){return e.nextSibling},edgeNode:function(e){return e.firstChild},clone:function(e){var t=this.extendOptions(e);return new I(t)}});a(o.ui.editor,{LinkFormatFinder:T,LinkFormatter:_,UnlinkCommand:N,LinkCommand:R,AutoLinkCommand:S,UnlinkTool:z,DomTextLinkDetection:A,LeftDomTextTraverser:P,RightDomTextTraverser:I}),k(\"createLink\",new p({key:\"K\",ctrl:!0,command:R,template:new m({template:u.buttonTemplate,title:\"Create Link\"})})),k(\"unlink\",new z({key:\"K\",ctrl:!0,shift:!0,template:new m({template:u.buttonTemplate,title:\"Remove Link\"})})),k(\"autoLink\",new p({key:[y.ENTER,y.SPACEBAR],keyPressCommand:!0,command:S}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/formatblock.min\",[\"editor/plugins/format.min\"],e)}(function(){!function(e){var t,n=window.kendo,i=n.Class,o=e.extend,r=n.ui.editor,a=n.ui.Editor.fn.options.formats,s=r.Dom,l=r.ToolTemplate,d=r.FormatTool,c=r.EditorUtils,u=c.registerTool,f=c.registerFormat,p=r.RangeUtils,m=i.extend({init:function(e){this.format=e},contains:function(e,t){var n,i,o;for(n=0,i=t.length;n=0&&!(o=s.ofType(t[n],a[r].tags)?t[n]:s.closestEditableOfType(t[n],a[r].tags));r--);if(!o||\"true\"===o.contentEditable)return[];e.inArray(o,l)<0&&l.push(o)}for(this._resolveListsItems(l),n=0,i=l.length;n=0;a--)l=i.immutableParent(e[a]),l&&(l!==e[a+1]&&(t?s.attr(l,n.attr):s.unstyle(l,n.attr.style)),e.splice(a,1))},immutables:function(){return this.editor&&this.editor.options.immutables},remove:function(e){var t,n,i,o,r;for(this._handleImmutables(e,!1),t=0,n=e.length;t=0?new i.GreedyInlineFormatter(a):new i.GreedyBlockFormatter(a),t.editor=n.editor,t}})},initialize:function(e,t){var i=t.editor,r=this.options,a=r.name,s=this;s.editor=i,e.width(r.width),e.kendoSelectBox({dataTextField:\"text\",dataValueField:\"value\",dataSource:r.items||i.options[a],title:i.options.messages[a],autoSize:!0,change:function(){var e=this.dataItem();e&&o.exec(i,a,e.toJSON())},dataBound:function(){var e,t=this.dataSource.data();for(e=0;e#:data.text#')}),e.addClass(\"k-decorated\").closest(\".k-widget\").removeClass(\"k-\"+a).find(\"*\").addBack().attr(\"unselectable\",\"on\")},getFormattingValue:function(t,n){var i,o,r,a,s,l,d;for(i=0;i=0;t--)n=e[t],this.immutableParent(n)||this.clean(n);this.releaseRange(i)},clean:function(n){var o,r,a,s,d;if(n&&!l.isMarker(n)){if(o=l.name(n),\"ul\"==o||\"ol\"==o)for(r=new i.ListFormatter(o),a=n.previousSibling,s=n.nextSibling,r.unwrap(n);a&&a!=s;a=a.nextSibling)this.clean(a);else if(\"blockquote\"==o)l.changeTag(n,\"p\");else if(1!=n.nodeType||l.insignificant(n))t(n);else{for(d=n.childNodes.length-1;d>=0;d--)this.clean(n.childNodes[d]);n.removeAttribute(\"style\"),n.removeAttribute(\"class\")}e.inArray(o,this.tagsToClean)>-1&&l.unwrap(n)}},immutableParent:function(e){return this.immutables()&&i.Immutables.immutableParent(e)}});e.extend(i,{FormattingTool:f,CleanFormatCommand:p}),u(\"formatting\",new f({template:new r({template:d.dropDownListTemplate,title:\"Format\"})})),u(\"cleanFormatting\",new o({command:p,template:new r({template:d.buttonTemplate,title:\"Clean formatting\"})}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/image.min\",[\"kendo.imagebrowser.min\",\"editor/command.min\"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=n.ui.editor,r=o.EditorUtils,a=o.Dom,s=r.registerTool,l=o.ToolTemplate,d=o.RangeUtils,c=o.Command,u=n.keys,f=\"#k-editor-image-url\",p=\"#k-editor-image-title\",m=\"#k-editor-image-width\",h=\"#k-editor-image-height\",g=c.extend({init:function(e){var t=this;c.fn.init.call(t,e),t.async=!0,t.attributes={}},insertImage:function(e,t){var n,i=this.attributes,o=d.documentFromRange(t);if(i.src&&\"http://\"!=i.src){if(n=function(){setTimeout(function(){i.width||e.removeAttribute(\"width\"),i.height||e.removeAttribute(\"height\"),e.removeAttribute(\"complete\")})},!e)return e=a.create(o,\"img\",i),e.onload=e.onerror=n,t.deleteContents(),t.insertNode(e),e.nextSibling||a.insertAfter(o.createTextNode(\"\\ufeff\"),e),n(),t.setStartAfter(e),t.setEndAfter(e),d.selectRange(t),!0;e.onload=e.onerror=n,a.attr(e,i),n()}return!1},_dialogTemplate:function(e){return n.template('
      # if (showBrowser) { #
      # } #
      ')({\r\nmessages:this.editor.options.messages,showBrowser:e})},redo:function(){var e=this,t=e.lockRange();e.insertImage(d.image(t),t)||e.releaseRange(t)},exec:function(){function e(e){var t=s.element,n=parseInt(t.find(m).val(),10),i=parseInt(t.find(h).val(),10);g.attributes={src:t.find(f).val().replace(/ /g,\"%20\"),alt:t.find(p).val()},g.attributes.width=null,g.attributes.height=null,!isNaN(n)&&n>0&&(g.attributes.width=n),!isNaN(i)&&i>0&&(g.attributes.height=i),v=g.insertImage(k,b),o(e),g.change&&g.change()}function o(e){e.preventDefault(),s.destroy(),a.windowFromDocument(d.documentFromRange(b)).focus(),v||g.releaseRange(b)}function r(t){t.keyCode==u.ENTER?e(t):t.keyCode==u.ESC&&o(t)}var s,l,c,g=this,b=g.lockRange(),v=!1,k=d.image(b),y=k&&k.getAttribute(\"width\")||\"\",w=k&&k.getAttribute(\"height\")||\"\",x=n.support.browser.msie,C=g.editor.options,T=C.messages,_=C.imageBrowser,N=!!(n.ui.ImageBrowser&&_&&_.transport&&_.transport.read!==t),R={title:T.insertImage,visible:!1,resizable:N};this.expandImmutablesIn(b),R.close=o,N&&(R.width=750),s=this.createDialog(g._dialogTemplate(N),R).toggleClass(\"k-filebrowser-dialog\",N).find(\".k-dialog-insert\").click(e).end().find(\".k-dialog-close\").click(o).end().find(\".k-edit-field input\").keydown(r).end().find(f).val(k?k.getAttribute(\"src\",2):\"http://\").end().find(p).val(k?k.alt:\"\").end().find(m).val(y).end().find(h).val(w).end().data(\"kendoWindow\"),l=s.element,N&&(this._imageBrowser=new n.ui.ImageBrowser(l.find(\".k-imagebrowser\"),i({},_)),this._imageBrowser.bind(\"change\",function(e){\"f\"===e.selected.get(\"type\")&&l.find(f).val(this.value())}),this._imageBrowser.bind(\"apply\",e)),x&&(c=l.closest(\".k-window\").height(),l.css(\"max-height\",c)),s.center().open(),l.find(f).focus().select()}});n.ui.editor.ImageCommand=g,s(\"insertImage\",new o.Tool({command:g,template:new l({template:r.buttonTemplate,title:\"Insert Image\"})}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/import.min\",[\"editor/main.min\"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=e.proxy,r=n.ui.editor,a=r.EditorUtils,s=r.Command,l=r.Tool,d=a.registerTool,c=r.ToolTemplate,u='
      ',f=s.extend({exec:function(){(this.editor._uploadWidget||this._initializeUploadWidget()).element.click()},_initializeUploadWidget:function(){var t=this,n=t.editor,i=n.options[\"import\"],r=e('').kendoUpload({success:o(t._onUploadSuccess,t),progress:o(t._onUploadProgress,t),select:o(t._onUploadSelect,t),error:o(t._onUploadError,t),complete:o(t._onUploadComplete,t),showFileList:!1,multiple:!1,async:{saveUrl:i.proxyUrl,autoUpload:!0,saveField:\"file\"},validation:{allowedExtensions:i.allowedExtensions,maxFileSize:i.maxFileSize}}).getKendoUpload();return n._uploadWidget=r,r},_onUploadComplete:function(e){this._trigger(\"complete\",e),e.sender.clearAllFiles(),this._removeLoadingOverlay()},_onUploadSuccess:function(e){this.editor.value(e.response.html.replace(/<\\/?body>/gi,\"\")),this._trigger(\"success\",e)},_onUploadProgress:function(e){this._trigger(\"progress\",e)},_onUploadSelect:function(e){this._trigger(\"select\",e),e.files[0].validationErrors||this._initLoadingOverlay()},_onUploadError:function(e){this._trigger(\"error\",e)},_trigger:function(e,t){var n=this.editor,i=n.options[\"import\"];\"function\"==typeof i[e]&&i[e].call(n,t)},_initLoadingOverlay:function(){var t=this.editor.body;r.Dom.is(t,\"body\")?this._iframeWrapper=this._container=this.editor.wrapper.find(\"iframe\").parent().css({position:\"relative\"}).append(u):this._container=e(t).append(u),n.ui.progress(this._container,!0)},_removeLoadingOverlay:function(){n.ui.progress(this._container,!1),e(this._iframeWrapper).css({position:\"\"}),delete this._container,delete this._iframeWrapper}});i(r,{ImportCommand:f}),d(\"import\",new l({command:f,template:new c({template:a.buttonTemplate,title:\"Import\"})}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/insert.min\",[\"editor/command.min\"],e)}(function(){!function(e){var t=window.kendo,n=t.ui.editor,i=n.Command,o=n.GenericCommand,r=n.EditorUtils,a=r.registerTool,s=n.Tool,l=n.ToolTemplate,d=n.RestorePoint,c=e.extend,u=i.extend({init:function(e){i.fn.init.call(this,e),this.managesUndoRedo=!0},exec:function(){var e,t=this.editor,n=this.options,i=n.range,r=t.body,a=new d(i,r),s=n.html||n.value||\"\";t.selectRange(i),t.clipboard.paste(s,n),n.postProcess&&n.postProcess(t,t.getRange()),e=new o(a,new d(t.getRange(),r)),e.editor=t,t.undoRedoStack.push(e),t.focus()}}),f=s.extend({initialize:function(e,t){var i=t.editor,o=this.options,r=o.items?o.items:i.options.insertHtml;this._selectBox=new n.SelectBox(e,{dataSource:r,dataTextField:\"text\",dataValueField:\"value\",change:function(){s.exec(i,\"insertHtml\",this.value())},title:i.options.messages.insertHtml,highlightFirst:!1})},command:function(e){return new u(e)},update:function(e){var t=e.data(\"kendoSelectBox\")||e.find(\"select\").data(\"kendoSelectBox\");t.close(),t.value(t.options.title)}});c(n,{InsertHtmlCommand:u,InsertHtmlTool:f}),a(\"insertHtml\",new f({template:new l({template:r.dropDownListTemplate,title:\"Insert HTML\",initialValue:\"Insert HTML\"})}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/export.min\",[\"editor/main.min\"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=e.proxy,r=n.ui.editor,a=r.EditorUtils,s=r.Command,l=r.Tool,d=a.registerTool,c=r.ToolTemplate,u=[{text:\"Docx\",value:\"docx\"},{text:\"Rtf\",value:\"rtf\"},{text:\"Pdf\",value:\"pdf\"},{text:\"Html\",value:\"html\"},{text:\"Plain Text\",value:\"txt\"}],f=s.extend({init:function(e){var t=this;t.options=e,s.fn.init.call(t,e),t.attributes=null,t.exportType=e.exportType},exec:function(){var e=this,t=this.lockRange(!0);e.postToProxy(),e.releaseRange(t)},postToProxy:function(){this.generateForm().appendTo(\"body\").submit().remove()},generateForm:function(){var t=this,n=t.editor.options.exportAs,i=e(\"
      \").attr({action:n&&n.proxyURL||\"\",method:\"POST\"});return i.append([t.valueInput(),t.exportTypeInput(),t.fileNameInput()]),i},valueInput:function(){var t=this.editor;return e(\"\").attr({value:t.encodedValue(),name:\"value\",type:\"hidden\"})},exportTypeInput:function(){var t=this;return e(\"\").attr({value:t.exportType,name:\"exportType\",type:\"hidden\"})},fileNameInput:function(){var t=this.editor,n=t.options.exportAs,i=n&&n.fileName||t.element.attr(\"id\")||\"editor\";return e(\"\").attr({value:i,name:\"fileName\",type:\"hidden\"})}}),p=l.extend({init:function(e){var t=this;l.fn.init.call(t,n.deepExtend({},t.options,e)),t.type=\"kendoSelectBox\"},options:{items:u,width:115},command:function(e){var t=e.value;return new r.ExportAsCommand({range:e.range,exportType:t.exportType})},initialize:function(e,t){var i=this,r=t.editor,a=i.options,s=a.name,l=o(i.changeHandler,i),d=a.items||r.options[s];d.unshift({text:r.options.messages[s],value:\"\"}),i.editor=r,e.width(a.width),e.kendoSelectBox({dataTextField:\"text\",dataValueField:\"value\",dataSource:d,autoSize:!0,change:l,open:function(e){var t=e.sender;t.items()[0].style.display=\"none\",t.unbind(\"open\")},highlightFirst:!1,template:n.template('#:data.text#')}),e.addClass(\"k-decorated\").closest(\".k-widget\").removeClass(\"k-\"+s).find(\"*\").addBack().attr(\"unselectable\",\"on\")},changeHandler:function(e){var t=e.sender,n=t.dataItem(),i=n&&n.value;this._exec(i),t.value(\"\")},_exec:function(e){e&&l.exec(this.editor,this.options.name,{exportType:e})},destroy:function(){this._ancestor=null}});i(r,{ExportAsTool:p,ExportAsCommand:f}),d(\"exportAs\",new p({template:new c({template:a.dropDownListTemplate,title:\"Export As\"})}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/indent.min\",[\"editor/plugins/formatblock.min\"],e)}(function(){!function(e,t){function n(n,i){var o=\"rtl\"==e(n).css(\"direction\"),r=o?\"Right\":\"Left\",a=\"td\"!=s.name(n)?\"margin\"+r:\"padding\"+r;return i===t?n.style[a]||0:(i>0?n.style[a]=i+\"px\":(n.style[a]=\"\",n.style.cssText||n.removeAttribute(\"style\")),t)}var i=window.kendo,o=i.Class,r=e.extend,a=i.ui.editor,s=a.Dom,l=a.EditorUtils,d=l.registerTool,c=a.Command,u=a.Tool,f=a.ToolTemplate,p=a.RangeUtils,m=s.blockElements,h=a.BlockFormatFinder,g=a.BlockFormatter,b=o.extend({init:function(){this.finder=new h([{tags:s.blockElements}])},apply:function(t){var i,o,r,a,l,d,c,u,f,p,m,h;if(t=s.filterBy(t,s.htmlIndentSpace,!0),i=this.finder.findSuitable(t),o=[],i=this.mapImmutables(i),i.length){for(r=0,a=i.length;r1||n(u.parentNode))||s.ofType(u,[\"ul\",\"ol\"])&&l>0),r)return i.removeClass(\"k-state-disabled\"),t;i.addClass(\"k-state-disabled\").removeClass(\"k-state-hover\")}});r(a,{IndentFormatter:b,IndentCommand:v,OutdentCommand:k,OutdentTool:y}),d(\"indent\",new u({command:v,template:new f({template:l.buttonTemplate,title:\"Indent\"})})),d(\"outdent\",new y({command:k,template:new f({template:l.buttonTemplate,title:\"Outdent\"})}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/linebreak.min\",[\"editor/plugins/formatblock.min\"],e)}(function(){!function(e){var t=window.kendo,n=e.extend,i=t.ui.editor,o=i.Dom,r=i.Command,a=i.Tool,s=i.BlockFormatter,l=o.normalize,d=i.RangeUtils,c=i.EditorUtils.registerTool,u=r.extend({init:function(e){this.options=e,r.fn.init.call(this,e)},_insertMarker:function(e,t){var n,i=o.create(e,\"a\");return i.className=\"k-marker\",t.insertNode(i),i.parentNode||(n=t.commonAncestorContainer,n.innerHTML=\"\",n.appendChild(i)),l(i.parentNode),i},_moveFocus:function(e,t){var n,i;if(o.isEmpty(t))e.setStartBefore(t);else{if(e.selectNodeContents(t),n=d.textNodes(e)[0],!n){for(;t.childNodes.length&&!o.is(t.firstChild,\"br\");)t=t.firstChild;n=t}o.isEmpty(n)?e.setStartBefore(n):(o.emptyNode(n)&&(n.innerHTML=\"\\ufeff\"),i=n.firstChild||n,o.isDataNode(i)?e.setStart(i,0):e.setStartBefore(i))}},shouldTrim:function(e){var t=\"p,h1,h2,h3,h4,h5,h6\".split(\",\"),n=o.parentOfType(e.startContainer,t),i=o.parentOfType(e.endContainer,t);return n&&!i||!n&&i},_blankAfter:function(e){for(;e&&(o.isMarker(e)||\"\"===o.stripBom(e.nodeValue));)e=e.nextSibling;return!e},exec:function(){var t,n,r,a,c,u,f,p,m,h,g,b,v,k,y=this.getRange(),w=d.documentFromRange(y),x=i.emptyElementContent;this.expandImmutablesIn(y),h=this.shouldTrim(y),y.deleteContents(),c=this._insertMarker(w,y),o.stripBomNode(c.previousSibling),o.stripBomNode(c.nextSibling),u=o.closestEditableOfType(c,[\"li\"]),f=o.closestEditableOfType(c,\"h1,h2,h3,h4,h5,h6\".split(\",\")),p=o.is(c.parentNode,\"table\")&&c.parentNode,u?o.emptyNode(u)&&(a=o.create(w,\"p\"),o.next(u)&&(m=y.cloneRange(),m.selectNode(u),d.split(m,u.parentNode)),g=e(\"br\",u),1==g.length&&g.remove(),b=u.parentNode,v=u.parentNode.children.length,k=v>1&&1==u.childNodes.length&&u.children[0],o.insertAfter(a,b),o.remove(1==v?u.parentNode:u),k&&k!==c?(a.appendChild(k),a.appendChild(c)):a.innerHTML=x,r=a):f&&this._blankAfter(c)?(a=this._insertParagraphAfter(f),o.remove(c),r=a):p&&(a=this._insertParagraphAfter(p),o.remove(c),r=a),r||(u||f||new s([{tags:[\"p\"]}]).apply([c]),y.selectNode(c),t=o.parentOfType(c,[u?\"li\":f?o.name(f):\"p\"]),d.split(y,t,h),n=t.previousSibling,o.is(n,\"li\")&&n.firstChild&&!o.is(n.firstChild,\"br\")&&(n=n.firstChild),r=t.nextSibling,this.clean(n,{links:!0}),this.clean(r,{links:!0}),o.is(r,\"li\")&&r.firstChild&&!o.is(r.firstChild,\"br\")&&(r=r.firstChild),o.remove(t),l(n)),l(r),this._moveFocus(y,r),y.collapse(!0),o.scrollTo(r,!0),d.selectRange(y)},_insertParagraphAfter:function(e){var t=this.getRange(),n=d.documentFromRange(t),r=i.emptyElementContent,a=o.create(n,\"p\");return o.insertAfter(a,e),a.innerHTML=r,a},clean:function(t,n){var r,a=t;if(t.firstChild&&o.is(t.firstChild,\"br\")&&o.remove(t.firstChild),o.isDataNode(t)&&!t.nodeValue&&(t=t.parentNode),t){for(r=!1;t.firstChild&&1==t.firstChild.nodeType;)r=r||o.significantNodes(t.childNodes).length>1,t=t.firstChild;if(o.isEmpty(t)||!/^\\s*$/.test(t.innerHTML)||r||(e(a).find(\".k-br\").remove(),t.innerHTML=i.emptyElementContent),n&&n.links)for(;t!=a;){if(o.is(t,\"a\")&&o.emptyNode(t)){o.unwrap(t);break}t=t.parentNode}}}}),f=r.extend({init:function(e){this.options=e,r.fn.init.call(this,e)},exec:function(){var e,n,i,r,a,s,c=this.getRange();this.expandImmutablesIn(c),e=o.create(d.documentFromRange(c),\"br\"),n=c.startContainer,r=t.support.browser,a=r.msie&&r.version<11,s=o.is(n,\"table\")&&n,c.deleteContents(),s?o.insertAfter(e,s):c.insertNode(e),l(e.parentNode),a||e.nextSibling&&!o.isWhitespace(e.nextSibling)||(i=e.cloneNode(!0),i.className=\"k-br\",o.insertAfter(i,e)),c.setStartAfter(e),c.collapse(!0),o.scrollTo(e.nextSibling||e,!0),d.selectRange(c)}});n(i,{ParagraphCommand:u,NewLineCommand:f}),c(\"insertLineBreak\",new a({key:13,shift:!0,command:f})),c(\"insertParagraph\",new a({key:13,command:u}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/file.min\",[\"kendo.filebrowser.min\",\"editor/plugins/link.min\"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=n.ui.editor,r=o.EditorUtils,a=o.Dom,s=r.registerTool,l=o.ToolTemplate,d=o.RangeUtils,c=o.Command,u=o.LinkFormatter,f=d.textNodes,p=n.keys,m=\"#k-editor-file-url\",h=\"#k-editor-file-text\",g=\"#k-editor-file-title\",b=c.extend({init:function(e){var t=this;c.fn.init.call(t,e),t.formatter=new u,t.async=!0,t.attributes={}},insertFile:function(e,t){var n=this.attributes,i=d.documentFromRange(t);if(n.href&&\"http://\"!=n.href){if(!e)return e=a.create(i,\"a\",{href:n.href}),e.innerHTML=n.innerHTML,e.title=n.title,t.deleteContents(),t.insertNode(e),e.nextSibling||a.insertAfter(i.createTextNode(\"\\ufeff\"),e),t.setStartAfter(e),t.setEndAfter(e),d.selectRange(t),!0;a.attr(e,n)}return!1},_dialogTemplate:function(e){return n.template('
      # if (showBrowser) { #
      # } #
      ')({messages:this.editor.options.messages,showBrowser:e})},redo:function(){var e=this,t=e.lockRange();this.formatter.apply(t,this.attributes),e.releaseRange(t)},exec:function(){function e(e){var t=s.element,n=t.find(m).val().replace(/ /g,\"%20\"),i=t.find(h).val(),r=t.find(g).val();u.attributes={href:n,innerHTML:\"\"!==i?i:n,title:r},k=u.insertFile(y,b),o(e),u.change&&u.change()}function o(e){e.preventDefault(),s.destroy(),a.windowFromDocument(d.documentFromRange(b)).focus(),k||u.releaseRange(b)}function r(t){t.keyCode==p.ENTER?e(t):t.keyCode==p.ESC&&o(t)}var s,l,c,u=this,b=u.lockRange(),v=f(b),k=!1,y=v.length?this.formatter.finder.findSuitable(v[0]):null,w=n.support.browser.msie,x=u.editor.options,C=x.messages,T=x.fileBrowser,_=!!(n.ui.FileBrowser&&T&&T.transport&&T.transport.read!==t),N={title:C.insertFile,visible:!1,resizable:_};this.expandImmutablesIn(b),N.close=o,_&&(N.width=750),s=this.createDialog(u._dialogTemplate(_),N).toggleClass(\"k-filebrowser-dialog\",_).find(\".k-dialog-insert\").click(e).end().find(\".k-dialog-close\").click(o).end().find(\".k-edit-field input\").keydown(r).end().find(m).val(y?y.getAttribute(\"href\",2):\"http://\").end().find(h).val(y?y.innerText:\"\").end().find(g).val(y?y.title:\"\").end().data(\"kendoWindow\"),l=s.element,_&&(u._fileBrowser=new n.ui.FileBrowser(l.find(\".k-filebrowser\"),i({},T)),u._fileBrowser.bind(\"change\",function(e){\"f\"===e.selected.get(\"type\")&&l.find(m).val(this.value())}),u._fileBrowser.bind(\"apply\",e)),w&&(c=l.closest(\".k-window\").height(),l.css(\"max-height\",c)),s.center().open(),l.find(m).focus().select()}});n.ui.editor.FileCommand=b,s(\"insertFile\",new o.Tool({command:b,template:new l({template:r.buttonTemplate,title:\"Insert File\"})}))}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/tables.min\",[\"editor/plugins/formatblock.min\"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=e.proxy,r=n.ui.editor,a=r.Dom,s=r.EditorUtils,l=r.RangeUtils,d=r.Command,c=\"kendoEditor\",u=\"k-state-active\",f=\"k-state-selected\",p=r.Tool,m=r.ToolTemplate,h=r.InsertHtmlCommand,g=r.BlockFormatFinder,b=r.EditorUtils.registerTool,v=n.getTouches,k=n.template,y=\"#=content#\",w=new g([{tags:[\"table\"]}]),x=h.extend({init:function(t){var n=e.extend({postProcess:this.postProcess,skipCleaners:!0},t||{});h.fn.init.call(this,n)},_tableHtml:function(e,t){var n,i;return e=e||1,t=t||1,n=k(y)({width:100/t,content:r.emptyTableCellContent}),i=100/e,\"\"+Array(e+1).join(\"\"+Array(t+1).join(n)+\"\")+\"
      \"},postProcess:function(t,n){var i=e(\"table[data-last]\",t.document).removeAttr(\"data-last\");n.setStart(i.find(\"td\")[0],0),n.collapse(!0),t.selectRange(n)},exec:function(){var e=this.options;e.html=this._tableHtml(e.rows,e.columns),h.fn.exec.call(this)}}),C=p.extend({initialize:function(t,n){var i,a,l,d;p.fn.initialize.call(this,t,n),i=e(this.options.popupTemplate).appendTo(\"body\").kendoPopup({anchor:t,copyAnchorStyles:!1,open:o(this._open,this),activate:o(this._activate,this),close:o(this._close,this)}).data(\"kendoPopup\"),t.click(o(this._toggle,this)).keydown(o(this._keydown,this)),a=this._editor=n.editor,this._popup=i,l=new r.TableWizardTool({template:new m({template:s.buttonTemplate,title:a.options.messages.tableWizard}),command:r.TableWizardCommand,insertNewTable:!0}),b(\"tableWizardInsert\",l),d=e(\"
      \"+l.options.template.getHtml()+\"
      \"),d.appendTo(i.element),a.toolbar&&a.toolbar.attachToolsEvents(d)},popup:function(){return this._popup},_activate:e.noop,_open:function(){this._popup.options.anchor.addClass(u)},_close:function(){this._popup.options.anchor.removeClass(u)},_keydown:function(e){var t=n.keys,i=e.keyCode;i==t.DOWN&&e.altKey?this._popup.open():i==t.ESC&&this._popup.close()},_toggle:function(t){var n=e(t.target).closest(\".k-tool\");n.hasClass(\"k-state-disabled\")||this.popup().toggle()},update:function(e){var t=this.popup();t.wrapper&&\"block\"==t.wrapper.css(\"display\")&&t.close(),e.removeClass(\"k-state-hover\")},destroy:function(){this._popup.destroy()}}),T=C.extend({init:function(t){this.cols=8,this.rows=6,C.fn.init.call(this,e.extend(t,{command:x,popupTemplate:\"
      \"+Array(this.cols*this.rows+1).join(\"\")+\"
      \"}))},_activate:function(){function t(t){var n=e(window);return{row:Math.floor((t.clientY+n.scrollTop()-u.top)/o)+1,col:Math.floor((t.clientX+n.scrollLeft()-u.left)/i)+1}}var i,o,r=this,a=r._popup.element,s=a.find(\".k-ct-cell\"),l=s.eq(0),d=s.eq(s.length-1),u=n.getOffset(l),f=n.getOffset(d),p=r.cols,m=r.rows;a.find(\"*\").addBack().attr(\"unselectable\",\"on\"),f.left+=d[0].offsetWidth,f.top+=d[0].offsetHeight,i=(f.left-u.left)/p,o=(f.top-u.top)/m,a.autoApplyNS(c).on(\"mousemove\",function(e){r._setTableSize(t(e))}).on(\"mouseleave\",function(){r._setTableSize()}).on(\"down\",function(e){e.preventDefault();var n=v(e)[0];r._exec(t(n.location))})},_valid:function(e){return e&&e.row>0&&e.col>0&&e.row<=this.rows&&e.col<=this.cols},_exec:function(e){this._valid(e)&&(this._editor.exec(\"createTable\",{rows:e.row,columns:e.col}),this._popup.close())},_setTableSize:function(t){var i=this._popup.element,o=i.find(\".k-status\"),r=i.find(\".k-ct-cell\"),a=this.cols,s=this._editor.options.messages;this._valid(t)?(o.text(n.format(s.createTableHint,t.row,t.col)),r.each(function(n){e(this).toggleClass(f,n%a10))return t=e.clipboardData||e.originalEvent.clipboardData||window.clipboardData||{},n=t.items||t.files,this._insertImages(n)},_insertImages:function(t){var n,i,o;if(t&&(n=e.grep(t,function(e){return/^image\\//i.test(e.type)}),i=e.grep(t,function(e){return/^text\\/html/i.test(e.type)}),!i.length&&n.length&&(o=this._startModification())))return e.when.apply(e,e.map(n,this._fileToDataURL)).done(e.proxy(function(){var t=Array.prototype.slice.call(arguments),n=e.map(t,function(e){return''}).join(\"\");this._triggerPaste(n),this._endModification(o)},this)),!0},onpaste:function(n){return this._handleImagePaste(n)?void n.preventDefault():(this.expandImmutablesIn(),void this._contentModification(function(i,o){var a,s,l,d=r.create(i.document,\"div\",{className:\"k-paste-container\",innerHTML:\"\\ufeff\"}),c=t.support.browser,u=i.body;this._decoreateClipboardNode(d,u),u.appendChild(d),c.webkit&&this._moveToCaretPosition(d,o),c.msie&&c.version<11?(n.preventDefault(),a=i.createRange(),a.selectNodeContents(d),i.selectRange(a),s=i.document.body.createTextRange(),s.moveToElementText(d),e(u).unbind(\"paste\"),s.execCommand(\"Paste\"),e(u).bind(\"paste\",e.proxy(this.onpaste,this))):(l=i.createRange(),l.selectNodeContents(d),i.selectRange(l)),o.deleteContents()},function(t,n){var i,o=\"\";t.selectRange(n),i=e(t.body).children(\".k-paste-container\"),i.each(function(){var e=this.lastChild;e&&r.is(e,\"br\")&&r.remove(e),o+=this.innerHTML}),i.remove(),this._triggerPaste(o,{clean:!0})}))},ondragover:function(e){(l.msie||l.edge)&&(e.stopPropagation(),e.preventDefault())},ondrop:function(e){var t,n;\"FileReader\"in window&&(t=(e.originalEvent||e).dataTransfer||{},n=t.items||t.files,this._insertImages(n)&&e.preventDefault())},_decoreateClipboardNode:function(t,n){var i,o,r,a;(l.msie||l.webkit)&&(t=e(t),t.css({borderWidth:\"0px\",width:\"0px\",height:\"0px\",overflow:\"hidden\",margin:\"0\",padding:\"0\"}),l.msie&&(i=e(n.ownerDocument.documentElement),t.css({fontVariant:\"normal\",fontWeight:\"normal\",lineSpacing:\"normal\",lineHeight:\"normal\",textDecoration:\"none\"}),o=i.css(\"color\"),o&&t.css(\"color\",o),r=i.css(\"fontFamily\"),r&&t.css(\"fontFamily\",r),a=i.css(\"fontSize\"),a&&t.css(\"fontSize\",a)))},_moveToCaretPosition:function(t,n){var i=this,o=i.editor.body,a=r.offset(t,o),s=i._caretOffset(n,o),l=s.left-a.left,d=s.top-a.top,c=\"translate(\"+l+\"px,\"+d+\"px)\";e(t).css({\"-webkit-transform\":c,transform:c})},_caretOffset:function(e,t){var n,i,o,a,s,l,d=this.editor,c=r.create(d.document,\"span\",{innerHTML:\"\\ufeff\"}),u=e.startContainer;return e.collapsed?(i=r.isDataNode(u),i&&(r.isBom(u)||0===e.startOffset)?r.insertBefore(c,u):i&&e.startOffset===u.length?r.insertAfter(c,u):(e.insertNode(c),n=!0)):(u=u===t?u.childNodes[e.startOffset]:u,r.insertBefore(c,u)),o=r.offset(c,t),a=c.previousSibling,s=c.nextSibling,r.remove(c),n&&r.isDataNode(a)&&r.isDataNode(s)&&!r.isBom(a)&&!r.isBom(s)&&(l=a.length,s.data=a.data+s.data,e.setStart(s,l),r.remove(a),e.collapse(!0),d.selectRange(e)),o},expandImmutablesIn:function(e){var n,i,o,r=this.editor;r&&r.options.immutables&&(n=r.body,e=e||r.getRange(),t.ui.editor.Immutables.expandImmutablesIn(e),e.startContainer===n&&0===e.startOffset&&(i=n.ownerDocument,o=i.createTextNode(\"\\ufeff\"),n.insertBefore(o,n.childNodes[0]),\r\ne.setStartBefore(o)),r.selectRange(e))},splittableParent:function(e,t){var n,i;if(e)return r.closestEditableOfType(t,[\"p\",\"ul\",\"ol\"])||t.parentNode;if(n=t.parentNode,i=t.ownerDocument.body,r.isInline(n))for(;n.parentNode!=i&&!r.isBlock(n.parentNode);)n=n.parentNode;return n},paste:function(t,n){var i,a,l,c,u,f,p,m,h,g,b,v,k,y,w,x,C,T=this.editor;if(this.expandImmutablesIn(),n=d({clean:!1,split:!0},n),!n.skipCleaners)for(i=0,a=this.cleaners.length;i(\\s| )*)+(<\\/?(div|p|li|col|t))/gi,\"$3\"),t=t.replace(/<(a|span)[^>]*><\\/\\1>/gi,\"\")),t=t.replace(/^
    • $/g,\"li>\"),c=this.isBlock(t),T.focus(),u=T.getRange(),u.deleteContents(),u.startContainer==T.document&&u.selectNodeContents(T.body),f=new s,p=f.addCaret(u),m=this.splittableParent(c,p),h=!1,g=m!=T.body&&!r.is(m,\"td\"),n.split&&g&&(c||r.isInline(m))&&(u.selectNode(p),o.split(u,m,!0),h=!0),b=this.htmlToFragment(t),b.firstChild&&\"k-paste-container\"===b.firstChild.className){for(v=[],i=0,a=b.childNodes.length;i\"))}if(l=b.childNodes,e(l).filter(\"table\").addClass(\"k-table\").end().find(\"table\").addClass(\"k-table\"),e(l).each(function(e,t){r.isBlock(t)&&\"\"===t.innerHTML&&t.appendChild(T.document.createTextNode(\"\\ufeff\"))}),u.insertNode(b),m=this.splittableParent(c,p),h){for(;p.parentNode!=m;)r.unwrap(p.parentNode);r.unwrap(p.parentNode)}if(r.normalize(u.commonAncestorContainer),p.style.display=\"inline\",r.restoreScrollTop(T.document),r.scrollTo(p),f.removeCaret(u),k=u.commonAncestorContainer.parentNode,u.collapsed&&\"tbody\"==r.name(k)&&(u.setStartAfter(e(k).closest(\"table\")[0]),u.collapse(!0)),y=e(u.commonAncestorContainer.parentNode).closest(\"table\"),y.get(0)){for(w=y.parent().contents(),x=w.length-1,C=w.get(x);null!==C.nodeValue&&(\" \"===C.nodeValue||\"\"===C.nodeValue);)x-=1,C=w.get(x);C===y.get(0)&&r.insertAfter(r.createEmptyNode(T.document,\"p\"),y[0])}T.selectRange(u)}}),u=n.extend({init:function(e){this.options=e||{},this.replacements=[]},clean:function(e,t){var n,i,o=this,r=t||o.replacements;for(n=0,i=r.length;n]*)>/i,\"<$1telerik:script$2>\"]},applicable:function(e){return!this.options.none&&/]*>/i.test(e)}}),p=u.extend({init:function(e){u.fn.init.call(this,e);var t=\" \";this.replacements=[/]*>\\s*<\\/span>/gi,t,/\\t/gi,t,/    /gi,t]},applicable:function(e){return/    |class=\"?Apple-tab-span/i.test(e)}}),m=u.extend({init:function(e){u.fn.init.call(this,e),this.junkReplacements=[/<\\?xml[^>]*>/gi,\"\",//g,\"\",/"/g,\"'\",/ <\\/o:p>/gi,\" \",/<\\/?(meta|link|style|o:|v:|x:)[^>]*>((?:.|\\n)*?<\\/(meta|link|style|o:|v:|x:)[^>]*>)?/gi,\"\",/<\\/o>/g,\"\"],this.replacements=this.junkReplacements.concat([/(?:
       [\\s\\r\\n]+|
      )*(<\\/?(h[1-6]|hr|p|div|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|address|pre|form|blockquote|dl|dt|dd|dir|fieldset)[^>]*>)(?:
       [\\s\\r\\n]+|
      )*/g,\"$1\",/

      /g,\"

      \",/
      (?!\\n)/g,\" \",/]*)>(\\s| )+]*>(\\s| )*<\\/tr>/gi,\"\",/]*>(\\s| )*<\\/tbody>/gi,\"\",/]*>(\\s| )*<\\/table>/gi,\"\",/

      /g,\"
      \",/^\\s*( )+/gi,\"\",/( |]*>)+\\s*$/gi,\"\",/mso-[^;\"]*;?/gi,\"\",/<(\\/?)b(\\s[^>]*)?>/gi,\"<$1strong$2>\",/<(\\/?)font(\\s[^>]*)?>/gi,this.convertFontMatch,/<(\\/?)i(\\s[^>]*)?>/gi,\"<$1em$2>\",/style=([\"|'])\\s*\\1/g,\"\",/(]*>)?\\n/g,function(e,t){return t?e:\" \"}])},convertFontMatch:function(e,t,n){var i=/face=['\"]([^'\"]+)['\"]/i,o=i.exec(n),r=n&&o&&o[1];return t?\"\":r?'':\"\"},applicable:function(e){return/class=\"?Mso/i.test(e)||/style=\"[^\"]*mso-/i.test(e)||/urn:schemas-microsoft-com:office/.test(e)},stripEmptyAnchors:function(e){return e.replace(/]*)>\\s*<\\/a>/gi,function(e,t){return!t||t.indexOf(\"href\")<0?\"\":e})},listType:function(e,t){var n,i=e.innerHTML,o=r.innerText(e),a=i.match(/^(?:]*texhtml[^>]*>)?]*(?:Symbol|Wingdings)[^>]*>([^<]+)/i),s=a&&a[1],l=/^[a-z\\d]/i.test(s),d=function(e){return e.replace(/^(?: |[\\u00a0\\n\\r\\s])+/,\"\")};return a&&(n=!0),i=i.replace(/<\\/?\\w+[^>]*>/g,\"\").replace(/ /g,\" \"),!n&&/^[\\u2022\\u00b7\\u00a7\\u00d8o]\\u00a0+/.test(i)||n&&/^.\\u00a0+/.test(i)||s&&!l&&t?{tag:\"ul\",style:this._guessUnorderedListStyle(d(o))}:/^\\s*\\w+[\\.\\)][\\u00a0 ]{2,}/.test(i)?{tag:\"ol\",style:this._guessOrderedListStyle(d(o))}:void 0},_convertToLi:function(e){var t,n=r.name(e);return 1==e.childNodes.length?t=e.firstChild.innerHTML.replace(/^\\w+[\\.\\)]( )+ /,\"\"):(r.remove(e.firstChild),3==e.firstChild.nodeType&&/^[ivxlcdm]+\\.$/i.test(e.firstChild.nodeValue)&&r.remove(e.firstChild),/^( |\\s)+$/i.test(e.firstChild.innerHTML)&&r.remove(e.firstChild),t=\"p\"!=n?\"<\"+n+\">\"+e.innerHTML+\"\":e.innerHTML),r.remove(e),r.create(document,\"li\",{innerHTML:t})},_guessUnorderedListStyle:function(e){return/^[\\u2022\\u00b7\\u00FC\\u00D8\\u002dv-]/.test(e)?null:/^o/.test(e)?\"circle\":\"square\"},_guessOrderedListStyle:function(e){var t=null;return/^\\d/.test(e)||(t=(/^[a-z]/.test(e)?\"lower-\":\"upper-\")+(/^[ivxlcdm]/i.test(e)?\"roman\":\"alpha\")),t},extractListLevels:function(e){var n=/style=['\"]?[^'\"]*?mso-list:\\s?[a-zA-Z]+(\\d+)\\s[a-zA-Z]+(\\d+)\\s(\\w+)/gi;return e=e.replace(n,function(e,n,i){return t.format('data-list=\"{0}\" data-level=\"{1}\" {2}',n,i,e)})},_createList:function(e,t){return r.create(document,e,{style:{listStyleType:t}})},lists:function(t){var n,i,o,a,s,l,d,c,u,f,p,m,h,g,b,v,k=e(t).find(r.blockElements.join(\",\")),y=-1,w={},x=[\"p\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"];for(c=0;cy||!m)&&(m=this._createList(f,b.style),w[p][v]=m,i.appendChild(m)),i=this._convertToLi(u),m.appendChild(i),l?o=y=-1:y=p))},removeAttributes:function(e){for(var t=e.attributes,n=t.length;n--;)\"colspan\"!=r.name(t[n])&&e.removeAttributeNode(t[n])},createColGroup:function(n){var i=n.cells,o=e(n).closest(\"table\"),r=o.children(\"colgroup\");i.length<2||(r.length&&(i=r.children(),r[0].parentNode.removeChild(r[0])),r=e(e.map(i,function(e){var n=e.width;return n&&0!==parseInt(n,10)?t.format('',n):\"\"}).join(\"\")),r.is(\"colgroup\")||(r=e(\"\").append(r)),r.prependTo(o))},convertHeaders:function(t){var n,i=t.cells,o=e.map(i,function(t){var n=e(t).children(\"p\").children(\"strong\")[0];if(n&&\"strong\"==r.name(n))return n});if(o.length==i.length){for(n=0;n\").end().find(\"thead\").append(t),n=0;no.cells.length&&(o=n[a]);l.createColGroup(o),l.convertHeaders(i),l.removeAttributes(s[r]),l.removeParagraphs(s.eq(r).find(\"td,th\")),l.removeDefaultColors(s.eq(r).find(\"span\"))}},headers:function(t){var n,i=e(t).find(\"p.MsoTitle\");for(n=0;n]*)\\s+class=\"?[^\"\\s>]*\"?/gi,\"$1\")),e}}),h=u.extend({init:function(e){u.fn.init.call(this,e),this.replacements=[/\\s+class=\"Apple-style-span[^\"]*\"/gi,\"\",/<(div|p|h[1-6])\\s+style=\"[^\"]*\"/gi,\"<$1\",/^
      (.*)<\\/div>$/,\"$1\"]},applicable:function(e){return/class=\"?Apple-style-span|style=\"[^\"]*-webkit-nbsp-mode/i.test(e)}}),g=u.extend({clean:function(e){var t=r.create(document,\"div\",{innerHTML:e});return t=this.cleanDom(t),t.innerHTML},cleanDom:function(e){return e}}),b=g.extend({cleanDom:function(t){var n=this.collectTags();return e(t).find(n).each(function(){r.unwrap(this)}),t},collectTags:function(){if(this.options.span)return\"span\"},applicable:function(){return this.options.span}}),v=g.extend({cleanDom:function(t){var n=this.collectAttr(),i=e(t).find(\"[\"+n.join(\"],[\")+\"]\");return i.removeAttr(n.join(\" \")),t},collectAttr:function(){return this.options.css?[\"class\",\"style\"]:[]},applicable:function(){return this.options.css}}),k=function(){this.text=\"\",this.add=function(e){this.text+=e}},y=n.extend({init:function(e){this.separators=e||{text:\" \",line:\"
      \"},this.lines=[],this.inlineBlockText=[],this.resetLine()},appendText:function(e){3===e.nodeType&&(e=e.nodeValue),this.textContainer.add(e)},appendInlineBlockText:function(e){this.inlineBlockText.push(e)},flashInlineBlockText:function(){this.inlineBlockText.length&&(this.appendText(this.inlineBlockText.join(\" \")),this.inlineBlockText=[])},endLine:function(){this.flashInlineBlockText(),this.resetLine()},html:function(){var e,t,n,i,o,r,a,s,l=this.separators,d=\"\",c=this.lines;for(this.flashInlineBlockText(),e=0,t=c.length,n=t-1;e\"}},actions:{ul:e.noop,ol:e.noop,table:e.noop,thead:e.noop,tbody:e.noop,td:function(e,t){var n=new x({all:!0}),i=n.cleanDom(t);return e.htmlLines.appendInlineBlockText(i),!0},block:function(e){e.htmlLines.endLine()}}}),C=u.extend({clean:function(e){return this.options.custom(e)},applicable:function(){return\"function\"==typeof this.options.custom}});d(i,{Clipboard:c,Cleaner:u,ScriptCleaner:f,TabCleaner:p,MSWordFormatCleaner:m,WebkitFormatCleaner:h,HtmlTagsCleaner:b,HtmlAttrCleaner:v,HtmlContentCleaner:x,HtmlTextLines:y,CustomCleaner:C})}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/plugins/keyboard.min\",[\"editor/command.min\"],e)}(function(){!function(e){function t(e,t){return t.startContainer===e&&t.endContainer===e&&0===t.startOffset&&t.endOffset==e.childNodes.length}function n(e,t,n){for(var i=e?e[t]:null;i&&!n(i);)i=i[t];return i}var i=window.kendo,o=i.Class,r=i.ui.editor,a=r.RangeUtils,s=r.Dom,l=r.RestorePoint,d=r.Marker,c=i.support.browser,u='
      ',f=e.extend,p=s.nodeTypes,m=\"previousSibling\",h=\"td,th,caption\",g=\"table,tbody,thead,tfoot,tr\",b=g+\",\"+h,v=function(t){return!t.collapsed&&e(t.commonAncestorContainer).is(g)},k=o.extend({remove:function(t){var n,i,o,r,l,c,u,f=this,p=new d;p.add(t,!1),n=a.getAll(t,function(t){return e(t).is(b)}),i=a.documentFromRange(t),o=p.start,r=p.end,l=h.split(\",\"),c=s.parentOfType(o,l),u=s.parentOfType(r,l),f._removeContent(o,c,!0),f._removeContent(r,u,!1),e(n).each(function(t,n){n=e(n),(n.is(h)?n:n.find(h)).each(function(e,t){t.innerHTML=\"\"})}),c&&!o.previousSibling&&s.insertBefore(i.createTextNode(\"\\ufeff\"),o),u&&!r.nextSibling&&s.insertAfter(i.createTextNode(\"\\ufeff\"),r),c?t.setStartBefore(o):n[0]&&(c=e(n[0]),c=c.is(h)?c:c.find(h).first(),c.length&&t.setStart(c.get(0),0)),t.collapse(!0),s.remove(o),s.remove(r)},_removeContent:function(t,n,i){if(n){var o,r=i?\"nextSibling\":\"previousSibling\",a=function(t){for(;t&&!t[r];)t=t.parentNode;return t&&e.contains(n,t)?t[r]:null};for(t=a(t);t;)o=a(t),s.remove(t),t=o}}}),y=o.extend({init:function(e){this.editor=e},keydown:function(n){var i,o,a,s,d=this,u=d.editor,p=u.keyboard,m=p.isTypingKey(n),h=f(e.Event(),n);return d.editor.trigger(\"keydown\",h),h.isDefaultPrevented()?(n.preventDefault(),!0):!(h.isDefaultPrevented()||!m||p.isTypingInProgress())&&(i=u.getRange(),o=u.body,d.startRestorePoint=new l(i,o),v(i)&&(a=new k(u),a.remove(i),u.selectRange(i)),c.webkit&&!i.collapsed&&t(o,i)&&(o.innerHTML=\"\"),u.immutables&&r.Immutables.immutablesContext(i)&&(s=new r.BackspaceHandler(u),s.deleteSelection(i)),p.startTyping(function(){d.endRestorePoint=r._finishUpdate(u,d.startRestorePoint)}),!0)},keyup:function(e){var t=this.editor.keyboard;return this.editor.trigger(\"keyup\",e),!!t.isTypingInProgress()&&(t.endTyping(),!0)}}),w=o.extend({init:function(e){this.editor=e},_addCaret:function(e){var t=s.create(this.editor.document,\"a\");return s.insertAt(e,t,0),s.stripBomNode(t.previousSibling),s.stripBomNode(t.nextSibling),t},_restoreCaret:function(e){var t=this.editor.createRange();!e.nextSibling&&s.isDataNode(e.previousSibling)?t.setStart(e.previousSibling,e.previousSibling.length):t.setStartAfter(e),t.collapse(!0),this.editor.selectRange(t),s.remove(e)},_handleDelete:function(e){var t,n,i=e.endContainer,o=s.closestEditableOfType(i,s.blockElements);return!(!o||!r.RangeUtils.isEndOf(e,o))&&(t=s.next(o),!(!t||\"p\"!=s.name(t))&&(n=this._addCaret(t),this._merge(o,t),this._restoreCaret(n),!0))},_cleanBomBefore:function(e){for(var t=e.startOffset,n=e.startContainer,i=n.nodeValue,o=0;t-o>=0&&\"\\ufeff\"==i[t-o-1];)o++;o>0&&(n.deleteData(t-o,o),e.setStart(n,Math.max(0,t-o)),e.collapse(!0),this.editor.selectRange(e))},_handleBackspace:function(t){var i,o,a,l,d,c,u,f,p,h,g,b,v,k=t.startContainer,y=s.closestEditableOfType(k,[\"li\"]),w=s.closestEditableOfType(k,\"p,h1,h2,h3,h4,h5,h6\".split(\",\")),x=this.editor;if(s.isDataNode(k)){if(t.collapsed&&/^\\s[\\ufeff]+$/.test(k.nodeValue))return t.setStart(k,0),t.setEnd(k,k.length),x.selectRange(t),!1;this._cleanBomBefore(t)}return i=n(w,m,function(e){return!s.htmlIndentSpace(e)}),t.collapsed&&t.startOffset!==t.endOffset&&t.startOffset<0&&(t.startOffset=0,t.endOffset=0,x.selectRange(t)),o=y&&r.RangeUtils.isStartOf(t,y),a=y&&e(y).index(),l=o&&a>0,l&&(w=y,i=s.prev(y)),w&&i&&s.is(i,\"table\")&&r.RangeUtils.isStartOf(t,w)?(\"\"===w.innerText&&(w.innerHTML=\"\\ufeff\"),!0):w&&i&&r.RangeUtils.isStartOf(t,w)||l?(d=this._addCaret(w),this._merge(i,w),this._restoreCaret(d),!0):o&&0===a?(c=y.firstChild,c||(y.innerHTML=r.emptyElementContent,c=y.firstChild),u=new r.ListFormatter(s.name(y.parentNode),\"p\"),t.selectNodeContents(y),u.toggle(t),s.insignificant(c)?t.setStartBefore(c):t.setStart(c,0),x.selectRange(t),!0):(f=k.childNodes[t.startOffset-1],p=t,h=f&&s.closestEditableOfType(f,[\"a\"]),g=n(f||k,m,function(e){return!s.isDataNode(e)||!s.isBom(e)&&e.length>0}),(h||(0===t.startOffset||f)&&s.is(g,\"a\"))&&(h=h||g,p=x.createRange(),p.setStart(h,h.childNodes.length),p.collapse(!0)),h=h||s.closestEditableOfType(f||p.startContainer,[\"a\"]),b=h&&r.RangeUtils.isEndOf(p,h),b&&(v=new r.UnlinkCommand({range:p,body:x.body,immutables:!!x.immutables}),x.execCommand(v),x._selectionChange()),!1)},_handleSelection:function(t){var n,i,o,a,l=t.commonAncestorContainer,c=s.closest(l,\"table\"),u=r.emptyElementContent,f=this.editor;return v(t)?(n=new k(f),n.remove(t),f.selectRange(t),!0):(i=new d,i.add(t,!1),f.immutables&&this._handleImmutables(i),this._surroundFullySelectedAnchor(i,t),t.setStartAfter(i.start),t.setEndBefore(i.end),o=t.startContainer,a=t.endContainer,t.deleteContents(),c&&\"\"===e(c).text()&&(t.selectNode(c),t.deleteContents()),l=t.commonAncestorContainer,\"p\"===s.name(l)&&\"\"===l.innerHTML&&(l.innerHTML=u,t.setStart(l,0)),this._join(o,a),s.insertAfter(f.document.createTextNode(\"\\ufeff\"),i.start),i.remove(t),o=t.startContainer,\"tr\"==s.name(o)&&(o=o.childNodes[Math.max(0,t.startOffset-1)],t.setStart(o,s.getNodeLength(o))),t.collapse(!0),f.selectRange(t),!0)},_handleImmutables:function(e){var t=r.Immutables.immutableParent,n=t(e.start),i=t(e.start);n&&s.insertBefore(e.start,n),i&&s.insertAfter(e.end,i),n&&s.remove(n),i&&i.parentNode&&s.remove(i)},_surroundFullySelectedAnchor:function(t,n){var i=t.start,o=e(i).closest(\"a\").get(0),r=t.end,l=e(r).closest(\"a\").get(0);o&&a.isStartOf(n,o)&&s.insertBefore(i,o),l&&a.isEndOf(n,l)&&s.insertAfter(r,l)},_root:function(e){for(;e&&\"body\"!=s.name(e)&&e.parentNode&&\"body\"!=s.name(e.parentNode);)e=e.parentNode;return e},_join:function(e,t){e=this._root(e),t=this._root(t),e!=t&&s.is(t,\"p\")&&this._merge(e,t)},_merge:function(e,t){for(s.removeTrailingBreak(e);e&&t.firstChild;)1==e.nodeType?(e=s.list(e)?e.children[e.children.length-1]:e,e&&e.appendChild(t.firstChild)):e.nodeType===p.TEXT_NODE?this._mergeWithTextNode(e,t.firstChild):e.parentNode.appendChild(t.firstChild);s.remove(t)},_mergeWithTextNode:function(e,t){e&&e.nodeType===p.TEXT_NODE&&(e.nextSibling&&this._isCaret(e.nextSibling)?s.insertAfter(t,e.nextSibling):s.insertAfter(t,e))},_isCaret:function(t){return e(t).is(\"a\")},keydown:function(e){var t,n,o=this.editor,a=o.getRange(),s=e.keyCode,d=i.keys,c=s===d.BACKSPACE,u=s==d.DELETE;o.immutables&&o.immutables.keydown(e,a)||(!c&&!u||a.collapsed?c?t=\"_handleBackspace\":u&&(t=\"_handleDelete\"):t=\"_handleSelection\",t&&(n=new l(a,o.body),this[t](a)&&(e.preventDefault(),r._finishUpdate(o,n))))},deleteSelection:function(e){this._handleSelection(e)},keyup:e.noop}),x=o.extend({init:function(e){this.editor=e,this.systemCommandIsInProgress=!1},createUndoCommand:function(){this.startRestorePoint=this.endRestorePoint=r._finishUpdate(this.editor,this.startRestorePoint)},changed:function(){return!!this.startRestorePoint&&this.startRestorePoint.html!=this.editor.body.innerHTML},keydown:function(e){var t=this,n=t.editor,i=n.keyboard;return i.isModifierKey(e)?(i.isTypingInProgress()&&i.endTyping(!0),t.startRestorePoint=new l(n.getRange(),n.body),!0):!!i.isSystem(e)&&(t.systemCommandIsInProgress=!0,t.changed()&&(t.systemCommandIsInProgress=!1,t.createUndoCommand()),!0)},keyup:function(){var e=this;return!(!e.systemCommandIsInProgress||!e.changed())&&(e.systemCommandIsInProgress=!1,e.createUndoCommand(),!0)}}),C=o.extend({init:function(e){this.editor=e},keydown:function(e){!c.webkit||e.isDefaultPrevented()||!e.ctrlKey||65!=e.keyCode||e.altKey||e.shiftKey||(this.editor.options.immutables&&this._toSelectableImmutables(),this._selectEditorBody())},_selectEditorBody:function(){var e=this.editor,t=e.getRange();t.selectNodeContents(e.body),e.selectRange(t)},_toSelectableImmutables:function(){for(var t=this.editor,n=t.body,i=r.Immutables.immutable,o=s.emptyTextNode,a=n.firstChild,l=n.lastChild;o(a);)a=a.nextSibling;for(;o(l);)l=l.previousSibling;a&&i(a)&&e(u).prependTo(n),l&&i(l)&&e(u).appendTo(n)},keyup:e.noop}),T=o.extend({init:function(e){this.handlers=e,this.typingInProgress=!1},isCharacter:function(e){return e>=48&&e<=90||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||229==e},toolFromShortcut:function(t,n){var i,o,r=String.fromCharCode(n.keyCode),a=this._getShortcutModifier(n,navigator.platform);for(i in t)if(o=e.extend({ctrl:!1,alt:!1,shift:!1},t[i].options),(o.key==r||o.key==n.keyCode)&&o.ctrl==a&&o.alt==n.altKey&&o.shift==n.shiftKey)return i},_getShortcutModifier:function(e,t){var n=t.toUpperCase().indexOf(\"MAC\")>=0;return n?e.metaKey:e.ctrlKey},toolsFromShortcut:function(t,n){var i,o,r,a=String.fromCharCode(n.keyCode),s=[],l=function(e){return e==a||e==n.keyCode||e==n.charCode};for(i in t)o=e.extend({ctrl:!1,alt:!1,shift:!1},t[i].options),r=e.isArray(o.key)?e.grep(o.key,l).length>0:l(o.key),r&&o.ctrl==n.ctrlKey&&o.alt==n.altKey&&o.shift==n.shiftKey&&s.push(t[i]);return s},isTypingKey:function(e){var t=e.keyCode;return this.isCharacter(t)&&!e.ctrlKey&&!e.altKey||32==t||13==t||8==t||46==t&&!e.shiftKey&&!e.ctrlKey&&!e.altKey},isModifierKey:function(e){var t=e.keyCode;return 17==t&&!e.shiftKey&&!e.altKey||16==t&&!e.ctrlKey&&!e.altKey||18==t&&!e.ctrlKey&&!e.shiftKey},isSystem:function(e){return 46==e.keyCode&&e.ctrlKey&&!e.altKey&&!e.shiftKey},startTyping:function(e){this.onEndTyping=e,this.typingInProgress=!0},stopTyping:function(){this.typingInProgress&&this.onEndTyping&&this.onEndTyping(),this.typingInProgress=!1},endTyping:function(t){var n=this;n.clearTimeout(),t?n.stopTyping():n.timeout=window.setTimeout(e.proxy(n.stopTyping,n),1e3)},isTypingInProgress:function(){return this.typingInProgress},clearTimeout:function(){window.clearTimeout(this.timeout)},notify:function(e,t){var n,i=this.handlers;for(n=0;nt.clientHeight?e.support.scrollbar():0}function o(e,t){return r(e)?p(e):p(e)/t*100}function r(e){return typeof e===w&&k.test(e)}function a(e){return typeof e===w&&y.test(e)}function s(e){return p(e)+b}function l(e){return p(e)+v}var d=window,c=d.Math,u=c.min,f=c.max,p=d.parseFloat,m=e.jQuery,h=m.extend,g=e.ui.editor,b=\"%\",v=\"px\",k=/(\\d+)(\\.?)(\\d*)%/,y=/(\\d+)(\\.?)(\\d*)px/,w=\"string\",x={constrain:n,getScrollBarWidth:i,calculatePercentageRatio:o,inPercentages:r,inPixels:a,toPercentages:s,toPixels:l};h(g,{ResizingUtils:x})}(window.kendo)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/resizing/table-element-resizing.min\",[\"editor/main.min\",\"kendo.resizable.min\",\"editor/resizing/resizing-utils.min\"],e)}(function(){!function(e,t){var n=e.jQuery,i=n.extend,o=n.noop,r=n.proxy,a=e.ui.editor,s=e.Class,l=\"keydown\",d=\"mousedown\",c=\"mouseenter\",u=\"mouseleave\",f=\"mousemove\",p=\"mouseup\",m=\",\",h=\".\",g=\":last-child\",b=\"table\",v=s.extend({init:function(e,t){var o=this;o.options=i({},o.options,t),o.options.tags=n.isArray(o.options.tags)?o.options.tags:[o.options.tags],n(e).is(b)&&(o.element=e,o._attachEventHandlers())},destroy:function(){var e=this,t=e.options.eventNamespace;e.element&&(n(e.element).off(t),e.element=null),n(e.options.rootElement).off(l+t),e._destroyResizeHandle()},options:{tags:[],min:0,rootElement:null,eventNamespace:\"\",rtl:!1,handle:{dataAttribute:\"\",height:0,width:0,classNames:{},template:\"\"}},_attachEventHandlers:function(){var e=this,t=e.options;n(e.element).on(f+t.eventNamespace,t.tags.join(m),r(e.detectElementBorderHovering,e))},resizingInProgress:function(){var e=this,t=e._resizable;return!!t&&!!t.resizing},resize:o,detectElementBorderHovering:function(e){var t=this,i=t.options,o=i.handle,r=n(e.currentTarget),a=t.resizeHandle,s=o.dataAttribute;t.resizingInProgress()||(!r.is(g)&&t.elementBorderHovered(r,e)?a?a.data(s)&&a.data(s)!==r[0]&&t.showResizeHandle(r,e):t.showResizeHandle(r,e):a&&t._destroyResizeHandle())},elementBorderHovered:o,showResizeHandle:function(e,t){var n=this;0===t.buttons&&(n._initResizeHandle(),n.setResizeHandlePosition(e),n.setResizeHandleDimensions(),n.setResizeHandleDataAttributes(e[0]),n._attachResizeHandleEventHandlers(),n._initResizable(e),n._hideResizeMarker(),n.resizeHandle.show())},_initResizeHandle:function(){var e=this,t=e.options;e._destroyResizeHandle(),e.resizeHandle=n(t.handle.template).appendTo(t.rootElement)},setResizeHandlePosition:o,setResizeHandleDimensions:o,setResizeHandleDataAttributes:function(e){var t=this;t.resizeHandle.data(t.options.handle.dataAttribute,e)},_attachResizeHandleEventHandlers:function(){var e=this,t=e.options,n=t.eventNamespace,i=t.handle.classNames.marker,o=e.resizeHandle;e.resizeHandle.on(d+n,function(){o.find(h+i).show()}).on(p+n,function(){o.find(h+i).hide()})},_hideResizeMarker:function(){var e=this;e.resizeHandle.find(h+e.options.handle.classNames.marker).hide()},_destroyResizeHandle:function(){var e=this;e.resizeHandle&&(e._destroyResizable(),e.resizeHandle.off(e.options.eventNamespace).remove(),e.resizeHandle=null)},_initResizable:function(t){var n=this;n.resizeHandle&&(n._destroyResizable(),n._resizable=new e.ui.Resizable(t,{draggableElement:n.resizeHandle[0],start:r(n.onResizeStart,n),resize:r(n.onResize,n),resizeend:r(n.onResizeEnd,n)}))},_destroyResizable:function(){var e=this;e._resizable&&(e._resizable.destroy(),e._resizable=null)},onResizeStart:function(){this._disableKeyboard()},onResize:function(e){this.setResizeHandleDragPosition(e)},setResizeHandleDragPosition:o,onResizeEnd:function(e){var t=this;t.resize(e),t._destroyResizeHandle(),t._enableKeyboard()},_enableKeyboard:function(){var e=this.options;n(e.rootElement).off(l+e.eventNamespace)},_disableKeyboard:function(){var e=this.options;n(e.rootElement).on(l+e.eventNamespace,function(e){e.preventDefault()})},_forceResizing:function(e){var t=this._resizable;t&&t.userEvents&&t.userEvents._end(e)}}),k=s.extend({create:function(e,t){var i=this,o=t.name,r=t.eventNamespace;n(e.body).on(c+r,b,function(n){var r=n.currentTarget,a=e[o];n.stopPropagation(),a?a.element===r||a.resizingInProgress()||(i._destroyResizing(e,t),i._initResizing(e,r,t)):i._initResizing(e,r,t)}).on(u+r,b,function(r){var a,s=e[o];r.stopPropagation(),!s||s.resizingInProgress()||s.resizeHandle||(a=n(s.element).parents(b)[0],a&&(i._destroyResizing(e,t),i._initResizing(e,a,t)))}).on(u+r,function(){var n=e[o];n&&!n.resizingInProgress()&&i._destroyResizing(e,t)}).on(p+r,function(r){var a,s=e[o];s&&s.resizingInProgress()&&(a=n(r.target).parents(b)[0],a&&(s._forceResizing(r),i._destroyResizing(e,t),i._initResizing(e,a,t)))})},dispose:function(e,t){n(e.body).off(t.eventNamespace)},_initResizing:function(t,n,i){var o=i.name,r=i.type;t[o]=new r(n,{rtl:e.support.isRtl(t.element),rootElement:t.body})},_destroyResizing:function(e,t){var n=t.name;e[n]&&(e[n].destroy(),e[n]=null)}});k.current=new k,v.create=function(e,t){k.current.create(e,t)},v.dispose=function(e,t){k.current.dispose(e,t)},i(a,{TableElementResizing:v})}(window.kendo)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/resizing/column-resizing.min\",[\"editor/main.min\",\"editor/resizing/resizing-utils.min\",\"editor/resizing/table-element-resizing.min\"],e)}(function(){!function(e,t){var n=window,i=n.Math,o=i.abs,r=e.jQuery,a=r.extend,s=e.ui.editor,l=s.TableElementResizing,d=s.ResizingUtils,c=d.constrain,u=d.calculatePercentageRatio,f=d.getScrollBarWidth,p=d.inPercentages,m=d.toPercentages,h=d.toPixels,g=e._outerWidth,b=\".kendoEditorColumnResizing\",v=\"k-column-resize-handle\",k=\"k-column-resize-marker\",y=\"body\",w=\"tbody\",x=\"td\",C=\"th\",T=\"tr\",_=\",\",N=\"width\",R=l.extend({options:{tags:[x,C],min:20,rootElement:null,eventNamespace:b,rtl:!1,handle:{dataAttribute:\"column\",width:10,height:0,classNames:{handle:v,marker:k},template:'
      '}},elementBorderHovered:function(e,t){var n=this,i=n.options,o=i.handle.width,a=e.offset().left+(i.rtl?0:g(e)),s=t.clientX+r(e[0].ownerDocument).scrollLeft();return s>a-o&&s
      '}},elementBorderHovered:function(e,t){var n=this,i=n.options.handle[C],r=e.offset().top+h(e),a=t.clientY+o(e[0].ownerDocument).scrollTop();return a>r-i&&a
      \"},events:[B,F,L,M,W],show:function(){this._setPosition()},_setPosition:function(){var e=this,t=e._positioningStrategy.getPosition();T(e.element).css({top:t.top,left:t.left,position:\"absolute\"})},_attachEventHandlers:function(){var e=this;T(e.element).on(M+H,R(e._onMouseOver,e)).on(W+H,R(e._onMouseOut,e))},_onMouseOver:function(){this.trigger(M)},_onMouseOut:function(){this.trigger(W)},_addStyles:function(){var e=this;T(e.element).children(Z+O).addClass(\"k-resize-\"+e.options.direction)},_initPositioningStrategy:function(){var e=this,t=e.options;e._positioningStrategy=n.create({name:t.direction,handle:e.element,resizableElement:t.resizableElement,rootElement:t.rootElement,rtl:t.rtl})},_initDraggable:function(){var e=this,t=e.element;!e._draggable&&t&&(e._draggable=new A(t,{dragstart:R(e._onDragStart,e),drag:R(e._onDrag,e),dragend:R(e._onDragEnd,e)}))},_onDragStart:function(){this.trigger(B)},_onDrag:function(e){var t=this;t.trigger(F,t._draggingStrategy.adjustDragDelta({deltaX:e.x.delta,deltaY:e.y.delta,initialDeltaX:e.x.initialDelta,initialDeltaY:e.y.initialDelta}))},_onDragEnd:function(){this.trigger(L)},_destroyDraggable:function(){var e=this;e._draggable&&(e._draggable.destroy(),e._draggable=null)},_initDraggingStrategy:function(){var e=this;e._draggingStrategy=f.create({name:e.options.direction})}}),te=z.extend({init:function(){this._items=[]},register:function(e,t){this._items.push({name:e,type:t})},create:function(e){var t,n,i,o=this._items,r=o.length,a=e.name?e.name.toLowerCase():\"\";for(i=0;im?(o=a(d,m),l=r(d,m)):(o=r(d,m),l=a(d,m)),i=y(g(o,l))):i=w(d),c._setColumnsWidth(),u[0].style[L]=i)},_resizeHeight:function(e,t){var i,o,l,d,c=this,u=s(c.element),f=u[0].style[U],p=C(u),m=u.parent(),h=m.height(),k=c._getMaxDimensionValue(U),x=c.options.minHeight,T=c._hasRowsInPixels();0!==e&&(n(c._initialElementHeight)&&(c._initialElementHeight=p),d=b({value:c._initialElementHeight+t,min:x,max:k}),T&&e<0&&c._setRowsHeightInPercentages(),v(f)?(p+e>h?(o=a(d,h),l=r(d,h)):(o=r(d,h),l=a(d,h)),i=y(g(o,l))):i=w(d),u[0].style[U]=i,T&&e<0&&c._setRowsHeightInPixels())},_getMaxDimensionValue:function(e){var t=this,n=s(t.element),i=e.toLowerCase(),o=t.options.rtl?-1:1,r=s(t.element).parent(),a=r[0],l=r[i](),d=o*(e===L?r.scrollLeft():r.scrollTop());return a===n.closest(H)[0]?\"\"!==a.style[i]||v(t.element.style[i])?l+d:1/0:l+d},_setColumnsWidth:function(){function e(e){var t=e.style.width;return\"\"!==t?!!v(t):!!s(e).hasClass(N)}var t,n=this,i=s(n.element),o=i.parent()[0],r=i.closest(H),a=r.closest(O).children(),l=a.length;if(e(i[0])&&o===r[0]&&\"\"===o.style[L])for(t=0;t0)){for(e=0;e0;!n||i===o||l(i,o)||r||e._destroyTableResizing()})},dispose:function(e){s(e.body).off(T)},_initResizing:function(t,n){u.msie||u.mozilla||(t.tableResizing=new X(n,{appendHandlesTo:t.body,rtl:e.support.isRtl(t.element),rootElement:t.body}))}});Y.current=new Y,X.create=function(e){Y.current.create(e)},X.dispose=function(e){Y.current.dispose(e)},d(f,{TableResizing:X})}(window.kendo)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"editor/table-wizard/table-wizard-command.min\",[\"editor/plugins/tables.min\"],e)}(function(){!function(e,t){var n=window.kendo,i=n.ui.editor,o=i.EditorUtils,r=i.RangeUtils,a=i.Dom,s=o.registerTool,l=i.ToolTemplate,d=i.Command,c=new i.BlockFormatFinder([{tags:[\"table\"]}]),u=new i.BlockFormatFinder([{tags:[\"td\",\"th\"]}]),f=/([a-z]+|%)$/i,p=d.extend({exec:function(){var o=this,r=o.editor,a=o.range=o.lockRange(),s=o._sourceTable=o.options.insertNewTable?t:o._selectedTable(a),l=o._selectedTableCells=s?o._selectedCells(a):t,d={visible:!1,messages:r.options.messages,closeCallback:e.proxy(o.onDialogClose,o),table:o.parseTable(s,l),dialogOptions:r.options.dialogOptions,isRtl:n.support.isRtl(r.wrapper)},c=new i.TableWizardDialog(d);c.open()},onDialogClose:function(e){var t=this;t.releaseRange(t.range),e&&(t.options.insertNewTable?t.insertTable(t.createNewTable(e)):t.updateTable(e,t._sourceTable,t._selectedTableCells))},releaseRange:function(e){var t=this,n=t.editor.document;a.windowFromDocument(n).focus(),d.fn.releaseRange.call(t,e)},insertTable:function(e){var t=this.range;t.insertNode(e),t.collapse(!0),this.editor.selectRange(t),this._ensureFocusableAfterTable(e)},_ensureFocusableAfterTable:function(t){for(var n=e(t).parent().contents(),i=n.length-1,o=n.get(i);null!==o.nodeValue&&(\" \"===o.nodeValue||\"\"===o.nodeValue);)i-=1,o=n.get(i);o===t&&a.insertAfter(a.createEmptyNode(this.editor.document,\"p\"),t)},updateTable:function(t,n,i){for(var o,r,s,l,d,c,u,f,p=this,m=e(n.rows).toArray(),h=t.tableProperties,g=h.rows,b=h.columns,v=function(e){return e[e.length-1]};i.length>1;)i.pop();if(o=i.length?v(i).parentNode:v(m),p._deleteTableRows(m,m.length-g),m.lengthb&&e(m).each(function(e,t){for(;t.cells.length>b;)t.deleteCell(-1)}),m[0].cells.length-1}),!!n.length},_insertCells:function(e,t,n){n=isNaN(n)?-1:n;for(var i,o=0;o
      \",valueTemplate:\"\"},s={dataSource:[{className:\"k-icon k-i-table-align-top-left\",value:\"left top\"},{className:\"k-icon k-i-table-align-top-center\",value:\"center top\"},{className:\"k-icon k-i-table-align-top-right\",value:\"right top\"},{className:\"k-icon k-i-table-align-middle-left\",value:\"left middle\"},{className:\"k-icon k-i-table-align-middle-center\",value:\"center middle\"},{className:\"k-icon k-i-table-align-middle-right\",value:\"right middle\"},{className:\"k-icon k-i-table-align-bottom-left\",value:\"left bottom\"},{className:\"k-icon k-i-table-align-bottom-center\",value:\"center bottom\"},{className:\"k-icon k-i-table-align-bottom-right\",value:\"right bottom\"},{className:\"k-icon k-i-align-remove\",value:\"\"}],dataTextField:\"className\",dataValueField:\"value\",template:\"\",valueTemplate:\"\"},l={dataSource:[{className:\"k-icon k-i-table-align-top-left\",value:\"left top\"},{className:\"k-icon k-i-table-align-top-center\",value:\"center top\"},{className:\"k-icon k-i-table-align-top-right\",value:\"right top\"},{className:\"k-icon k-i-table-align-bottom-left\",value:\"left bottom\"},{className:\"k-icon k-i-table-align-bottom-center\",value:\"center bottom\"},{className:\"k-icon k-i-table-align-bottom-right\",value:\"right bottom\"},{className:\"k-icon k-i-align-remove\",value:\"\"}],dataTextField:\"className\",dataValueField:\"value\",template:\"\",valueTemplate:\"\"},d='
      • #= messages.tableTab #
      • #= messages.cellTab #
      • #= messages.accessibilityTab #
       
       
       
      ',c=n.Class.extend({\r\ninit:function(e){this.options=e},open:function(){function t(e){e.preventDefault(),l.destroy(),r.destroy()}function i(e){l.collectDialogValues(u),t(e),l.change&&l.change(),d.closeCallback(u)}function o(e){t(e),d.closeCallback()}var r,a,s,l=this,d=l.options,c=d.dialogOptions,u=d.table,f=d.messages,p=n.support.browser.msie;c.close=o,c.title=f.tableWizard,c.visible=d.visible,r=e(l._dialogTemplate(f)).appendTo(document.body).kendoWindow(c).closest(\".k-window\").toggleClass(\"k-rtl\",d.isRtl).end().find(\".k-dialog-ok\").click(i).end().find(\".k-dialog-close\").click(o).end().data(\"kendoWindow\"),a=r.element,l._initTabStripComponent(a),l._initTableViewComponents(a,u),l._initCellViewComponents(a,u),l._initAccessibilityViewComponents(a,u),r.center(),r.open(),p&&(s=a.closest(\".k-window\").height(),a.css(\"max-height\",s))},_initTabStripComponent:function(e){var t=this.components={};t.tabStrip=e.find(\"#k-table-wizard-tabs\").kendoTabStrip({animation:!1}).data(\"kendoTabStrip\")},collectDialogValues:function(){var e=this,t=e.options.table;e._collectTableViewValues(t),e._collectCellViewValues(t),e._collectAccessibilityViewValues(t)},_collectTableViewValues:function(e){var t=this.components.tableView,n=e.tableProperties;n.width=t.width.value(),n.widthUnit=t.widthUnit.value(),n.height=t.height.value(),n.columns=t.columns.value(),n.rows=t.rows.value(),n.heightUnit=t.heightUnit.value(),n.cellSpacing=t.cellSpacing.value(),n.cellPadding=t.cellPadding.value(),n.alignment=t.alignment.value(),n.bgColor=t.bgColor.value(),n.className=t.className.value,n.id=t.id.value,n.borderWidth=t.borderWidth.value(),n.borderColor=t.borderColor.value(),n.borderStyle=t.borderStyle.value(),n.collapseBorders=t.collapseBorders.checked},_collectCellViewValues:function(e){var t=e.cellProperties={},n=this.components.cellView;t.selectAllCells=n.selectAllCells.checked,t.width=n.width.value(),t.widthUnit=n.widthUnit.value(),t.height=n.height.value(),t.heightUnit=n.heightUnit.value(),t.cellMargin=n.cellMargin.value(),t.cellPadding=n.cellPadding.value(),t.alignment=n.alignment.value(),t.bgColor=n.bgColor.value(),t.className=n.className.value,t.id=n.id.value,t.borderWidth=n.borderWidth.value(),t.borderColor=n.borderColor.value(),t.borderStyle=n.borderStyle.value(),t.wrapText=n.wrapText.checked,t.width||(t.selectAllCells=!0,t.width=100/e.tableProperties.columns,t.widthUnit=\"%\")},_collectAccessibilityViewValues:function(e){var t=e.tableProperties,n=this.components.accessibilityView;t.captionContent=n.captionContent.value,t.captionAlignment=n.captionAlignment.value(),t.summary=n.summary.value,t.cellsWithHeaders=n.cellsWithHeaders.checked},_addUnit:function(t,n){n&&e.inArray(n,t)==-1&&t.push(n)},_initTableViewComponents:function(e,t){var n=this.components,i=n.tableView={},a=t.tableProperties=t.tableProperties||{};a.borderStyle=a.borderStyle||\"\",this._addUnit(o,a.widthUnit),this._addUnit(o,a.heightUnit),this._initNumericTextbox(e.find(\"#k-editor-table-width\"),\"width\",a,i),this._initNumericTextbox(e.find(\"#k-editor-table-height\"),\"height\",a,i),this._initNumericTextbox(e.find(\"#k-editor-table-columns\"),\"columns\",a,i,{min:1,value:4}),this._initNumericTextbox(e.find(\"#k-editor-table-rows\"),\"rows\",a,i,{min:1,value:4}),this._initDropDownList(e.find(\"#k-editor-table-width-type\"),\"widthUnit\",a,i,o),this._initDropDownList(e.find(\"#k-editor-table-height-type\"),\"heightUnit\",a,i,o),this._initNumericTextbox(e.find(\"#k-editor-table-cell-spacing\"),\"cellSpacing\",a,i),this._initNumericTextbox(e.find(\"#k-editor-table-cell-padding\"),\"cellPadding\",a,i),this._initTableAlignmentDropDown(e.find(\"#k-editor-table-alignment\"),a),this._initColorPicker(e.find(\"#k-editor-table-bg\"),\"bgColor\",a,i),this._initInput(e.find(\"#k-editor-css-class\"),\"className\",a,i),this._initInput(e.find(\"#k-editor-id\"),\"id\",a,i),this._initNumericTextbox(e.find(\"#k-editor-border-width\"),\"borderWidth\",a,i),this._initColorPicker(e.find(\"#k-editor-border-color\"),\"borderColor\",a,i),this._initDropDownList(e.find(\"#k-editor-border-style\"),\"borderStyle\",a,i,r),this._initCheckbox(e.find(\"#k-editor-collapse-borders\"),\"collapseBorders\",a,i)},_initCellViewComponents:function(e,t){var n,i=this.components,a=i.cellView={};t.selectedCells=t.selectedCells=t.selectedCells||[],n=t.selectedCells[0]||{borderStyle:\"\",wrapText:!0},this._addUnit(o,n.widthUnit),this._addUnit(o,n.heightUnit),this._initCheckbox(e.find(\"#k-editor-selectAllCells\"),\"selectAllCells\",t.tableProperties,a),this._initNumericTextbox(e.find(\"#k-editor-cell-width\"),\"width\",n,a),this._initNumericTextbox(e.find(\"#k-editor-cell-height\"),\"height\",n,a),this._initDropDownList(e.find(\"#k-editor-cell-width-type\"),\"widthUnit\",n,a,o),this._initDropDownList(e.find(\"#k-editor-cell-height-type\"),\"heightUnit\",n,a,o),this._initNumericTextbox(e.find(\"#k-editor-table-cell-margin\"),\"cellMargin\",n,a),this._initNumericTextbox(e.find(\"#k-editor-table-cells-padding\"),\"cellPadding\",n,a),this._initCellAlignmentDropDown(e.find(\"#k-editor-cell-alignment\"),n),this._initColorPicker(e.find(\"#k-editor-cell-bg\"),\"bgColor\",n,a),this._initInput(e.find(\"#k-editor-cell-css-class\"),\"className\",n,a),this._initInput(e.find(\"#k-editor-cell-id\"),\"id\",n,a),this._initNumericTextbox(e.find(\"#k-editor-cell-border-width\"),\"borderWidth\",n,a),this._initColorPicker(e.find(\"#k-editor-cell-border-color\"),\"borderColor\",n,a),this._initDropDownList(e.find(\"#k-editor-cell-border-style\"),\"borderStyle\",n,a,r),this._initCheckbox(e.find(\"#k-editor-wrap-text\"),\"wrapText\",n,a)},_initAccessibilityViewComponents:function(e,t){var n=this.components,i=n.accessibilityView={},o=t.tableProperties;this._initInput(e.find(\"#k-editor-table-caption\"),\"captionContent\",o,i),this._initAccessibilityAlignmentDropDown(e.find(\"#k-editor-accessibility-alignment\"),o),this._initInput(e.find(\"#k-editor-accessibility-summary\"),\"summary\",o,i),this._initCheckbox(e.find(\"#k-editor-cells-headers\"),\"cellsWithHeaders\",o,i)},_initNumericTextbox:function(t,n,o,r,a){var s=r[n]=t.kendoNumericTextBox(a?e.extend({},i,a):i).data(\"kendoNumericTextBox\");n in o&&s.value(parseInt(o[n],10))},_initDropDownList:function(e,t,n,i,o){var r=i[t]=e.kendoDropDownList({dataSource:o}).data(\"kendoDropDownList\");this._setComponentValue(r,n,t)},_initTableAlignmentDropDown:function(e,t){var n=this.options.messages,i=this.components.tableView,o=a.dataSource;o[0].tooltip=n.alignLeft,o[1].tooltip=n.alignCenter,o[2].tooltip=n.alignRight,o[3].tooltip=n.alignRemove,this._initAlignmentDropDown(e,a,\"alignment\",t,i)},_initCellAlignmentDropDown:function(e,t){var n=this.options.messages,i=this.components.cellView,o=s.dataSource;o[0].tooltip=n.alignLeftTop,o[1].tooltip=n.alignCenterTop,o[2].tooltip=n.alignRightTop,o[3].tooltip=n.alignLeftMiddle,o[4].tooltip=n.alignCenterMiddle,o[5].tooltip=n.alignRightMiddle,o[6].tooltip=n.alignLeftBottom,o[7].tooltip=n.alignCenterBottom,o[8].tooltip=n.alignRightBottom,o[9].tooltip=n.alignRemove,this._initAlignmentDropDown(e,s,\"alignment\",t,i)},_initAccessibilityAlignmentDropDown:function(e,t){var n=this.options.messages,i=this.components.accessibilityView,o=l.dataSource;o[0].tooltip=n.alignLeftTop,o[1].tooltip=n.alignCenterTop,o[2].tooltip=n.alignRightTop,o[3].tooltip=n.alignLeftBottom,o[4].tooltip=n.alignCenterBottom,o[5].tooltip=n.alignRightBottom,o[6].tooltip=n.alignRemove,this._initAlignmentDropDown(e,l,\"captionAlignment\",t,i)},_initAlignmentDropDown:function(e,t,n,i,o){var r=o[n]=e.kendoDropDownList(t).data(\"kendoDropDownList\");r.list.addClass(\"k-align\").css(\"width\",\"110px\"),this._setComponentValue(r,i,n)},_setComponentValue:function(e,t,n){n in t&&e.value(t[n])},_initColorPicker:function(e,t,n,i){var o=i[t]=e.kendoColorPicker({buttons:!1,clearButton:!0}).data(\"kendoColorPicker\");n[t]&&o.value(n[t])},_initInput:function(e,t,n,i){var o=i[t]=e.get(0);t in n&&(o.value=n[t])},_initCheckbox:function(e,t,n,i){var o=i[t]=e.get(0);t in n&&(o.checked=n[t])},destroy:function(){this._destroyComponents(this.components.tableView),this._destroyComponents(this.components.cellView),this._destroyComponents(this.components.accessibilityView),this._destroyComponents(this.components),delete this.components},_destroyComponents:function(e){for(var t in e)e[t].destroy&&e[t].destroy(),delete e[t]},_dialogTemplate:function(e){return n.template(d)({messages:e})}});n.ui.editor.TableWizardDialog=c}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define(\"kendo.editor.min\",[\"kendo.combobox.min\",\"kendo.dropdownlist.min\",\"kendo.resizable.min\",\"kendo.window.min\",\"kendo.colorpicker.min\",\"kendo.imagebrowser.min\",\"kendo.tabstrip.min\",\"kendo.numerictextbox.min\",\"util/undoredostack.min\",\"editor/main.min\",\"editor/dom.min\",\"editor/serializer.min\",\"editor/range.min\",\"editor/command.min\",\"editor/components.min\",\"editor/toolbar.min\",\"editor/immutables.min\",\"editor/plugins/viewhtml.min\",\"editor/plugins/link.min\",\"editor/plugins/lists.min\",\"editor/plugins/formatting.min\",\"editor/plugins/image.min\",\"editor/plugins/import.min\",\"editor/plugins/insert.min\",\"editor/plugins/export.min\",\"editor/plugins/indent.min\",\"editor/plugins/linebreak.min\",\"editor/plugins/format.min\",\"editor/plugins/inlineformat.min\",\"editor/plugins/formatblock.min\",\"editor/plugins/file.min\",\"editor/plugins/tables.min\",\"editor/plugins/clipboard.min\",\"editor/plugins/keyboard.min\",\"editor/plugins/exportpdf.min\",\"editor/plugins/print.min\",\"editor/resizing/column-resizing.min\",\"editor/resizing/row-resizing.min\",\"editor/resizing/table-resizing.min\",\"editor/resizing/table-resize-handle.min\",\"editor/table-wizard/table-wizard-command.min\",\"editor/table-wizard/table-wizard-dialog.min\"],e)}(function(){return window.kendo},\"function\"==typeof define&&define.amd?define:function(e,t,n){(n||t)()});\r\n//# sourceMappingURL=kendo.editor.min.js.map\r\n","/** \r\n * Kendo UI v2018.1.221 (http://www.telerik.com/kendo-ui) \r\n * Copyright 2018 Telerik AD. All rights reserved. \r\n * \r\n * Kendo UI commercial licenses may be obtained at \r\n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \r\n * If you do not own a commercial license, this file shall be governed by the trial license terms. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n*/\r\n!function(e,define){define(\"excel/kendo-excel.min\",[\"kendo.core.min\"],e)}(function(){!function(e){function t(e){return e.title+\": \"+e.value}function o(e,t){var o,n=[];for(o=0;o0),o})},_leafColumns:function(e){var t,o=this,n=[];for(t=0;td?h.push({id:e,level:d}):n=t;)n=e.pop(),i.push(r._hierarchyFooter(r.aggregates[n.id],n.level+1,o));return i},_hasFooterTemplate:function(){var e,t=this.columns;for(e=0;e0&&(e.field||e.columns)},_visibleColumns:function(e){var t=this;return e.filter(function(e){var o=!e.hidden;return o&&e.columns&&(o=t._visibleColumns(e.columns).length>0),o})},_headerRow:function(t,n){var r=this,i=t.cells.map(function(o){return e.extend(o,{colSpan:o.colSpan>1?o.colSpan:1,rowSpan:t.rowSpan>1&&!o.colSpan?t.rowSpan:1})});return this.hierarchy&&(i[0].colSpan=this._depth()+1),{type:\"header\",cells:o(n.length,function(){return e.extend({background:\"#7a7a7a\",color:\"#fff\"},r.options.headerPaddingCellOptions)}).concat(i)}},_prependHeaderRows:function(e){var t,o=this,n=this.groups,r=[{rowSpan:1,cells:[],index:0}];for(this._prepareHeaderRows(r,this.options.columns),t=r.length-1;t>=0;t--)e.unshift(o._headerRow(r[t],n))},_prepareHeaderRows:function(t,o,n,r){var i,l,a,s=this,u=r||t[t.length-1],c=t[u.index+1],h=0;for(i=0;ii&&(i=o));return r+i},_freezePane:function(){var e=this._visibleColumns(this.options.columns||[]),t=this._visibleColumns(this._trimColumns(this._leafColumns(e.filter(function(e){return e.locked})))).length;return{rowSplit:this._headerDepth(e),colSplit:t?t+this.groups.length:0}},_cell:function(t,o){return e.extend({value:o.value(t)},o.cellOptions)},_depth:function(){var e=0;return e=this.hierarchy?this.hierarchy.depth:this.groups.length},_columns:function(){var e=this._depth(),t=o(e,function(){return{width:20}});return t.concat(this.columns.map(function(e){return{width:parseInt(e.width,10),autoWidth:!e.width}}))}}),kendo.deepExtend(kendo.excel,{ExcelExporter:a,TemplateService:l})}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,o){(o||t)()}),function(e,define){define(\"excel/main.min\",[\"kendo.core.min\",\"kendo.data.min\",\"excel/kendo-excel.min\"],e)}(function(){return function(e,t){var o=t.excel.ExcelExporter,n=e.extend;t.excel.TemplateService.register({compile:t.template}),t.ExcelExporter=t.Class.extend({init:function(e){var o,r,i;this.options=e,o=e.dataSource,o instanceof t.data.DataSource?(this.dataSource=new o.constructor(n({},o.options,{page:e.allPages?0:o.page(),filter:o.filter(),pageSize:e.allPages?o.total():o.pageSize(),sort:o.sort(),group:o.group(),aggregate:o.aggregate()})),r=o.data(),r.length>0&&(this.dataSource._data=r,i=this.dataSource.transport,o._isServerGrouped()&&i.options&&i.options.data&&(i.options.data=null))):this.dataSource=t.data.DataSource.create(o)},_hierarchy:function(){var e,t,o,n,r=this.options.hierarchy,i=this.dataSource;if(r&&i.level){for(r={itemLevel:function(e){return i.level(e)}},e=i.view(),t=0,n=0;nt&&(t=o);r.depth=t+1}else r=!1;return{hierarchy:r}},workbook:function(){return e.Deferred(e.proxy(function(t){this.dataSource.fetch().then(e.proxy(function(){var e=new o(n({},this.options,this._hierarchy(),{data:this.dataSource.view(),groups:this.dataSource.group(),aggregates:this.dataSource.aggregates()})).workbook();t.resolve(e,this.dataSource.view())},this))},this)).promise()}})}(kendo.jQuery,kendo),kendo},\"function\"==typeof define&&define.amd?define:function(e,t,o){(o||t)()}),function(e,define){define(\"excel/mixins.min\",[\"excel/main.min\",\"kendo.ooxml.min\"],e)}(function(){return function(e,t){t.ExcelMixin={extend:function(t){t.events.push(\"excelExport\"),t.options.excel=e.extend(t.options.excel,this.options),t.saveAsExcel=this.saveAsExcel},options:{proxyURL:\"\",allPages:!1,filterable:!1,fileName:\"Export.xlsx\"},saveAsExcel:function(){var o=this.options.excel||{},n=new t.ExcelExporter({columns:this.columns,dataSource:this.dataSource,allPages:o.allPages,filterable:o.filterable,hierarchy:o.hierarchy});n.workbook().then(e.proxy(function(e,n){if(!this.trigger(\"excelExport\",{workbook:e,data:n})){var r=new t.ooxml.Workbook(e);r.toDataURLAsync().then(function(n){t.saveAs({dataURI:n,fileName:e.fileName||o.fileName,proxyURL:o.proxyURL,forceProxy:o.forceProxy})})}},this))}}}(kendo.jQuery,kendo),kendo},\"function\"==typeof define&&define.amd?define:function(e,t,o){(o||t)()}),function(e,define){define(\"kendo.excel.min\",[\"excel/main.min\",\"excel/mixins.min\"],e)}(function(){},\"function\"==typeof define&&define.amd?define:function(e,t,o){(o||t)()});\r\n//# sourceMappingURL=kendo.excel.min.js.map\r\n","/** \r\n * Kendo UI v2018.1.221 (http://www.telerik.com/kendo-ui) \r\n * Copyright 2018 Telerik AD. All rights reserved. \r\n * \r\n * Kendo UI commercial licenses may be obtained at \r\n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \r\n * If you do not own a commercial license, this file shall be governed by the trial license terms. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n*/\r\n!function(e,define){define(\"kendo.filebrowser.min\",[\"kendo.listview.min\",\"kendo.dropdownlist.min\",\"kendo.upload.min\"],e)}(function(){return function(e,t){function a(e,t,a){var i,r;e.on(\"dragenter\"+S,function(){t(),r=new Date,i||(i=setInterval(function(){var e=new Date-r;e>100&&(a(),clearInterval(i),i=null)},100))}).on(\"dragover\"+S,function(){r=new Date})}function i(e,a){return e!==t&&e.match(/\\/$/)||(e=(e||\"\")+\"/\"),e+a}function r(e){if(!e)return\"\";var t=\" bytes\";return e>=1073741824?(t=\" GB\",e/=1073741824):e>=1048576?(t=\" MB\",e/=1048576):e>=1024&&(t=\" KB\",e/=1024),Math.round(100*e)/100+t}function o(e,t){var a=e[t];return p(a)?a.from||a.field||t:a}var n,s,l,d,u=window.kendo,c=u.ui.Widget,p=e.isPlainObject,f=e.proxy,h=e.extend,v=u.support.placeholder,m=u.support.browser,k=u.isFunction,_=/(^\\/|\\/$)/g,g=\"change\",w=\"apply\",b=\"error\",y=\"click\",S=\".kendoFileBrowser\",x=\".kendoBreadcrumbs\",T=\".kendoSearchBox\",B=\"name\",F=\"size\",C=\"type\",D={field:C,dir:\"asc\"},z=u.template('
    • ${text}
    • '),L='
      # if (showUpload) { #
      #=messages.uploadFile#
      # } ## if (showCreate) { ## } ## if (showDelete) { # # } #
      ').appendTo(this.element);t.breadcrumbs=a.find(\"input:first\").kendoBreadcrumbs({value:t.options.path,change:function(){t.path(this.value())}}).data(\"kendoBreadcrumbs\"),t.searchBox=a.parent().find(\"input:last\").kendoSearchBox({label:t.options.messages.search,change:function(){t.search(this.value())}}).data(\"kendoSearchBox\")},_error:function(e){var t,a,i=this;i.trigger(b,e)||(t=e.xhr.status,\"error\"==e.status?\"404\"==t?i._showMessage(i.options.messages.directoryNotFound):\"0\"!=t&&i._showMessage(\"Error! The requested URL returned \"+t+\" - \"+e.xhr.statusText):\"timeout\"==t&&i._showMessage(\"Error! Server timeout.\"),a=i.dataSource,a.hasChanges()&&a.cancelChanges())},_showMessage:function(e,t){return window[t||\"alert\"](e)},refresh:function(){var e=this;e._navigation(),e._toolbar(),e._content()},_editTmpl:function(){var e='
    • ',e+=\"#if(\"+C+' == \"d\") { #',e+='
      ',e+=\"#}else{#\",e+='
      ',e+=\"#}#\",e+=\"#if(\"+C+' == \"d\") { #',e+='',e+=\"#}#\",e+=\"
    • \",f(u.template(e),{sizeFormatter:r})},_itemTmpl:function(){var e='
    • ',e+=\"#if(\"+C+' == \"d\") { #',e+='
      ',e+=\"#}else{#\",e+='
      ',e+=\"#}#\",e+=\"${\"+B+\"}\",e+=\"#if(\"+C+' == \"f\") { # ${this.sizeFormatter('+F+\")} #}#\",e+=\"
    • \",f(u.template(e),{sizeFormatter:r})},path:function(e){var a=this,i=a._path||\"\";return e!==t?(a._path=e.replace(_,\"\")+\"/\",a.dataSource.read({path:a._path}),t):(i&&(i=i.replace(_,\"\")),\"/\"===i||\"\"===i?\"\":i+\"/\")}}),l=c.extend({init:function(e,t){var a=this;t=t||{},c.fn.init.call(a,e,t),v&&a.element.attr(\"placeholder\",a.options.label),a._wrapper(),a.element.on(\"keydown\"+T,f(a._keydown,a)).on(\"change\"+T,f(a._updateValue,a)),a.wrapper.on(y+T,\"a\",f(a._click,a)),v||a.element.on(\"focus\"+T,f(a._focus,a)).on(\"blur\"+T,f(a._blur,a))},options:{name:\"SearchBox\",label:\"Search\",value:\"\"},events:[g],destroy:function(){var e=this;e.wrapper.add(e.element).add(e.label).off(T),c.fn.destroy.call(e)},_keydown:function(e){13===e.keyCode&&this._updateValue()},_click:function(e){e.preventDefault(),this._updateValue()},_updateValue:function(){var e=this,t=e.element.val();t!==e.value()&&(e.value(t),e.trigger(g))},_blur:function(){this._updateValue(),this._toggleLabel()},_toggleLabel:function(){v||this.label.toggle(!this.element.val())},_focus:function(){this.label.hide()},_wrapper:function(){var t=this.element,a=t.parents(\".k-search-wrap\");t[0].style.width=\"\",t.addClass(\"k-input\"),a.length||(a=t.wrap(e('
      ')).parent(),v||e('\").insertBefore(t),e('').appendTo(a)),this.wrapper=a,this.label=a.find(\">label\")},value:function(e){var a=this;return e!==t?(a.options.value=e,a.element.val(e),a._toggleLabel(),t):a.options.value}}),d=c.extend({init:function(e,t){var a=this;t=t||{},c.fn.init.call(a,e,t),a._wrapper(),a.wrapper.on(\"focus\"+x,\"input\",f(a._focus,a)).on(\"blur\"+x,\"input\",f(a._blur,a)).on(\"keydown\"+x,\"input\",f(a._keydown,a)).on(y+x,\"a.k-i-arrow-60-up:first\",f(a._rootClick,a)).on(y+x,\"a:not(.k-i-arrow-60-up)\",f(a._click,a)),a.value(a.options.value)},options:{name:\"Breadcrumbs\",gap:50},events:[g],destroy:function(){var e=this;c.fn.destroy.call(e),e.wrapper.add(e.wrapper.find(\"input\")).add(e.wrapper.find(\"a\")).off(x)},_update:function(e){e=\"/\"===(e||\"\").charAt(0)?e:\"/\"+(e||\"\"),e!==this.value()&&(this.value(e),this.trigger(g))},_click:function(t){t.preventDefault(),this._update(this._path(e(t.target).prevAll(\"a:not(.k-i-arrow-60-up)\").addBack()))},_rootClick:function(e){e.preventDefault(),this._update(\"\")},_focus:function(){var e=this,t=e.element;e.overlay.hide(),e.element.val(e.value()),setTimeout(function(){t.select()})},_blur:function(){if(!this.overlay.is(\":visible\")){var e=this,t=e.element,a=t.val().replace(/\\/{2,}/g,\"/\");e.overlay.show(),t.val(\"\"),e._update(a)}},_keydown:function(e){var t=this;13===e.keyCode&&(t._blur(),setTimeout(function(){t.overlay.find(\"a:first\").focus()}))},_wrapper:function(){var t,a=this.element,i=a.parents(\".k-breadcrumbs\");a[0].style.width=\"\",a.addClass(\"k-input\"),i.length||(i=a.wrap(e('
      ')).parent()),t=i.find(\".k-breadcrumbs-wrap\"),t.length||(t=e('
      ').appendTo(i)),this.wrapper=i,this.overlay=t},refresh:function(){var a,i,r,o,n=\"\",s=this.value();for(s!==t&&s.match(/^\\//)||(s=\"/\"+(s||\"\")),a=s.split(\"/\"),r=0,o=a.length;r'),n+=''+a[r]+\"\",n+='');this.overlay.empty().append(e(n)),this._adjustSectionWidth()},_adjustSectionWidth:function(){var t,a=this,i=a.wrapper,r=i.width()-a.options.gap,o=a.overlay.find(\"a\");o.each(function(a){t=e(this),t.parent().width()>r&&(a==o.length-1?t.width(r):t.prev().addBack().hide())})},value:function(e){return e!==t?(this._value=e.replace(/\\/{2,}/g,\"/\"),this.refresh(),t):this._value},_path:function(t){return\"/\"+e.map(t,function(t){return e(t).text()}).join(\"/\")}}),u.ui.plugin(s),u.ui.plugin(d),u.ui.plugin(l)}(window.kendo.jQuery),window.kendo},\"function\"==typeof define&&define.amd?define:function(e,t,a){(a||t)()});\r\n//# sourceMappingURL=kendo.filebrowser.min.js.map\r\n","/** \r\n * Kendo UI v2018.1.221 (http://www.telerik.com/kendo-ui) \r\n * Copyright 2018 Telerik AD. All rights reserved. \r\n * \r\n * Kendo UI commercial licenses may be obtained at \r\n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \r\n * If you do not own a commercial license, this file shall be governed by the trial license terms. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n*/\r\n!function(e,define){define(\"kendo.filtercell.min\",[\"kendo.autocomplete.min\",\"kendo.datepicker.min\",\"kendo.numerictextbox.min\",\"kendo.combobox.min\",\"kendo.dropdownlist.min\"],e)}(function(){return function(e,t){function r(t){var r=\"string\"==typeof t?t:t.operator;return e.inArray(r,v)>-1}function a(t,r){var o,n,l=[];if(e.isPlainObject(t))if(t.hasOwnProperty(\"filters\"))l=t.filters;else if(t.field==r)return t;for(e.isArray(t)&&(l=t),o=0;o\").appendTo(a),i=this,h=o,b=i.operators=o.operators||{},y=i.input=e(\"\").attr(l.attr(\"bind\"),\"value: value\").appendTo(n),I=o?o.suggestDataSource:null,I&&(o=e.extend({},o,{suggestDataSource:{}})),u.fn.init.call(i,a[0],o),I&&(i.options.suggestDataSource=I),o=i.options,s=i.dataSource=o.dataSource,i.model=s.reader.model,w=o.type=f,S=l.getter(\"reader.model.fields\",!0)(s)||{},D=S[o.field],D&&D.type&&(w=o.type=D.type),o.values&&(o.type=w=c),b=b[w]||o.operators[w],!h.operator)for(v in b){o.operator=v;break}i._parse=function(e){return null!=e?e+\"\":e},i.model&&i.model.fields&&(_=i.model.fields[o.field],_&&_.parse&&(i._parse=m(_.parse,_))),i.defaultOperator=o.operator,i.viewModel=g=l.observable({operator:o.operator,value:null,operatorVisible:function(){var e=this.get(\"value\");return null!==e&&e!==t&&\"undefined\"!=e||r(this.get(\"operator\"))&&!i._clearInProgress}}),g.bind(p,m(i.updateDsFilter,i)),w==f&&i.initSuggestDataSource(o),null!==o.inputWidth&&(y.addClass(\"k-sized-input\"),y.width(o.inputWidth)),y.attr(\"aria-label\",i._getColumnTitle()),i._setInputType(o,w),w!=d&&o.showOperators!==!1?i._createOperatorDropDown(b):(e('
      ').css(\"display\",\"none\").text(\"eq\").appendTo(n),n.addClass(\"k-operator-hidden\")),i._createClearIcon(),l.bind(this.wrapper,g),w==f&&(o.template||i.setAutoCompleteSource()),w==c&&i.setComboBoxSource(i.options.values),i._refreshUI(),i._refreshHandler=m(i._refreshUI,i),i.dataSource.bind(p,i._refreshHandler)},_setInputType:function(t,r){var a,o,n,i,s,u=this,p=u.input;\"function\"==typeof t.template?(t.template.call(u.viewModel,{element:u.input,dataSource:u.suggestDataSource}),u._angularItems(\"compile\")):r==f?p.attr(l.attr(\"role\"),\"autocomplete\").attr(l.attr(\"text-field\"),t.dataTextField||t.field).attr(l.attr(\"filter\"),t.suggestionOperator).attr(l.attr(\"delay\"),t.delay).attr(l.attr(\"min-length\"),t.minLength).attr(l.attr(\"value-primitive\"),!0):\"date\"==r?p.attr(l.attr(\"role\"),\"datepicker\"):r==d?(p.remove(),a=e(\"\"),o=u.wrapper,n=l.guid(),i=e(\"
      ',F='
      #=messages.info#
      #if(values){##}else{##}##if(extra){##if(values){##}else{##}##}#
      ',C='
      #=title#
      • #=messages.info#
        • #if(extra){#
        • #}#
      ',T='
      #=title#
      • #=messages.info#
      ',H=S.extend({init:function(t,i){var s,l,a,n,r=this,o=\"string\";S.fn.init.call(r,t,i),s=r.operators=i.operators||{},t=r.element,i=r.options,i.appendToElement||(a=t.addClass(\"k-with-icon k-filterable\").find(\".k-grid-filter\"),a[0]||(a=t.prepend('').find(\".k-grid-filter\")),a.attr(\"tabindex\",-1).on(\"click\"+g,d(r._click,r))),r.link=a||e(),r.dataSource=I.create(i.dataSource),r.field=i.field||t.attr(c.attr(\"field\")),r.model=r.dataSource.reader.model,r._parse=function(e){return null!=e?e+\"\":e},r.model&&r.model.fields&&(n=r.model.fields[r.field],n&&(o=n.type||\"string\",n.parse&&(r._parse=d(n.parse,n)))),i.values&&(o=\"enums\"),r.type=o,s=s[o]||i.operators[o];for(l in s)break;r._defaultFilter=function(){return{field:r.field,operator:l||\"eq\",value:\"\"}},r._refreshHandler=d(r.refresh,r),r.dataSource.bind(k,r._refreshHandler),i.appendToElement?r._init():r.refresh()},_init:function(){var t,i=this,s=i.options.ui,l=x(s);i.pane=i.options.pane,i.pane&&(i._isMobile=!0),l||(t=s||_[i.type]),i._isMobile?i._createMobileForm(t):i._createForm(t),i.form.on(\"submit\"+g,d(i._submit,i)).on(\"reset\"+g,d(i._reset,i)),l&&i.form.find(\".k-textbox\").removeClass(\"k-textbox\").each(function(){s(e(this))}),i.form.find(\"[\"+c.attr(\"role\")+\"=numerictextbox]\").removeClass(\"k-textbox\").end().find(\"[\"+c.attr(\"role\")+\"=datetimepicker]\").removeClass(\"k-textbox\").end().find(\"[\"+c.attr(\"role\")+\"=timepicker]\").removeClass(\"k-textbox\").end().find(\"[\"+c.attr(\"role\")+\"=datepicker]\").removeClass(\"k-textbox\"),i.refresh(),i.trigger(h,{field:i.field,container:i.form}),c.cycleForm(i.form)},_createForm:function(t){var i=this,l=i.options,a=i.operators||{},n=i.type;a=a[n]||l.operators[n],i.form=e('
      ').html(c.template(\"boolean\"===n?w:F)({field:i.field,format:l.format,ns:c.ns,messages:l.messages,extra:l.extra,operators:a,type:n,role:t,values:s(l.values)})),l.appendToElement?(i.element.append(i.form),i.popup=i.element.closest(\".k-popup\").data(f)):i.popup=i.form[f]({anchor:i.link,open:d(i._open,i),activate:d(i._activate,i),close:function(){i.options.closeCallback&&i.options.closeCallback(i.element)}}).data(f),i.form.on(\"keydown\"+g,d(i._keydown,i))},_createMobileForm:function(t){var i=this,l=i.options,a=i.operators||{},n=i.type;a=a[n]||l.operators[n],i.form=e(\"
      \").html(c.template(\"boolean\"===n?T:C)({field:i.field,title:l.title||i.field,format:l.format,ns:c.ns,messages:l.messages,extra:l.extra,operators:a,type:n,role:t,useRole:!c.support.input.date&&\"date\"===n||\"number\"===n,inputType:y[n],values:s(l.values)})),i.view=i.pane.append(i.form.html()),i.form=i.view.element.find(\"form\"),i.view.element.on(\"click\",\".k-submit\",function(e){i.form.submit(),e.preventDefault()}).on(\"click\",\".k-i-cancel\",function(e){i._closeForm(),e.preventDefault()})},refresh:function(){var e=this,t=e.dataSource.filter()||{filters:[],logic:\"and\"},i=[e._defaultFilter()],s=e._defaultFilter().operator;(e.options.extra||\"isnull\"!==s&&\"isnullorempty\"!==s&&\"isnotnullorempty\"!==s&&\"isnotnull\"!==s)&&i.push(e._defaultFilter()),e.filterModel=c.observable({logic:\"and\",filters:i}),e.form&&c.bind(e.form.children().first(),e.filterModel),e._bind(t)?e.link.addClass(\"k-state-active\"):e.link.removeClass(\"k-state-active\")},destroy:function(){var e=this;S.fn.destroy.call(e),e.form&&(c.unbind(e.form),c.destroy(e.form),e.form.unbind(g),e.popup&&(e.popup.destroy(),e.popup=null),e.form=null),e.view&&(e.view.purge(),e.view=null),e.link.unbind(g),e._refreshHandler&&(e.dataSource.unbind(k,e._refreshHandler),e.dataSource=null),e.element=e.link=e._refreshHandler=e.filterModel=null},_bind:function(e){var t,i,s,l,a=this,n=e.filters,r=!1,o=0,c=a.filterModel;for(t=0,i=n.length;t1?e:r[0])):(o.filters=r,o.logic=n)),o},filter:function(e){var t=this._stripFilters(e.filters);t.length&&this.trigger(\"change\",{filter:{logic:e.logic,filters:t},field:this.field})||(e=this._merge(e),e.filters.length&&this.dataSource.filter(e))},clear:function(){var e=this,t=e.dataSource.filter()||{filters:[]};this.trigger(\"change\",{filter:null,field:e.field})||e._removeFilter(t)},_removeFilter:function(t){var i=this;t.filters=e.grep(t.filters,function(e){return e.filters?(e.filters=l(e.filters,i.field),e.filters.length):e.field!=i.field}),t.filters.length||(t=null),i.dataSource.filter(t)},_submit:function(t){var i,s;t.preventDefault(),t.stopPropagation(),i=this.filterModel.toJSON(),s=e.grep(i.filters,function(e){return\"\"!==e.value}),this._checkForNullOrEmptyFilter(i)||s&&s.length?this.filter(i):this._removeFilter(i),this._closeForm()},_checkForNullOrEmptyFilter:function(e){var t,i,s;return!!(e&&e.filters&&e.filters.length)&&(t=!1,i=!1,e.filters[0]&&(s=e.filters[0].operator,t=\"isnull\"==s||\"isnotnull\"==s||\"isnotempty\"==s||\"isempty\"==s||\"isnullorempty\"==s||\"isnotnullorempty\"==s),e.filters[1]&&(s=e.filters[1].operator,i=\"isnull\"==s||\"isnotnull\"==s||\"isnotempty\"==s||\"isempty\"==s||\"isnullorempty\"==s||\"isnotnullorempty\"==s),!this.options.extra&&t||this.options.extra&&(t||i))},_reset:function(){this.clear(),this.options.search&&this.container&&this.container.find(\"label\").parent().show(),this._closeForm()},_closeForm:function(){this._isMobile?this.pane.navigate(\"\",this.options.animations.right):this.popup.close()},_click:function(e){e.preventDefault(),e.stopPropagation(),this.popup||this.pane||this._init(),this._isMobile?this.pane.navigate(this.view,this.options.animations.left):this.popup.toggle()},_open:function(){var t;e(\".k-filter-menu\").not(this.form).each(function(){t=e(this).data(f),t&&t.close()})},_activate:function(){this.form.find(\":kendoFocusable:first\").focus(),this.trigger(p,{field:this.field,container:this.form})},_keydown:function(e){e.keyCode==c.keys.ESC&&this.popup.close()},events:[h,\"change\",p],options:{name:\"FilterMenu\",extra:!0,appendToElement:!1,type:\"string\",operators:{string:{eq:v,neq:b,startswith:\"Starts with\",contains:\"Contains\",doesnotcontain:\"Does not contain\",endswith:\"Ends with\",isnull:\"Is null\",isnotnull:\"Is not null\",isempty:\"Is empty\",isnotempty:\"Is not empty\",isnullorempty:\"Has no value\",isnotnullorempty:\"Has value\"},number:{eq:v,neq:b,gte:\"Is greater than or equal to\",gt:\"Is greater than\",lte:\"Is less than or equal to\",lt:\"Is less than\",isnull:\"Is null\",isnotnull:\"Is not null\"},date:{eq:v,neq:b,gte:\"Is after or equal to\",gt:\"Is after\",lte:\"Is before or equal to\",lt:\"Is before\",isnull:\"Is null\",isnotnull:\"Is not null\"},enums:{eq:v,neq:b,isnull:\"Is null\",isnotnull:\"Is not null\"}},messages:{info:\"Show items with value that:\",title:\"Show items with value that:\",isTrue:\"is true\",isFalse:\"is false\",filter:\"Filter\",clear:\"Clear\",and:\"And\",or:\"Or\",selectValue:\"-Select value-\",operator:\"Operator\",value:\"Value\",additionalValue:\"Additional value\",additionalOperator:\"Additional operator\",logic:\"Filters logic\",cancel:\"Cancel\"},animations:{left:\"slide\",right:\"slide:right\"}}}),A=\".kendoFilterMultiCheck\",I=c.data.DataSource,q='
      #=title#
      #if(search){#
      #}#
      • #if(messages.selectedItemsFormat){#
        #}#
      • ',M=S.extend({init:function(t,i){var s,l;S.fn.init.call(this,t,i),i=this.options,this.element=e(t),s=this.field=this.options.field||this.element.attr(c.attr(\"field\")),l=i.checkSource,this._foreignKeyValues()?(this.checkSource=I.create(i.values),this.checkSource.fetch()):i.forceUnique?(l=e.extend(!0,{},i.dataSource.options),delete l.pageSize,this.checkSource=I.create(l),this.checkSource.reader.data=o(this.checkSource.reader.data,this.field)):this.checkSource=I.create(l),this.dataSource=i.dataSource,this.model=this.dataSource.reader.model,this._parse=function(e){return e+\"\"},this.model&&this.model.fields&&(s=this.model.fields[this.field],s&&(\"number\"==s.type?this._parse=function(e){return\"string\"==typeof e&&\"null\"===e.toLowerCase()?null:parseFloat(e)}:s.parse&&(this._parse=d(s.parse,s)),this.type=s.type||\"string\")),i.appendToElement?this._init():this._createLink(),this._refreshHandler=d(this.refresh,this),this.dataSource.bind(k,this._refreshHandler)},_createLink:function(){var e=this.element,t=e.addClass(\"k-with-icon k-filterable\").find(\".k-grid-filter\");t[0]||(t=e.prepend('').find(\".k-grid-filter\")),this._link=t.attr(\"tabindex\",-1).on(\"click\"+g,d(this._click,this))},_init:function(){var e=this,t=this.options.forceUnique,i=this.options;this.pane=i.pane,this.pane&&(this._isMobile=!0),this._createForm(),this._foreignKeyValues()?this.refresh():t&&!this.checkSource.options.serverPaging&&this.dataSource.data().length?(this.checkSource.data(r(this.dataSource.data(),this.field)),this.refresh()):(this._attachProgress(),this.checkSource.fetch(function(){e.refresh.call(e)})),this.options.forceUnique||(this.checkChangeHandler=function(){e.container.empty(),e.refresh()},this.checkSource.bind(k,this.checkChangeHandler)),this.form.on(\"keydown\"+A,d(this._keydown,this)).on(\"submit\"+A,d(this._filter,this)).on(\"reset\"+A,d(this._reset,this)),this.trigger(h,{field:this.field,container:this.form})},_attachProgress:function(){var e=this;this._progressHandler=function(){u.progress(e.container,!0)},this._progressHideHandler=function(){u.progress(e.container,!1)},this.checkSource.bind(\"progress\",this._progressHandler).bind(\"change\",this._progressHideHandler)},_input:function(){var e=this;e._clearTypingTimeout(),e._typingTimeout=setTimeout(function(){e.search()},100)},_clearTypingTimeout:function(){this._typingTimeout&&(clearTimeout(this._typingTimeout),this._typingTimeout=null)},search:function(){var e,t,i,s=this.options.ignoreCase,l=this.searchTextBox[0].value,a=this.container.find(\"label\");for(s&&(l=l.toLowerCase()),e=0,this.options.checkAll&&a.length&&(a[0].parentNode.style.display=l?\"none\":\"\",e++);e=0?\"\":\"none\",e++},_activate:function(){this.form.find(\":kendoFocusable:first\").focus(),this.trigger(p,{field:this.field,container:this.form})},_createForm:function(){var t,i,s=this.options,l=\"\";this._isMobile||(s.search&&(l+=\"
        \"),l+=\"
          \",s.messages.selectedItemsFormat&&(l+=\"
          \"+c.format(s.messages.selectedItemsFormat,0)+\"
          \"),l+=\"\",l+=\"\",this.form=e('
          ').html(l),this.container=this.form.find(\".k-multicheck-wrap\")),this._isMobile?(t=this,t.form=e(\"
          \").html(c.template(q)({field:t.field,title:s.title||t.field,ns:c.ns,messages:s.messages,search:s.search})),t.view=t.pane.append(t.form.html()),t.form=t.view.element.find(\"form\"),i=this.view.element,this.container=i.find(\".k-multicheck-wrap\"),i.on(\"click\",\".k-submit\",function(e){t.form.submit(),e.preventDefault()}).on(\"click\",\".k-i-cancel\",function(e){t._closeForm(),e.preventDefault()})):s.appendToElement?(this.popup=this.element.closest(\".k-popup\").data(f),this.element.append(this.form)):this.popup=this.form.kendoPopup({anchor:this._link,activate:d(this._activate,this)}).data(f),s.search&&(this.searchTextBox=this.form.find(\".k-textbox > input\"),this.searchTextBox.on(\"input\",d(this._input,this)))},createCheckAllItem:function(){var t=this.options,i=c.template(t.itemTemplate({field:\"all\",mobile:this._isMobile})),s=e(i({all:t.messages.checkAll}));this.container.prepend(s),this.checkBoxAll=s.find(\":checkbox\").eq(0).addClass(\"k-check-all\"),this.checkAllHandler=d(this.checkAll,this),this.checkBoxAll.on(k+A,this.checkAllHandler)},updateCheckAllState:function(){if(this.options.messages.selectedItemsFormat&&this.form.find(\".k-filter-selected-items\").text(c.format(this.options.messages.selectedItemsFormat,this.container.find(\":checked:not(.k-check-all)\").length)),this.checkBoxAll){var e=this.container.find(\":checkbox:not(.k-check-all)\").length==this.container.find(\":checked:not(.k-check-all)\").length;this.checkBoxAll.prop(\"checked\",e)}},refresh:function(e){var t=this.options.forceUnique,i=this.dataSource,s=this.getFilterArray();this._link&&this._link.toggleClass(\"k-state-active\",0!==s.length),this.form&&(e&&t&&e.sender===i&&!i.options.serverPaging&&(\"itemchange\"==e.action||\"add\"==e.action||\"remove\"==e.action||i.options.autoSync&&\"sync\"===e.action)&&!this._foreignKeyValues()&&(this.checkSource.data(r(this.dataSource.data(),this.field)),this.container.empty()),this.container.is(\":empty\")&&this.createCheckBoxes(),this.checkValues(s),this.trigger(m))},getFilterArray:function(){var t,i=e.extend(!0,{},{filters:[],logic:\"and\"},this.dataSource.filter());return a(i,this.field),t=n(i)},createCheckBoxes:function(){var e,t,i,s=this.options,l={field:this.field,format:s.format,mobile:this._isMobile,type:this.type};this.options.forceUnique?this._foreignKeyValues()?(e=this.checkSource.data(),l.valueField=\"value\",l.field=\"text\"):e=this.checkSource.data():e=this.checkSource.view(),t=c.template(s.itemTemplate(l)),i=c.render(t,e),s.checkAll&&this.createCheckAllItem(),this.container.on(k+A,\":checkbox\",d(this.updateCheckAllState,this)),this.container.append(i)},checkAll:function(){var e=this.checkBoxAll.is(\":checked\");this.container.find(\":checkbox\").prop(\"checked\",e)},checkValues:function(t){var i=this;e(e.grep(this.container.find(\":checkbox\").prop(\"checked\",!1),function(s){var l,a,n=!1;if(!e(s).is(\".k-check-all\"))for(l=i._parse(e(s).val()),a=0;a\"},checkAll:!0,search:!1,ignoreCase:!0,appendToElement:!1,messages:{checkAll:\"Select All\",clear:\"Clear\",filter:\"Filter\",search:\"Search\",cancel:\"Cancel\",selectedItemsFormat:\"{0} items selected\"},forceUnique:!0,animations:{left:\"slide\",right:\"slide:right\"}},events:[h,m,\"change\",p]});e.extend(M.fn,{_click:H.fn._click,_keydown:H.fn._keydown,_reset:H.fn._reset,_closeForm:H.fn._closeForm,_removeFilter:H.fn._removeFilter,clear:H.fn.clear,_merge:H.fn._merge}),u.plugin(H),u.plugin(M)}(window.kendo.jQuery),window.kendo},\"function\"==typeof define&&define.amd?define:function(e,t,i){(i||t)()});\r\n//# sourceMappingURL=kendo.filtermenu.min.js.map\r\n","/** \r\n * Kendo UI v2018.1.221 (http://www.telerik.com/kendo-ui) \r\n * Copyright 2018 Telerik AD. All rights reserved. \r\n * \r\n * Kendo UI commercial licenses may be obtained at \r\n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \r\n * If you do not own a commercial license, this file shall be governed by the trial license terms. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n*/\r\n!function(t,define){define(\"kendo.fx.min\",[\"kendo.core.min\"],t)}(function(){return function(t,e){function i(t){return parseInt(t,10)}function r(t,e){return i(t.css(e))}function n(t){var e,i=[];for(e in t)i.push(e);return i}function s(t){for(var e in t)L.indexOf(e)!=-1&&Q.indexOf(e)==-1&&delete t[e];return t}function o(t,e){var i,r,n,s,o=[],a={};for(r in e)i=r.toLowerCase(),s=H&&L.indexOf(i)!=-1,!E.hasHW3D&&s&&Q.indexOf(i)==-1?delete e[r]:(n=e[r],s?o.push(r+\"(\"+n+\")\"):a[r]=n);return o.length&&(a[at]=o.join(\" \")),a}function a(t,e){var r,n,s;return H?(r=t.css(at),r==J?\"scale\"==e?1:0:(n=r.match(RegExp(e+\"\\\\s*\\\\(([\\\\d\\\\w\\\\.]+)\")),s=0,n?s=i(n[1]):(n=r.match(S)||[0,0,0,0,0],e=e.toLowerCase(),V.test(e)?s=parseFloat(n[3]/n[2]):\"translatey\"==e?s=parseFloat(n[4]/n[2]):\"scale\"==e?s=parseFloat(n[2]):\"rotate\"==e&&(s=parseFloat(Math.atan2(n[2],n[1])))),s)):parseFloat(t.css(e))}function c(t){return t.charAt(0).toUpperCase()+t.substring(1)}function l(t,e){var i=h.extend(e),r=i.prototype.directions;T[c(t)]=i,T.Element.prototype[t]=function(t,e,r,n){return new i(this.element,t,e,r,n)},N(r,function(e,r){T.Element.prototype[t+c(r)]=function(t,e,n){return new i(this.element,r,t,e,n)}})}function d(t,i,r,n){l(t,{directions:v,startValue:function(t){return this._startValue=t,this},endValue:function(t){return this._endValue=t,this},shouldHide:function(){return this._shouldHide},prepare:function(t,s){var o,a,c=this,l=\"out\"===this._direction,d=c.element.data(i),u=!(isNaN(d)||d==r);o=u?d:e!==this._startValue?this._startValue:l?r:n,a=e!==this._endValue?this._endValue:l?n:r,this._reverse?(t[i]=a,s[i]=o):(t[i]=o,s[i]=a),c._shouldHide=s[i]===n}})}function u(t,e){var i=C.directions[e].vertical,r=t[i?Y:X]()/2+\"px\";return _[e].replace(\"$size\",r)}var f,p,h,m,v,x,_,g,y,k,b,w,C=window.kendo,T=C.effects,N=t.each,P=t.extend,z=t.proxy,E=C.support,R=E.browser,H=E.transforms,D=E.transitions,O={scale:0,scalex:0,scaley:0,scale3d:0},F={translate:0,translatex:0,translatey:0,translate3d:0},I=e!==document.documentElement.style.zoom&&!H,S=/matrix3?d?\\s*\\(.*,\\s*([\\d\\.\\-]+)\\w*?,\\s*([\\d\\.\\-]+)\\w*?,\\s*([\\d\\.\\-]+)\\w*?,\\s*([\\d\\.\\-]+)\\w*?/i,A=/^(-?[\\d\\.\\-]+)?[\\w\\s]*,?\\s*(-?[\\d\\.\\-]+)?[\\w\\s]*/i,V=/translatex?$/i,q=/(zoom|fade|expand)(\\w+)/,M=/(zoom|fade|expand)/,$=/[xy]$/i,L=[\"perspective\",\"rotate\",\"rotatex\",\"rotatey\",\"rotatez\",\"rotate3d\",\"scale\",\"scalex\",\"scaley\",\"scalez\",\"scale3d\",\"skew\",\"skewx\",\"skewy\",\"translate\",\"translatex\",\"translatey\",\"translatez\",\"translate3d\",\"matrix\",\"matrix3d\"],Q=[\"rotate\",\"scale\",\"scalex\",\"scaley\",\"skew\",\"skewx\",\"skewy\",\"translate\",\"translatex\",\"translatey\",\"matrix\"],W={rotate:\"deg\",scale:\"\",skew:\"px\",translate:\"px\"},j=H.css,B=Math.round,U=\"\",G=\"px\",J=\"none\",K=\"auto\",X=\"width\",Y=\"height\",Z=\"hidden\",tt=\"origin\",et=\"abortId\",it=\"overflow\",rt=\"translate\",nt=\"position\",st=\"completeCallback\",ot=j+\"transition\",at=j+\"transform\",ct=j+\"backface-visibility\",lt=j+\"perspective\",dt=\"1500px\",ut=\"perspective(\"+dt+\")\",ft={left:{reverse:\"right\",property:\"left\",transition:\"translatex\",vertical:!1,modifier:-1},right:{reverse:\"left\",property:\"left\",transition:\"translatex\",vertical:!1,modifier:1},down:{reverse:\"up\",property:\"top\",transition:\"translatey\",vertical:!0,modifier:1},up:{reverse:\"down\",property:\"top\",transition:\"translatey\",vertical:!0,modifier:-1},top:{reverse:\"bottom\"},bottom:{reverse:\"top\"},\"in\":{reverse:\"out\",modifier:-1},out:{reverse:\"in\",modifier:1},vertical:{reverse:\"vertical\"},horizontal:{reverse:\"horizontal\"}};C.directions=ft,P(t.fn,{kendoStop:function(t,e){return D?T.stopQueue(this,t||!1,e||!1):this.stop(t,e)}}),H&&!D&&(N(Q,function(i,r){t.fn[r]=function(i){if(e===i)return a(this,r);var n=t(this)[0],s=r+\"(\"+i+W[r.replace($,\"\")]+\")\";return n.style.cssText.indexOf(at)==-1?t(this).css(at,s):n.style.cssText=n.style.cssText.replace(RegExp(r+\"\\\\(.*?\\\\)\",\"i\"),s),this},t.fx.step[r]=function(e){t(e.elem)[r](e.now)}}),f=t.fx.prototype.cur,t.fx.prototype.cur=function(){return Q.indexOf(this.prop)!=-1?parseFloat(t(this.elem)[this.prop]()):f.apply(this,arguments)}),C.toggleClass=function(t,e,i,r){return e&&(e=e.split(\" \"),D&&(i=P({exclusive:\"all\",duration:400,ease:\"ease-out\"},i),t.css(ot,i.exclusive+\" \"+i.duration+\"ms \"+i.ease),setTimeout(function(){t.css(ot,\"\").css(Y)},i.duration)),N(e,function(e,i){t.toggleClass(i,r)})),t},C.parseEffects=function(t,e){var i={};return\"string\"==typeof t?N(t.split(\" \"),function(t,r){var n=!M.test(r),s=r.replace(q,function(t,e,i){return e+\":\"+i.toLowerCase()}),o=s.split(\":\"),a=o[1],c={};o.length>1&&(c.direction=e&&n?ft[a].reverse:a),i[o[0]]=c}):N(t,function(t){var r=this.direction;r&&e&&!M.test(t)&&(this.direction=ft[r].reverse),i[t]=this}),i},D&&P(T,{transition:function(e,i,r){var s,a,c,l,d=0,u=e.data(\"keys\")||[];r=P({duration:200,ease:\"ease-out\",complete:null,exclusive:\"all\"},r),c=!1,l=function(){c||(c=!0,a&&(clearTimeout(a),a=null),e.removeData(et).dequeue().css(ot,\"\").css(ot),r.complete.call(e))},r.duration=t.fx?t.fx.speeds[r.duration]||r.duration:r.duration,s=o(e,i),t.merge(u,n(s)),e.data(\"keys\",t.unique(u)).height(),e.css(ot,r.exclusive+\" \"+r.duration+\"ms \"+r.ease).css(ot),e.css(s).css(at),D.event&&(e.one(D.event,l),0!==r.duration&&(d=500)),a=setTimeout(l,r.duration+d),e.data(et,a),e.data(st,l)},stopQueue:function(t,e,i){var r,n=t.data(\"keys\"),s=!i&&n,o=t.data(st);return s&&(r=C.getComputedStyles(t[0],n)),o&&o(),s&&t.css(r),t.removeData(\"keys\").stop(e)}}),p=C.Class.extend({init:function(t,e){var i=this;i.element=t,i.effects=[],i.options=e,i.restore=[]},run:function(e){var i,r,n,a,c,l,d,u=this,f=e.length,p=u.element,h=u.options,m=t.Deferred(),v={},x={};for(u.effects=e,m.then(t.proxy(u,\"complete\")),p.data(\"animating\",!0),r=0;r=this.duration},timePassed:function(){return Math.min(this.duration,new Date-this.startDate)},moveTo:function(t){var e=this,i=e.movable;e.initial=i[e.axis],e.delta=t.location-e.initial,e.duration=\"number\"==typeof t.duration?t.duration:300,e.tick=e._easeProxy(t.ease),e.startDate=new Date,e.start()},_easeProxy:function(t){var e=this;return function(){e.movable.moveAxis(e.axis,t(e.timePassed(),e.initial,e.delta,e.duration))}}}),P(w,{easeOutExpo:function(t,e,i,r){return t==r?e+i:i*(-Math.pow(2,-10*t/r)+1)+e},easeOutBack:function(t,e,i,r,n){return n=1.70158,i*((t=t/r-1)*t*((n+1)*t+n)+1)+e}}),T.Animation=b,T.Transition=w,T.createEffect=l,T.box=function(e){e=t(e);var i=e.offset();return i.width=C._outerWidth(e),i.height=C._outerHeight(e),i},T.transformOrigin=function(t,e){var i=(t.left-e.left)*e.width/(e.width-t.width),r=(t.top-e.top)*e.height/(e.height-t.height);return{x:isNaN(i)?0:i,y:isNaN(r)?0:r}},T.fillScale=function(t,e){return Math.min(t.width/e.width,t.height/e.height)},T.fitScale=function(t,e){return Math.max(t.width/e.width,t.height/e.height)}}(window.kendo.jQuery),window.kendo},\"function\"==typeof define&&define.amd?define:function(t,e,i){(i||e)()});\r\n//# sourceMappingURL=kendo.fx.min.js.map\r\n","/** \r\n * Kendo UI v2018.1.221 (http://www.telerik.com/kendo-ui) \r\n * Copyright 2018 Telerik AD. All rights reserved. \r\n * \r\n * Kendo UI commercial licenses may be obtained at \r\n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \r\n * If you do not own a commercial license, this file shall be governed by the trial license terms. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n*/\r\n!function(e,define){define(\"util/text-metrics.min\",[\"kendo.core.min\"],e)}(function(){!function(e){function t(e){return(e+\"\").replace(i,s)}function r(e){var t,r=[];for(t in e)r.push(t+e[t]);return r.sort().join(\"\")}function o(e){var t,r=2166136261;for(t=0;t>>0}function l(){return{width:0,height:0,baseline:0}}function a(e,t,r){return u.current.measure(e,t,r)}var n,i,s,d,c,u;window.kendo.util=window.kendo.util||{},n=kendo.Class.extend({init:function(e){this._size=e,this._length=0,this._map={}},put:function(e,t){var r=this._map,o={key:e,value:t};r[e]=o,this._head?(this._tail.newer=o,o.older=this._tail,this._tail=o):this._head=this._tail=o,this._length>=this._size?(r[this._head.key]=null,this._head=this._head.newer,this._head.older=null):this._length++},get:function(e){var t=this._map[e];if(t)return t===this._head&&t!==this._tail&&(this._head=t.newer,this._head.older=null),t!==this._tail&&(t.older&&(t.older.newer=t.newer,t.newer.older=t.older),t.older=this._tail,t.newer=null,this._tail.newer=t,this._tail=t),t.value}}),i=/\\r?\\n|\\r|\\t/g,s=\" \",d={baselineMarkerSize:1},\"undefined\"!=typeof document&&(c=document.createElement(\"div\"),c.style.cssText=\"position: absolute !important; top: -4000px !important; width: auto !important; height: auto !important;padding: 0 !important; margin: 0 !important; border: 0 !important;line-height: normal !important; visibility: hidden !important; white-space: pre!important;\"),u=kendo.Class.extend({init:function(t){this._cache=new n(1e3),this.options=e.extend({},d,t)},measure:function(e,a,n){var i,s,d,u,p,h,f,g,m;if(void 0===n&&(n={}),!e)return l();if(i=r(a),s=o(e+i),d=this._cache.get(s))return d;u=l(),p=n.box||c,h=this._baselineMarker().cloneNode(!1);for(f in a)g=a[f],void 0!==g&&(p.style[f]=g);return m=n.normalizeText!==!1?t(e):e+\"\",p.textContent=m,p.appendChild(h),document.body.appendChild(p),m.length&&(u.width=p.offsetWidth-this.options.baselineMarkerSize,u.height=p.offsetHeight,u.baseline=h.offsetTop+this.options.baselineMarkerSize),u.width>0&&u.height>0&&this._cache.put(s,u),p.parentNode.removeChild(p),u},_baselineMarker:function(){var e=document.createElement(\"div\");return e.style.cssText=\"display: inline-block; vertical-align: baseline;width: \"+this.options.baselineMarkerSize+\"px; height: \"+this.options.baselineMarkerSize+\"px;overflow: hidden;\",e}}),u.current=new u,kendo.deepExtend(kendo.util,{LRUCache:n,TextMetrics:u,measureText:a,objectKey:r,hashKey:o,normalizeText:t})}(window.kendo.jQuery)},\"function\"==typeof define&&define.amd?define:function(e,t,r){(r||t)()}),function(e,define){define(\"kendo.grid.min\",[\"kendo.data.min\",\"kendo.columnsorter.min\",\"kendo.editable.min\",\"kendo.window.min\",\"kendo.filtermenu.min\",\"kendo.columnmenu.min\",\"kendo.groupable.min\",\"kendo.pager.min\",\"kendo.selectable.min\",\"kendo.sortable.min\",\"kendo.reorderable.min\",\"kendo.resizable.min\",\"kendo.mobile.actionsheet.min\",\"kendo.mobile.pane.min\",\"kendo.ooxml.min\",\"kendo.excel.min\",\"kendo.progressbar.min\",\"kendo.pdf.min\"],e)}(function(){return function(e,t){function r(e,t){return\"[\"+fe.attr(e)+\"=\"+t+\"]\"}function o(e){return Array(e+1).join(' ')}function l(e){var t,r=\" \";if(e){if(typeof e===zt)return e;for(t in e)\"\"!==e[t]&&(r+=t+'=\"'+e[t]+'\"')}return r}function a(t,r){e(\"th, th .k-grid-filter, th .k-link\",t).add(document.body).css(\"cursor\",r)}function n(t,r,o,l,a){var n,i=r;for(r=e(),a=a||1,n=0;n0}function g(e){return He(e,function(e){var t=!e.hidden;return t&&e.columns&&(t=g(e.columns).length>0),t})}function m(t){return e(t).map(function(){return this.toArray()})}function b(e,t,r){var o=v(A(t)),l=v(W(t)),a=e.rowSpan;e.rowSpan=r?o>l?a-(o-l)||1:a+(l-o):o>l?a+(o-l):a-(l-o)||1}function k(t,r,o,l,a,n,i){var s,d,c=v(t),u=v([r]);c>u&&(s=Array(i+1).join(' '),d=n.children(\":not(.k-filter-row)\"),e(Array(c-u+1).join(\"\"+s+\"\")).insertAfter(d.last())),D(n,c-u),w(o,l,a,n)}function _(t,r,o){var l,a,n,i,s,d,c,u;for(o=o||0,n=r,r=B(r),i={},s=t.find(\">tr:not(.k-filter-row)\"),d=function(){var t=e(this);return!t.hasClass(\"k-group-cell\")&&!t.hasClass(\"k-hierarchy-cell\")},c=0,u=r.length;cl&&(l=r));return o+l}function w(t,r,o,l){var a,n,i=T(t[0],r),s=o.find(\">tr:not(.k-filter-row):eq(\"+i.row+\")>th.k-header\"),d=e(),c=i.cell;for(a=0;atr:not(.k-filter-row)\").eq(i.row).append(d),n=[],a=0;a-1&&t0||0===n&&!o)&&(n+=o?-1:1):n--,i=Ie(r,a),t=y(a,n,r,i>n),t&&t!=r&&t.columns?S(e,t,r,o):null)}function T(e,t,r,o){var l,a;for(r=r||0,o=o||{},o[r]=o[r]||0,a=0;a1&&(l[o].rowSpan=r-t||1)}function D(e,t){var r,o=e.find(\"tr:not(.k-filter-row) th:not(.k-group-cell,.k-hierarchy-cell)\");for(r=0;r1&&(a[r].rowSpan-=l);return o.length-l}function F(e,t,r,o,l){var a,n,i,s=[];for(a=0,i=e.length;atr:not(.k-filter-row)\"),a=function(){var t=e(this);return!t.hasClass(\"k-group-cell\")&&!t.hasClass(\"k-hierarchy-cell\")},n=e();return l.length>1&&(n=l.find(\"th\").filter(a).filter(function(){return this.rowSpan>1})),n=n.add(l.last().find(\"th\").filter(a)),o=fe.attr(\"index\"),n.sort(function(r,l){var a,n;return r=e(r),l=e(l),a=r.attr(o),n=l.attr(o),a===t&&(a=e(r).index()),n===t&&(n=e(l).index()),a=parseInt(a,10),n=parseInt(n,10),a>n?1:a0){for(r=p.eq(h-1),o=r.find(\"th:not(.k-group-cell,.k-hierarchy-cell)\").filter(function(){return!e(this).attr(\"rowspan\")}),l=0,a=u.find(\"th:not(.k-group-cell,.k-hierarchy-cell)\").index(t),n=t.prevAll(\":not(.k-group-cell,.k-hierarchy-cell)\").filter(function(){return this.colSpan>1}),i=0;i=i&&a1&&(i-=s-1),l++}return c}function K(t,r,o,l){var a,n=t;return l&&t.empty(),ke?t[0].innerHTML=o:(a=document.createElement(\"div\"),a.innerHTML=\"\"+o+\"
          \",t=a.firstChild.firstChild,r[0].replaceChild(t,n[0]),t=e(t)),t}function G(e){e=e||{};var t=e.style;return t?(t=t.replace(/((.*)?display)(.*)?:([^;]*)/i,\"$1:none\"),t===e.style&&(t=t.replace(/(.*)?/i,\"display:none;$1\"))):t=\"display:none\",Te({},e,{style:t})}function j(e){e=e||{};var t=e.style;return t&&(e.style=t.replace(/(display\\s*:\\s*none\\s*;?)*/gi,\"\")),e}function U(t,r,o,l){var a,n=t.find(\">colgroup\"),i=xe(r,function(e){return a=e.width,a&&0!==parseInt(a,10)?fe.format('',typeof a===zt?a:a+\"px\"):\"\"});(o||n.find(\".k-hierarchy-col\").length)&&i.splice(0,0,''),n.length&&n.remove(),n=e(Array(l+1).join('')+i.join(\"\")),n.is(\"colgroup\")||(n=e(\"\").append(n)),t.prepend(n),tr.msie&&8==tr.version&&(t.css(\"display\",\"inline-table\"),window.setTimeout(function(){t.css(\"display\",\"\")},1))}function $(e,t){var r,o,l=0,a=e.find(\"th:not(.k-group-cell)\");for(r=0,o=t.length;rform>table\"),g(a),!1,0),l=o.find(\"tr:first\")),Y(l[0].cells,r,!0))}function re(e,t,r){r=r||1;var o,l,a;for(l=0,a=e.length;lcolgroup>col\");for(t=0,r=l.length;to?(l=t.rows[t.rows.length-1],Jt.test(l.className)&&(l=t.rows[t.rows.length-2]),a=r-o):(l=e.rows[e.rows.length-1],Jt.test(l.className)&&(l=e.rows[e.rows.length-2]),a=o-r),l.style.height=l.offsetHeight+a+\"px\")}function ae(e,t){var r,o=e.offsetHeight,l=t.offsetHeight;o>l?r=o+\"px\":o.k-icon,textarea,span.k-select,span.k-icon,span.k-link,label.k-checkbox-label,.k-input,.k-multiselect-wrap,.k-picker-wrap,.k-picker-wrap>.k-selected-color,.k-tool-icon,.k-dropdown\")}function ce(r){var o=e(r.currentTarget),l=o.is(\"th\"),a=this.table.add(this.lockedTable),n=this.thead.parent().add(e(\">table\",this.lockedHeader)),i=de(r.target),s=e(r.target),d=o.closest(\"table\")[0];if(!fe.support.touch)return i&&o.find(fe.roleSelector(\"filtercell\")).length?(this._setCurrent(o),t):(d!==a[0]&&d!==a[1]&&d!==n[0]&&d!==n[1]||s.is(\"a.k-i-expand, a.k-i-collapse\")||(this.options.navigatable&&this._setCurrent(o),!l&&i||setTimeout(function(){or&&e(fe._activeElement()).hasClass(\"k-widget\")||de(fe._activeElement())&&e.contains(d,fe._activeElement())||ie(d,!0)}),l&&r.preventDefault()),t)}function ue(e){return e&&(e.hasClass(\"k-edit-cell\")||e.parent().hasClass(\"k-grid-edit-row\"))}function pe(e,t,r){return''+o(t)+'

          '+r+\"

          \"}function he(e){return'

           

          '}var fe=window.kendo,ge=fe.ui,me=fe.data.DataSource,be=fe.data.ObservableObject,ke=fe.support.tbodyInnerHtml,_e=fe._activeElement,ve=ge.Widget,we=fe._outerWidth,Ce=fe._outerHeight,ye=fe.keys,Se=e.isPlainObject,Te=e.extend,xe=e.map,He=e.grep,Re=e.isArray,Ie=e.inArray,Ee=Array.prototype.push,ze=e.proxy,De=fe.isFunction,Le=e.isEmptyObject,Fe=e.contains,Ae=Math,We=\"progress\",qe=\"error\",Me=\":not(.k-group-cell):not(.k-hierarchy-cell):visible\",Pe=\"tbody>tr:not(.k-grouping-row):not(.k-detail-row):not(.k-group-footer) > td:not(.k-group-cell):not(.k-hierarchy-cell)\",Be=\"tr:not(.k-footer-template):visible\",Ve=\":not(.k-group-cell):not(.k-hierarchy-cell):visible\",Ne=\"tr:not(.k-grouping-row):not(.k-detail-row):not(.k-footer-template):not(.k-group-footer):visible\",Oe=Ne+\":first\",Ke=Ne+\":last\",Ge=Be+\":first>\"+Ve+\":first\",je=\"th.k-header:not(.k-group-cell):not(.k-hierarchy-cell)\",Ue=\".kendoGrid\",$e=\"edit\",Qe=\"beforeEdit\",Je=\"save\",Ye=\"remove\",Xe=\"detailInit\",Ze=\"filterMenuInit\",et=\"columnMenuInit\",tt=\"filterMenuOpen\",rt=\"columnMenuOpen\",ot=\"cellClose\",lt=\"change\",at=\"columnHide\",nt=\"columnShow\",it=\"saveChanges\",st=\"dataBound\",dt=\"detailExpand\",ct=\"detailCollapse\",ut=\"itemchange\",pt=\"page\",ht=\"paging\",ft=\"scroll\",gt=\"sync\",mt=\"k-state-focused\",bt=\":kendoFocusable\",kt=\"k-state-selected\",_t=\"k-checkbox\",vt=\"input[data-role='checkbox'].\"+_t,wt=\"k-grid-norecords\",Ct=\"columnResize\",yt=\"columnReorder\",St=\"columnLock\",Tt=\"columnUnlock\",xt=\"navigate\",Ht=\"click\",Rt=\"height\",It=\"tabIndex\",Et=\"function\",zt=\"string\",Dt=\"bottom\",Lt=\"container-for\",Ft=\"field\",At=\"input\",Wt=\"incell\",qt=\"inline\",Mt=\"uid\",Pt=\"Are you sure you want to delete this record?\",Bt=\"No records available.\",Vt=\"Delete\",Nt=\"Cancel\",Ot=\"Collapse\",Kt=\"Expand\",Gt=\"aria-label\",jt=/(\\}|\\#)/gi,Ut=/#/gi,$t=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",Qt=RegExp(\"(^|\"+$t+\")(k-group-cell|k-hierarchy-cell)(\"+$t+\"|$)\"),Jt=RegExp(\"(^|\"+$t+\")(k-filter-row)(\"+$t+\"|$)\"),Yt='# if (iconClass) {##=text## } else { ##=text## } #',Xt='# var checkboxGuid = kendo.guid(); #',Zt='# var checkboxGuid = kendo.guid(); #',er=!1,tr=fe.support.browser,rr=tr.msie&&7==tr.version,or=tr.msie&&8==tr.version,lr=ve.extend({init:function(e,t){var r=this;ve.fn.init.call(r,e,t),r._refreshHandler=ze(r.refresh,r),r.setDataSource(t.dataSource),r.wrap()},setDataSource:function(e){var t=this;t.dataSource&&t.dataSource.unbind(lt,t._refreshHandler),t.dataSource=e,t.dataSource.bind(lt,t._refreshHandler),t.dataSource.options.useRanges=!0},options:{name:\"VirtualScrollable\",itemHeight:e.noop,prefetch:!0,maxScrollHeight:25e4},events:[ht,pt,ft],destroy:function(){var e=this;ve.fn.destroy.call(e),e.dataSource.unbind(lt,e._refreshHandler),e.wrapper.add(e.verticalScrollbar).off(Ue),e.drag&&(e.drag.destroy(),e.drag=null),e.wrapper=e.element=e.verticalScrollbar=null,e._refreshHandler=null},wrap:function(){var t,r=this,o=fe.support.scrollbar()+1,l=r.element;l.css({width:\"auto\",overflow:\"hidden\"}).css(er?\"padding-left\":\"padding-right\",o),r.content=l.children().first(),t=r.wrapper=r.content.wrap('
          ').parent().bind(\"DOMMouseScroll\"+Ue+\" mousewheel\"+Ue,ze(r._wheelScroll,r)),fe.support.kineticScrollNeeded&&(r.drag=new fe.UserEvents(r.wrapper,{global:!0,allowSelection:!0,start:function(e){e.sender.capture()},move:function(e){r.verticalScrollbar.scrollTop(r.verticalScrollbar.scrollTop()-e.y.delta),t.scrollLeft(t.scrollLeft()-e.x.delta),e.preventDefault()}})),r.verticalScrollbar=e('
          ').css({width:o}).appendTo(l).bind(\"scroll\"+Ue,ze(r._scroll,r))},_wheelScroll:function(e){if(!e.ctrlKey){var t=this.verticalScrollbar,r=t.scrollTop(),o=fe.wheelDeltaY(e);!o||o>0&&0===r||o<0&&r+t[0].clientHeight==t[0].scrollHeight||(e.preventDefault(),this.verticalScrollbar.scrollTop(r+-o))}},_scroll:function(e){var r=this,o=!r.options.prefetch,l=e.currentTarget.scrollTop,a=r.dataSource,n=r.itemHeight,i=a.skip()||0,s=r._rangeStart||i,d=r.element.innerHeight(),c=!!(r._scrollbarTop&&r._scrollbarTop>l),u=Ae.max(Ae.floor(l/n),0),p=c?Ae.ceil(d/n):Ae.floor(d/n),h=Ae.max(u+p,0);return r._preventScroll?(r._preventScroll=!1,t):(r._scrollTop=l-s*n,r._scrollbarTop=l,r._scrolling=o,r._fetch(u,h,c)||(r.wrapper[0].scrollTop=r._scrollTop),r.trigger(ft),o&&(r._scrollingTimeout&&clearTimeout(r._scrollingTimeout),r._scrollingTimeout=setTimeout(function(){r._scrolling=!1,r._page(r._rangeStart,r.dataSource.take())},100)),t)},scrollToTop:function(){this._scrollTo(0)},scrollToBottom:function(){var e=this.verticalScrollbar;this._scrollTo(e[0].scrollHeight-e.height())},_scrollWrapperToTop:function(){this.wrapper.scrollTop(0)},_scrollWrapperToBottom:function(){this.wrapper.scrollTop(this.wrapper[0].scrollHeight)},_scrollWrapperOnColumnResize:function(){var e=this,t=this.wrapper,r=t.scrollTop();t[0].scrollWidth>t[0].clientWidth?e._wrapperScrolled&&!e._isScrolledToBottom()||(t.scrollTop(r+fe.support.scrollbar()),e._scrollTop=t.scrollTop(),e._wrapperScrolled=!0):e._wrapperScrolled&&(e._isWrapperScrolledToBottom()||(t.scrollTop(r-fe.support.scrollbar()),e._scrollTop=t.scrollTop()),e._wrapperScrolled=!1)},_scrollTo:function(e){var t=this,r=t.verticalScrollbar;r.scrollTop()!==e&&(t._preventScroll=!0),t.wrapper.scrollTop(e),t._scrollTop=t.wrapper.scrollTop(),r.scrollTop(e),t._scrollbarTop=r.scrollTop()},_isScrolledToTop:function(){return 0===this.verticalScrollbar.scrollTop()},_isScrolledToBottom:function(){var e=this.verticalScrollbar,t=e.scrollTop();return t>0&&t>=parseInt(e[0].scrollHeight-e.height(),10)},_isWrapperScrolledToBottom:function(){var e=this.wrapper;return e.scrollTop()>=parseInt(e[0].scrollHeight-e.height(),10)},itemIndex:function(e){var t=this._rangeStart||this.dataSource.skip()||0;return t+e},_isElementVisible:function(e){return this._isElementVisibleInWrapper(e)},_isElementVisibleInWrapper:function(t){var r,o,l=this,a=l.wrapper;return t=e(t),!!(t[0]&&Fe(a[0],t[0])&&(r=parseInt(t.position().top,10),o=t.outerHeight()/2,(r>=0||Ae.abs(r)<=o)&&r+o<=a.height()))},position:function(e){var t,r=this._rangeStart||this.dataSource.skip()||0,o=this.dataSource.pageSize();return t=e>r?e-r+1:r-e-1,t>o?o:t},scrollIntoView:function(e){var t=this.wrapper[0],r=t.clientHeight,o=this._isScrolledToBottom()?t.scrollTop:this._scrollTop||t.scrollTop,l=e[0].offsetTop,a=e[0].offsetHeight;o>l?this.verticalScrollbar[0].scrollTop-=r/2:l+a>=o+r&&(this.verticalScrollbar[0].scrollTop+=r/2)},_fetch:function(t,r,o){var l=this,a=l.dataSource,n=l.itemHeight,i=a.take(),s=l._rangeStart||a.skip()||0,d=Ae.floor(t/i)*i,c=!1,u=.33,p=l.verticalScrollbar,h=tr.webkit?1:0;return t=s+i&&!o?(c=!0,s=Ae.min(t,a.total()-i),l._scrollTop=p.scrollTop()>=p[0].scrollHeight-p.height()-h?l.wrapper[0].scrollHeight-l.wrapper.height():n,l._page(s,i)):!l._fetching&&l.options.prefetch&&(ti&&a.prefetch(d-i,i,e.noop),r>d+i*u&&a.prefetch(d+i,i,e.noop)),c},fetching:function(){return this._fetching},_page:function(t,r,o){var l=this,a=!l.options.prefetch,n=l.dataSource;o=De(o)?o:e.noop,l.trigger(ht,{skip:t,take:r})||(clearTimeout(l._timeout),l._fetching=!0,l._rangeStart=t,n.inRange(t,r)?(fe.ui.progress(e(l.wrapper).parent(),!0),n.range(t,r,function(){fe.ui.progress(e(l.wrapper).parent(),!1),o(),l.trigger(pt)})):(a||fe.ui.progress(l.wrapper.parent(),!0),l._timeout=setTimeout(function(){l._scrolling||(a&&fe.ui.progress(l.wrapper.parent(),!0),n.range(t,r,function(){fe.ui.progress(l.wrapper.parent(),!1),o(),l.trigger(pt)}))},100)))},repaintScrollbar:function(e){var r,o=this,l=\"\",a=o.options.maxScrollHeight,n=o.dataSource,i=fe.support.kineticScrollNeeded?0:fe.support.scrollbar(),s=o.wrapper[0],d=o._isScrolledToBottom(),c=o.itemHeight=o.options.itemHeight()||0,u=s.scrollWidth>s.offsetWidth?i:0,p=n.total()*c+u;for(r=0;r
          ';p%a&&(l+='
          '),o.verticalScrollbar.html(l),d&&!o._isScrolledToBottom()&&o.scrollToBottom(),t!==o._scrollTop&&e&&(s.scrollTop=o._scrollTop,o._scrollWrapperOnColumnResize())},refresh:function(e){var r=this,o=r.dataSource,l=r._rangeStart,a=(e||{}).action,n=r._isScrolledToBottom()||!a||a!==ut&&a!==Ye&&a!==gt;fe.ui.progress(r.wrapper.parent(),!1),clearTimeout(r._timeout),r.repaintScrollbar(n),r.drag&&r.drag.cancel(),t===l||r._fetching||((!a||a!==gt&&a!==ut)&&(r._rangeStart=o.skip()),1!==o.page()||a&&(a===gt||a===ut)||(r.verticalScrollbar[0].scrollTop=0)),r._fetching=!1}}),ar={create:{text:\"Add new record\",className:\"k-grid-add\",iconClass:\"k-icon k-i-plus\"},cancel:{text:\"Cancel changes\",className:\"k-grid-cancel-changes\",iconClass:\"k-icon k-i-cancel\"},save:{text:\"Save changes\",className:\"k-grid-save-changes\",iconClass:\"k-icon k-i-check\"},destroy:{text:\"Delete\",className:\"k-grid-delete\",iconClass:\"k-icon k-i-close\"},edit:{text:\"Edit\",className:\"k-grid-edit\",iconClass:\"k-icon k-i-edit\"},update:{text:\"Update\",className:\"k-primary k-grid-update\",iconClass:\"k-icon k-i-check\"},canceledit:{text:\"Cancel\",className:\"k-grid-cancel\",iconClass:\"k-icon k-i-cancel\"},excel:{text:\"Export to Excel\",className:\"k-grid-excel\",iconClass:\"k-icon k-i-file-excel\"},pdf:{text:\"Export to PDF\",className:\"k-grid-pdf\",iconClass:\"k-icon k-i-file-pdf\"}},nr=fe.ui.DataBoundWidget.extend({init:function(t,r,o){var l=this;r=Re(r)?{dataSource:r}:r,ve.fn.init.call(l,t,r),o&&(l._events=o),er=fe.support.isRtl(t),l._element(),l._aria(),l._columns(e.extend(!0,[],l.options.columns)),l._dataSource(),l._tbody(),l._pageable(),l._thead(),l._groupable(),l._toolbar(),l._setContentHeight(),l._templates(),l._navigatable(),l._selectable(),l._clipboard(),l._details(),l._editable(),l._attachCustomCommandsEvent(),l._minScreenSupport(),l.options.autoBind?l.dataSource.fetch():(l._group=l._groups()>0,l._footer()),l.lockedContent&&(l.wrapper.addClass(\"k-grid-lockedcolumns\"),l._resizeHandler=function(){l.resize()},e(window).on(\"resize\"+Ue,l._resizeHandler)),fe.notify(l)},events:[lt,\"dataBinding\",\"cancel\",st,dt,ct,Xe,Ze,tt,et,rt,$e,Qe,Je,Ye,it,ot,Ct,yt,nt,at,St,Tt,xt,\"page\",\"sort\",\"filter\",\"group\",\"groupExpand\",\"groupCollapse\"],setDataSource:function(e){var t=this,r=t.options.scrollable;t.options.dataSource=e,t._dataSource(),t._pageable(),t._thead(),r&&(r.virtual?t.content.find(\">.k-virtual-scrollable-wrap\").scrollLeft(0):t.content.scrollLeft(0)),t.options.groupable&&t._groupable(),t.virtualScrollable&&t.virtualScrollable.setDataSource(t.options.dataSource),t.options.navigatable&&t._navigatable(),t.options.selectable&&t._selectable(),t.options.autoBind&&e.fetch()},options:{name:\"Grid\",columns:[],toolbar:null,autoBind:!0,filterable:!1,scrollable:!0,sortable:!1,selectable:!1,allowCopy:!1,navigatable:!1,pageable:!1,persistSelection:!1,editable:!1,groupable:!1,rowTemplate:\"\",altRowTemplate:\"\",noRecords:!1,dataSource:{},height:null,resizable:!1,reorderable:!1,columnMenu:!1,detailTemplate:null,columnResizeHandleWidth:3,mobile:\"\",messages:{editable:{cancelDelete:Nt,confirmation:Pt,confirmDelete:Vt},commands:{create:ar.create.text,cancel:ar.cancel.text,save:ar.save.text,destroy:ar.destroy.text,edit:ar.edit.text,update:ar.update.text,canceledit:ar.canceledit.text,excel:ar.excel.text,pdf:ar.pdf.text},noRecords:Bt,expandCollapseColumnHeader:\"\"}},destroy:function(){var t,r=this;r._angularItems(\"cleanup\"),r._destroyColumnAttachments(),ve.fn.destroy.call(r),this._navigatableTables=null,r._resizeHandler&&e(window).off(\"resize\"+Ue,r._resizeHandler),r.pager&&r.pager.element&&r.pager.destroy(),r.pager=null,r.groupable&&r.groupable.element&&r.groupable.element.kendoGroupable(\"destroy\"),r.groupable=null,r.options.reorderable&&r.wrapper.data(\"kendoReorderable\").destroy(),r.selectable&&r.selectable.element&&(r.selectable.destroy(),r.clearArea(),r.options.persistSelection===!0&&(r._selectedIds=null),r.copyHandler&&(r.wrapper.off(\"keydown\",r.copyHandler),r.unbind(r.copyHandler)),r.updateClipBoardState&&(r.unbind(r.updateClipBoardState),r.updateClipBoardState=null),r.clearAreaHandler&&r.wrapper.off(\"keyup\",r.clearAreaHandler)),r.selectable=null,r.resizable&&(r.resizable.destroy(),r._resizeUserEvents&&(r._resizeHandleDocumentClickHandler&&e(document).off(\"click\",r._resizeHandleDocumentClickHandler),r._resizeUserEvents.destroy(),r._resizeUserEvents=null),r.resizable=null),r._destroyVirtualScrollable(),r._destroyEditable(),r.dataSource&&(r.dataSource.unbind(lt,r._refreshHandler).unbind(We,r._progressHandler).unbind(qe,r._errorHandler),r._refreshHandler=r._progressHandler=r._errorHandler=null),t=r.element.add(r.wrapper).add(r.table).add(r.thead).add(r.wrapper.find(\">.k-grid-toolbar\")),r.content&&(t=t.add(r.content).add(r.content.find(\">.k-virtual-scrollable-wrap\"))),r.lockedHeader&&r._removeLockedContainers(),r.pane&&r.pane.destroy(),r.minScreenResizeHandler&&e(window).off(\"resize\",r.minScreenResizeHandler),r._draggableInstance&&r._draggableInstance.element&&r._draggableInstance.destroy(),r._draggableInstance=null,t.off(Ue),fe.destroy(r.wrapper),r.rowTemplate=r.altRowTemplate=r.lockedRowTemplate=r.lockedAltRowTemplate=r.detailTemplate=r.footerTemplate=r.groupFooterTemplate=r.lockedGroupFooterTemplate=r.noRecordsTemplate=null,r.scrollables=r.thead=r.tbody=r.element=r.table=r.content=r.footer=r.wrapper=r.lockedTable=r.lockedContent=r.lockedHeader=r.lockedFooter=r._groupableClickHandler=r._groupRows=r._setContentWidthHandler=null},getOptions:function(){var r,o,l,a=this.options;return a.dataSource=null,r=Te(!0,{},this.options),r.columns=fe.deepExtend([],this.columns),o=this.dataSource,l=o.options.data&&o._data,o.options.data=null,r.dataSource=e.extend(!0,{},o.options),o.options.data=l,r.dataSource.data=l,r.dataSource.page=o.page(),r.dataSource.filter=o.filter(),r.dataSource.pageSize=o.pageSize(),r.dataSource.sort=o.sort(),r.dataSource.group=o.group(),r.dataSource.aggregate=o.aggregate(),r.dataSource.transport&&(r.dataSource.transport.dataSource=null),r.pageable&&r.pageable.pageSize&&(r.pageable.pageSize=o.pageSize()),r.$angular=t,r},setOptions:function(e){var t,r,o,l,a=this.getOptions();fe.deepExtend(a,e),e.dataSource||(a.dataSource=this.dataSource),t=this.wrapper,r=this._events,o=this.element,this.destroy(),this.options=null,this._isMobile&&(l=t.closest(fe.roleSelector(\"pane\")).parent(),l.after(t),l.remove(),t.removeClass(\"k-grid-mobile\")),t[0]!==o[0]&&(t.before(o),t.remove()),o.empty(),this.init(o,a,r),this._setEvents(a)},items:function(){return this.lockedContent?this._items(this.tbody).add(this._items(this.lockedTable.children(\"tbody\"))):this._items(this.tbody)},_items:function(t){return t.children().filter(function(){var t=e(this);return!t.hasClass(\"k-grouping-row\")&&!t.hasClass(\"k-detail-row\")&&!t.hasClass(\"k-group-footer\")})},dataItems:function(){var e,t,r,o=fe.ui.DataBoundWidget.fn.dataItems.call(this);if(this.lockedContent){for(e=o.length,t=Array(2*e),r=e;--r>=0;)t[r]=t[r+e]=o[r];o=t}return o},_destroyColumnAttachments:function(){var t=this;t.resizeHandle=null,t.thead&&(this.angular(\"cleanup\",function(){return{elements:t.thead.get()}}),t.thead.add(t.lockedHeader).find(\"th\").each(function(){var t=e(this),r=t.data(\"kendoFilterMenu\"),o=t.data(\"kendoColumnSorter\"),l=t.data(\"kendoColumnMenu\");r&&r.destroy(),o&&o.destroy(),l&&l.destroy()}))},_attachCustomCommandsEvent:function(){var e,t,r,o=this,l=B(o.columns||[]);for(t=0,r=l.length;t .k-grid-content > table\"):t.element.children(\"table\"),r.length||(r=e(\"\").appendTo(t.element))),rr&&r.attr(\"cellspacing\",0),t.table=r.attr(\"role\",t._hasDetails()?\"treegrid\":\"grid\"),t._wrapper()},_createResizeHandle:function(t,r){var o,l,a,n,i,s,d,c=this,u=c.options.columnResizeHandleWidth,p=c.options.scrollable,h=c.resizeHandle,f=this._groups();if(h&&c.lockedContent&&h.data(\"th\")[0]!==r[0]&&(h.off(Ue).remove(),h=null),h||(h=c.resizeHandle=e('
          '),t.append(h)),er)o=r.position().left,p&&(n=r.closest(\".k-grid-header-wrap, .k-grid-header-locked\"),\r\ni=tr.msie?n.scrollLeft():0,s=tr.webkit?n[0].scrollWidth-n[0].offsetWidth-n.scrollLeft():0,d=tr.mozilla?n[0].scrollWidth-n[0].offsetWidth-(n[0].scrollWidth-n[0].offsetWidth-n.scrollLeft()):0,o-=s-d+i);else{for(o=r[0].offsetWidth,l=V(r.closest(\"thead\")).filter(\":visible\"),a=0;a0&&(o+=we(t.find(\".k-group-cell:first\"))*f),c._hasDetails()&&(o+=we(t.find(\".k-hierarchy-cell:first\")))}h.css({top:r.position().top,left:o-u,height:Ce(r),width:3*u}).data(\"th\",r).show(),h.off(\"dblclick\"+Ue).on(\"dblclick\"+Ue,function(){c._autoFitLeafColumn(r.data(\"index\"))})},_positionColumnResizeHandle:function(){var r=this,o=r.lockedHeader?r.lockedHeader.find(\"thead:first\"):e();r.thead.add(o).on(\"mousemove\"+Ue,\"th\",function(o){var l=t!==o.buttons?o.buttons:o.which||o.button,a=e(this);a.hasClass(\"k-group-cell\")||a.hasClass(\"k-hierarchy-cell\")||t!==l&&0!==l||r._createResizeHandle(a.closest(\"div\"),a)})},_resizeHandleDocumentClick:function(t){e(t.target).closest(\".k-column-active\").length||(e(document).off(t),this._hideResizeHandle())},_hideResizeHandle:function(){this.resizeHandle&&(this.resizeHandle.data(\"th\").removeClass(\"k-column-active\"),this.lockedContent&&!this._isMobile?(this.resizeHandle.off(Ue).remove(),this.resizeHandle=null):this.resizeHandle.hide())},_positionColumnResizeHandleTouch:function(){var t=this,r=t.lockedHeader?t.lockedHeader.find(\"thead:first\"):e();t._resizeUserEvents=new fe.UserEvents(r.add(t.thead),{filter:\"th:not(.k-group-cell):not(.k-hierarchy-cell)\",threshold:10,hold:function(r){var o=e(r.target);r.preventDefault(),o.addClass(\"k-column-active\"),t._createResizeHandle(o.closest(\"div\"),o),t._resizeHandleDocumentClickHandler||(t._resizeHandleDocumentClickHandler=ze(t._resizeHandleDocumentClick,t)),e(document).on(\"click\",t._resizeHandleDocumentClickHandler)}})},_resizable:function(){var t,r,o,l,n,i,s,d,c=this,u=c.options,p=this._isMobile,h=fe.support.mobileOS?0:fe.support.scrollbar();u.resizable&&(t=u.scrollable?c.wrapper.find(\".k-grid-header-wrap:first\"):c.wrapper,p?c._positionColumnResizeHandleTouch(t):c._positionColumnResizeHandle(t),c.resizable&&c.resizable.destroy(),c.resizable=new ge.Resizable(t.add(c.lockedHeader),{handle:(u.scrollable?\"\":\">\")+\".k-resize-handle\",hint:function(t){return e('
          ').css({height:Ce(t.data(\"th\"))+c.tbody.attr(\"clientHeight\")})},start:function(t){var h,f,g,m;d=e(t.currentTarget).data(\"th\"),p&&c._hideResizeHandle(),h=d.closest(\"table\"),f=e.inArray(d[0],V(d.closest(\"thead\")).filter(\":visible\")),i=h.parent().hasClass(\"k-grid-header-locked\"),g=i?c.lockedTable:c.table,m=c.footer||e(),c.footer&&c.lockedContent&&(m=c.footer.children(i?\".k-grid-footer-locked\":\".k-grid-footer-wrap\")),a(c.wrapper,\"col-resize\"),s=u.scrollable?h.find(\"col:not(.k-group-col):not(.k-hierarchy-col):eq(\"+f+\")\").add(g.children(\"colgroup\").find(\"col:not(.k-group-col):not(.k-hierarchy-col):eq(\"+f+\")\")).add(m.find(\"colgroup\").find(\"col:not(.k-group-col):not(.k-hierarchy-col):eq(\"+f+\")\")):g.children(\"colgroup\").find(\"col:not(.k-group-col):not(.k-hierarchy-col):eq(\"+f+\")\"),r=t.x.location,o=we(d),l=B(c.columns)[f].minResizableWidth||10,n=we(i?g.children(\"tbody\"):c.tbody),tr.webkit&&c.wrapper.addClass(\"k-grid-column-resizing\")},resize:function(t){var a,p,f,g,m,b,k=er?-1:1,_=o+t.x.location*k-r*k;u.scrollable?(i&&c.lockedFooter?a=c.lockedFooter.children(\"table\"):c.footer&&(a=c.footer.find(\">.k-grid-footer-wrap>table\")),a&&a[0]||(a=e()),p=d.closest(\"table\"),f=i?c.lockedTable:c.table,g=!1,m=c.wrapper.width()-h,b=_,i&&n-o+b>m&&(b=o+(m-n-2*h),b<0&&(b=_),g=!0),b>10&&b>=l&&(s.css(\"width\",b),n&&(b=g?m-2*h:n+t.x.location*k-r*k,f.add(p).add(a).css(\"width\",b),i||(c._footerWidth=b))),c._scrollVirtualWrapperOnColumnResize()):_>10&&_>=l&&s.css(\"width\",_)},resizeend:function(){var e,t,r,l=we(d);a(c.wrapper,\"\"),tr.webkit&&c.wrapper.removeClass(\"k-grid-column-resizing\"),o!=l&&(t=c.lockedHeader?c.lockedHeader.find(\"thead:first tr:first\").add(c.thead.find(\"tr:first\")):d.parent(),r=d.attr(fe.attr(\"index\")),r||(r=t.find(\"th:not(.k-group-cell):not(.k-hierarchy-cell)\").index(d)),e=B(c.columns)[r],e.width=l,c.trigger(Ct,{column:e,oldWidth:o,newWidth:l}),c._applyLockedContainersWidth(),c._syncLockedContentHeight(),c._syncLockedHeaderHeight()),c._hideResizeHandle(),d=null}}))},_draggable:function(){var t,r=this;r.options.reorderable&&(r._draggableInstance&&r._draggableInstance.destroy(),t=r.wrapper.children(\".k-grid-header\"),r._draggableInstance=r.wrapper.kendoDraggable({group:fe.guid(),autoScroll:!0,filter:r.content?\".k-grid-header:first \"+je:\"table:first>.k-grid-header \"+je,dragstart:function(){t.children(\".k-grid-header-wrap\").unbind(\"scroll\"+Ue+\"scrolling\").bind(\"scroll\"+Ue+\"scrolling\",function(e){r.virtualScrollable?r.content.find(\">.k-virtual-scrollable-wrap\").scrollLeft(this.scrollLeft):r.scrollables.not(e.currentTarget).scrollLeft(this.scrollLeft)})},dragend:function(){t.children(\".k-grid-header-wrap\").unbind(\"scroll\"+Ue+\"scrolling\")},drag:function(){r._hideResizeHandle()},hint:function(t){var r=t.attr(fe.attr(\"title\"));return r&&(r=fe.htmlEncode(r)),e('
          ').css({width:t.width(),paddingLeft:t.css(\"paddingLeft\"),paddingRight:t.css(\"paddingRight\"),lineHeight:t.height()+\"px\",paddingTop:t.css(\"paddingTop\"),paddingBottom:t.css(\"paddingBottom\")}).html(r||t.attr(fe.attr(\"field\"))||t.text()).prepend('')}}).data(\"kendoDraggable\"))},_reorderable:function(){var t=this;t.options.reorderable&&(t.wrapper.data(\"kendoReorderable\")&&t.wrapper.data(\"kendoReorderable\").destroy(),t.wrapper.kendoReorderable({draggable:t._draggableInstance,dragOverContainers:function(e,r){var o=x(t.columns);return o[e].lockable!==!1&&H(o,t.columns,e,r)>-1},inSameContainer:function(r){return e(r.source).parent()[0]===e(r.target).parent()[0]&&H(x(t.columns),t.columns,r.sourceIndex,r.targetIndex)>-1},change:function(e){var r=x(t.columns),o=r[e.oldIndex],l=H(r,t.columns,e.oldIndex,e.newIndex);t.trigger(yt,{newIndex:l,oldIndex:Ie(o,r),column:o}),t.reorderColumn(l,o,\"before\"===e.position)}}))},_reorderHeader:function(e,t,r){var o,l,a,s,d=this,c=C(e[0],d.columns),u=C(t,d.columns),p=[];for(o=0;oth.k-header:not(.k-group-cell,.k-hierarchy-cell)\"),a=A(e).length,s=A([t]).length,p.length?(a>0&&0===s?k(e,t,p,d.columns,d.lockedHeader.find(\"thead\"),d.thead,this._groups()):0===a&&s>0&&k(e,t,p,d.columns,d.thead,d.lockedHeader.find(\"thead\"),this._groups()),(t.columns||c.cell-u.cell>1||u.cell-c.cell>1)&&(t=S(d.columns,t,e[0],r),t&&d._reorderHeader(p,t,r))):a!==s&&b(l[c.cell],d.columns,a),n(l,c.cell,u.cell,r,e.length)},_reorderContent:function(t,r,o){var l,a,s,d,c=this,u=e(),p=t[0],h=g(t),f=Ie(p,B(c.columns)),m=Ie(r,B(c.columns)),b=Ie(p,P(c.columns)),k=Ie(r,P(c.columns)),_=A(c.columns).length,v=!!r.locked,w=c.footer||c.wrapper.find(\".k-grid-footer\"),C=l=k;for(r.hidden&&(v?(k=c.lockedTable.find(\"colgroup\"),C=c.lockedHeader.find(\"colgroup\"),l=e(c.lockedFooter).find(\">table>colgroup\")):(k=c.tbody.prev(),C=c.thead.prev(),l=w.find(\".k-grid-footer-wrap\").find(\">table>colgroup\"))),c._hasFilterRow()&&n(c.wrapper.find(\".k-filter-row th:not(.k-group-cell,.k-hierarchy-cell)\"),f,m,o,t.length),n(i(c.lockedHeader,c.thead.prev(),\"col:not(.k-group-col,.k-hierarchy-col)\"),b,C,o,h.length),c.options.scrollable&&n(i(c.lockedTable,c.tbody.prev(),\"col:not(.k-group-col,.k-hierarchy-col)\"),b,k,o,h.length),w&&w.length&&(n(i(c.lockedFooter,w.find(\".k-grid-footer-wrap\"),\">table>colgroup>col:not(.k-group-col,.k-hierarchy-col)\"),b,l,o,h.length),n(w.find(\".k-footer-template>td:not(.k-group-cell,.k-hierarchy-cell)\"),f,m,o,t.length)),a=c.tbody.children(\":not(.k-grouping-row,.k-detail-row)\"),c.lockedTable&&(_>m?_<=f&&re(c.lockedTable.find(\">tbody>tr.k-grouping-row\"),c.table.find(\">tbody>tr.k-grouping-row\"),t.length):_>f&&re(c.table.find(\">tbody>tr.k-grouping-row\"),c.lockedTable.find(\">tbody>tr.k-grouping-row\"),t.length),u=c.lockedTable.find(\">tbody>tr:not(.k-grouping-row,.k-detail-row)\")),s=0,d=a.length;std:not(.k-group-cell,.k-hierarchy-cell)\"),f,m,o,t.length)},_autoFitLeafColumn:function(e){this.autoFitColumn(B(this.columns)[e])},autoFitColumn:function(t){var r,o,l,a,n,i,s,d,c,u,p,g,m,b,k,_,v,w,C,y,S=this,T=S.options,x=S.columns,H=S.lockedHeader?V(S.lockedHeader.find(\">table>thead\")).filter(h).length:0,I=\"col:not(.k-group-col):not(.k-hierarchy-col)\",E=\"td:visible:not(.k-group-cell):not(.k-hierarchy-cell)\";if(t=\"number\"==typeof t?x[t]:Se(t)?He(R(x),function(e){return e===t})[0]:He(R(x),function(e){return e.field===t})[0],t&&f(t)){for(i=t.minResizableWidth,r=Ie(t,B(x)),a=t.locked,l=a?S.lockedHeader.children(\"table\"):S.thead.parent(),o=l.find(\"[data-index='\"+r+\"']\"),c=a?S.lockedTable:S.table,u=S.footer||e(),S.footer&&S.lockedContent&&(u=S.footer.children(a?\".k-grid-footer-locked\":\".k-grid-footer-wrap\")),p=u.find(\"table\").first(),S.lockedHeader&&!a&&(r-=H),g=0;gk&&(k=i),n.width(k),t.width=k,T.scrollable){for(_=l.find(\"col\"),w=0,C=0,y=_.length;C\"+Ve,function(t){var o=e(t.target);\"incell\"===r._editMode()&&o.hasClass(\"k-checkbox-label\")&&o.prev().attr(fe.attr(\"bind\"))&&t.preventDefault()}),l.update!==!1&&r.wrapper.on(Ht+Ue,\"tr:not(.k-grouping-row) > td\",function(t){var l=e(this),a=r.lockedTable&&l.closest(\"table\")[0]===r.lockedTable[0];l.hasClass(\"k-hierarchy-cell\")||l.hasClass(\"k-detail-cell\")||l.hasClass(\"k-group-cell\")||l.hasClass(\"k-edit-cell\")||l.has(\"a.k-grid-delete\").length||l.has(\"button.k-grid-delete\").length||l.closest(\"tbody\")[0]!==r.tbody[0]&&!a||e(t.target).is(\":input\")||(r.editable?r.editable.end()?(o&&e(_e()).blur(),r.closeCell(),r.editCell(l)):r._scrollVirtualWrapper():r.editCell(l))}).on(\"focusin\"+Ue,function(){e.contains(this,_e())||(clearTimeout(r.timer),r.timer=null)}).on(\"focusout\"+Ue,function(){r.timer=setTimeout(a,1)})):l.update!==!1&&(r.wrapper.on(Ht+Ue,\"tbody>tr:not(.k-detail-row,.k-grouping-row):visible a.k-grid-edit\",function(t){t.preventDefault(),r.editRow(e(this).closest(\"tr\"))}),r._isVirtualInlineEditable()&&r.wrapper.on(\"focusout\"+Ue,\"tr:not(.k-grouping-row) > td\",function(){r.editable&&!r.editable.end()&&r._scrollVirtualWrapper()})),l.destroy!==!1?r.wrapper.on(Ht+Ue,\"tbody>tr:not(.k-detail-row,.k-grouping-row):visible .k-grid-delete\",function(t){t.preventDefault(),t.stopPropagation(),r.removeRow(e(this).closest(\"tr\"))}):r.wrapper.on(Ht+Ue,\"tbody>tr:not(.k-detail-row,.k-grouping-row):visible button.k-grid-delete\",function(e){e.stopPropagation(),r._confirmation()||e.preventDefault()}))},editCell:function(t){var r,o,l,a;if(t=e(t),r=this,o=B(r.columns)[r.cellIndex(t)],l=r._modelForContainer(t),r.closeCell(),l&&se(o,l)&&!o.command){if(r.trigger(Qe,{model:l}))return;r._attachModelChange(l),r._editContainer=t,r._shouldClearEditableState&&r._clearEditableState(),r.editable=t.addClass(\"k-edit-cell\").kendoEditable({fields:{field:o.field,format:o.format,editor:o.editor,values:o.values},model:l,target:r,change:function(e){r.trigger(Je,{values:e.values,container:t,model:l})&&e.preventDefault()},skipFocus:!(!r._isVirtualIncellEditable()||!r._editableState)}).data(\"kendoEditable\"),a=t.parent().addClass(\"k-grid-edit-row\"),r.lockedContent&&ae(a[0],r._relatedRow(a).addClass(\"k-grid-edit-row\")[0]),r.trigger($e,{container:t,model:l})}},_adjustLockedHorizontalScrollBar:function(){var e=this.table,t=e.parent(),r=e[0].offsetWidth>t[0].clientWidth?fe.support.scrollbar():0;this.lockedContent.height(t.height()-r)},_syncLockedContentHeight:function(){this.lockedTable&&(this.touchScroller||this._adjustLockedHorizontalScrollBar(),this._adjustRowsHeight(this.table,this.lockedTable))},_syncLockedHeaderHeight:function(){var e,t;this.lockedHeader&&(e=this.lockedHeader.children(\"table\"),t=this.thead.parent(),this._adjustRowsHeight(e,t),le(e,t))},_syncLockedFooterHeight:function(){this.lockedFooter&&this.footer&&this.footer.length&&this._adjustRowsHeight(this.lockedFooter.children(\"table\"),this.footer.find(\".k-grid-footer-wrap > table\"))},_destroyEditable:function(){var e=this,t=function(){if(e.editable){var t=e.editView?e.editView.element:e._editContainer;t&&(t.off(Ht+Ue,\"a.k-grid-cancel\",e._editCancelClickHandler),t.off(Ht+Ue,\"a.k-grid-update\",e._editUpdateClickHandler)),e._detachModelChange(),e.editable.destroy(),e.editable=null,e._editContainer=null,e._destroyEditView()}};e.editable&&(\"popup\"!==e._editMode()||e._isMobile?t():e._editContainer.data(\"kendoWindow\").bind(\"deactivate\",t).close()),e._actionSheet&&(e._actionSheet.destroy(),e._actionSheet=null)},_destroyEditView:function(){this.editView&&(this.editView.purge(),this.editView=null,this.pane.navigate(\"\"))},_attachModelChange:function(e){var t=this;t._modelChangeHandler=function(e){t._modelChange({field:e.field,model:this})},e.bind(\"change\",t._modelChangeHandler)},_detachModelChange:function(){var e=this,t=e._editContainer,r=e._modelForContainer(t);r&&r.unbind(lt,e._modelChangeHandler)},closeCell:function(e){var t,r,o,l=this,a=l._editContainer;a&&(o=l._modelForContainer(a),e&&l.trigger(\"cancel\",{container:a,model:o})||(l.trigger(ot,{type:e?\"cancel\":\"save\",model:o,container:a}),a.removeClass(\"k-edit-cell\"),t=B(l.columns)[l.cellIndex(a)],r=a.parent().removeClass(\"k-grid-edit-row\"),l.lockedContent&&l._relatedRow(r).removeClass(\"k-grid-edit-row\"),l._destroyEditable(),l._displayCell(a,t,o),l._shouldClearEditableState&&l._clearEditableState(),l.trigger(\"itemChange\",{item:r,data:o,ns:ge}),l.lockedContent&&ae(r.css(\"height\",\"\")[0],l._relatedRow(r).css(\"height\",\"\")[0])))},_displayCell:function(e,t,r){var o=this,l={storage:{},count:0},a=Te({},fe.Template,o.options.templateSettings),n=fe.template(o._cellTmpl(t,l),a);l.count>0&&(n=ze(n,l.storage)),e.empty().html(n(r)),o.angular(\"compile\",function(){return{elements:e,data:[{dataItem:r}]}})},removeRow:function(e){this._confirmation(e)&&this._removeRow(e)},_removeRow:function(t){var r,o,l,a=this,n=a._editMode();\"incell\"!==n&&a.cancelRow(),t=e(t),a.lockedContent&&(t=t.add(a._relatedRow(t))),t=t.hide(),r=a._modelForContainer(t),r&&!a.trigger(Ye,{row:t,model:r})?(a.options.persistSelection&&(o=a.dataSource.options.schema.model.id,l=r[o],delete a._selectedIds[l]),a.dataSource.remove(r),\"inline\"!==n&&\"popup\"!==n||a.dataSource.sync()):\"incell\"===n&&a._destroyEditable()},_editMode:function(){var e=\"incell\",t=this.options.editable;return t!==!0&&(e=\"string\"==typeof t?t:t.mode||e),e},editRow:function(t){var r,o,l,a=this;t instanceof be?r=t:(t=e(t),r=a._modelForContainer(t)),o=a._editMode(),a.cancelRow(),r&&(t=a.tbody.children(\"[\"+fe.attr(\"uid\")+\"=\"+r.uid+\"]\"),a._attachModelChange(r),\"popup\"===o?a._createPopupEditor(r):\"inline\"===o?a._createInlineEditor(t,r):\"incell\"===o&&e(t).children(Me).each(function(){var t=e(this),o=B(a.columns)[a.cellIndex(t)];if(r=a._modelForContainer(t),r&&(!r.editable||r.editable(o.field))&&o.field&&!o.selectable)return a.editCell(t),!1}),l=a.editView?a.editView.element:a._editContainer,l&&(this._editCancelClickHandler||(this._editCancelClickHandler=ze(this._editCancelClick,this)),l.on(Ht+Ue,\"a.k-grid-cancel\",this._editCancelClickHandler),this._editUpdateClickHandler||(this._editUpdateClickHandler=ze(this._editUpdateClick,this)),l.on(Ht+Ue,\"a.k-grid-update\",this._editUpdateClickHandler)))},_editUpdateClick:function(e){e.preventDefault(),e.stopPropagation(),this.saveRow()},_editCancelClick:function(t){var r,o=this,l=o.options.navigatable,a=o.editable.options.model,n=o.editView?o.editView.element:o._editContainer;t.preventDefault(),t.stopPropagation(),o.trigger(\"cancel\",{container:n,model:a})||(r=o.items().index(e(o.current()).parent()),o.cancelRow(),l&&(o._setCurrent(o.items().eq(r).children().filter(Ve).first()),ie(o.table,!0)))},_createPopupEditor:function(r){var o,l,a,n,i,s,d,c,u,p,h,f,g,m=this,b=\"
          ',k=[],_=B(m.columns),v=m.options.editable,w=v.template,C=Se(v)?v.window:{},y=Te({},fe.Template,m.options.templateSettings);if(!m.trigger(Qe,{model:r})){if(C=C||{},w)for(typeof w===zt&&(w=window.unescape(w)),b+=fe.template(w,y)(r),a=0,n=_.length;a
          \",se(o,r)?(k.push({field:o.field,format:o.format,editor:o.editor,values:o.values}),b+=\"
          '):(f={storage:{},count:0},i=fe.template(m._cellTmpl(o,f),y),f.count>0&&(i=ze(i,f.storage)),b+='
          '+i(r)+\"
          \")));l&&Se(l)&&(Se(l.text)&&(s=l.text.update,d=l.text.cancel),Se(l.iconClass)&&(c=l.iconClass.update,u=l.iconClass.cancel),l.attr&&(h=l.attr)),m._isMobile?(b+=\"
          \",m.editView=m.pane.append(\"
          '+m._createButton({name:\"update\",text:s,attr:h})+(C.title||\"Edit\")+m._createButton({name:\"canceledit\",text:d,attr:h})+\"
          \"+b+\"
          \"),g=m._editContainer=m.editView.element.find(\".k-popup-edit-form\")):(b+='
          ',b+=m._createButton({name:\"update\",text:s,attr:h,iconClass:c})+m._createButton({name:\"canceledit\",text:d,attr:h,iconClass:u}),b+=\"
          \",g=m._editContainer=e(b).appendTo(m.wrapper).eq(0).kendoWindow(Te({modal:!0,resizable:!1,draggable:!0,title:\"Edit\",visible:!1,close:function(o){if(o.userTriggered){if(o.sender.element.focus(),m.trigger(\"cancel\",{container:g,model:r}))return o.preventDefault(),t;var l=m.items().index(e(m.current()).parent());m.cancelRow(),m.options.navigatable&&(m._setCurrent(m.items().eq(l).children().filter(Ve).first()),ie(m.table,!0))}}},C))),m.editable=m._editContainer.kendoEditable({fields:k,model:r,clearContainer:!1,target:m}).data(\"kendoEditable\"),m._isMobile&&g.find(\"input[type=checkbox],input[type=radio]\").parent(\".k-edit-field\").addClass(\"k-check\").prev(\".k-edit-label\").addClass(\"k-check\").click(function(){e(this).next().children(\"input\").click()}),m._openPopUpEditor(),m.trigger($e,{container:g,model:r})}},_openPopUpEditor:function(){this._isMobile?this.pane.navigate(this.editView,this._editAnimation):this._editContainer.data(\"kendoWindow\").center().open()},_createInlineEditor:function(t,r){var o,l,a,n=this,i=[];n.trigger(Qe,{model:r})||(n.lockedContent&&(t=t.add(n._relatedRow(t))),t.children(\":not(.k-group-cell,.k-hierarchy-cell)\").each(function(){if(l=e(this),o=B(n.columns)[n.cellIndex(l)],!o.command&&se(o,r))i.push({field:o.field,format:o.format,editor:o.editor,values:o.values}),l.attr(fe.attr(\"container-for\"),o.field),l.empty();else if(o.command&&(a=ne(o.command,\"edit\"))){l.empty();var t,s,d,c,u;Se(a)&&(Se(a.text)&&(t=a.text.update,s=a.text.cancel),Se(a.iconClass)&&(d=a.iconClass.update,c=a.iconClass.cancel),a.attr&&(u=a.attr)),e(n._createButton({name:\"update\",text:t,attr:u,iconClass:d})+n._createButton({name:\"canceledit\",text:s,attr:u,iconClass:c})).appendTo(l)}}),n._editContainer=t,n._editContainer.addClass(\"k-grid-edit-row\"),n._shouldClearEditableState&&n._clearEditableState(),n.editable=new fe.ui.Editable(n._editContainer,{target:n,fields:i,model:r,skipFocus:!!(n._isVirtualInlineEditable()&&n._editableState&&n._editableState.field),clearContainer:!1}),t.length>1&&(ae(t[0],t[1]),n._applyLockedContainersWidth()),n.trigger($e,{container:t,model:r}))},cancelRow:function(e){var t,r=this,o=r._editContainer,l=r.virtualScrollable,a=l&&l._isScrolledToBottom();if(o){if(t=r._modelForContainer(o),!t||e&&r.trigger(\"cancel\",{container:o,model:t}))return;r._destroyEditable(),r.dataSource.cancelChanges(t),r._isVirtualEditable()&&a&&r._restoreVirtualView(),r._clearEditableState(),r._displayRow(\"popup\"!==r._editMode()?o:r.tbody.find(\"[\"+fe.attr(\"uid\")+\"=\"+t.uid+\"]\"))}},saveRow:function(){var t,r=this,o=this._editContainer,l=this._modelForContainer(o),a=e.Deferred();return o&&this.editable?(t=r.editable&&r.editable.end(),!t||this.trigger(Je,{container:o,model:l})?(t||r._scrollVirtualWrapper(),a.reject().promise()):(r._clearEditableState(),this.dataSource.sync())):a.resolve().promise()},_displayRow:function(t){var r,o,l,a,n,i=this,s=i._modelForContainer(t),d=t.hasClass(\"k-state-selected\"),c=t.hasClass(\"k-alt\");s&&(i.lockedContent&&(r=e((c?i.lockedAltRowTemplate:i.lockedRowTemplate)(s)),i._relatedRow(t.last()).replaceWith(r)),i.angular(\"cleanup\",function(){return{elements:t.get()}}),o=e((c?i.altRowTemplate:i.rowTemplate)(s)),t.is(\":visible\")||o.hide(),t.replaceWith(o),i.trigger(\"itemChange\",{item:o,data:s,ns:ge}),r&&r.length&&i.trigger(\"itemChange\",{item:r,data:s,ns:ge}),a=o,n=[{dataItem:s}],r&&r.length&&(a=o.add(r),n.push({dataItem:s})),i.angular(\"compile\",function(){return{elements:a.get(),data:n}}),d&&(i.options.selectable||i._checkBoxSelection)&&i.select(o.add(r)),r&&ae(o[0],r[0]),l=o.next(),l.hasClass(\"k-detail-row\")&&l.is(\":visible\")&&o.find(\".k-hierarchy-cell .k-icon\").removeClass(\"k-i-expand\").addClass(\"k-i-collapse\"))},_showMessage:function(t,r){var o,l,a,n=this;return n._isMobile?(o=fe.template(''),l=e(o(t)).appendTo(n.view.element),a=n._actionSheet=new fe.mobile.ui.ActionSheet(l,{cancel:t.cancelDelete,cancelTemplate:'
        • #:cancel#
        • ',close:function(){this.destroy()},command:function(t){var o=e(t.currentTarget).parent();o.hasClass(\"km-actionsheet-cancel\")||n._removeRow(r)},popup:n._actionSheetPopupOptions}),a.open(r),!1):window.confirm(t.title)},_confirmation:function(e){var t=this,r=t.options.editable,o=r===!0||typeof r===zt?t.options.messages.editable.confirmation:r.confirmation;return Se(r)&&typeof r.mode===zt&&typeof o!==Et&&typeof o!==zt&&o!==!1&&(o=t.options.messages.editable.confirmation),o===!1||null==o||(typeof o===Et&&(o=o(t._modelForContainer(e))),t._showMessage({confirmDelete:r.confirmDelete||t.options.messages.editable.confirmDelete,cancelDelete:r.cancelDelete||t.options.messages.editable.cancelDelete,title:o===!0?t.options.messages.editable.confirmation:o},e))},cancelChanges:function(){var e=this;e.dataSource.cancelChanges(),e._isVirtualEditable()&&e._virtualPageToTop(function(){e.virtualScrollable.scrollToTop()})},saveChanges:function(){var e=this,t=e.editable&&e.editable.end();!t&&e.editable||e.trigger(it)?t||e._scrollVirtualWrapper():e.dataSource.sync()},addRow:function(){var e,t,r=this,o=r.dataSource,l=r._editMode(),a=r.options.editable.createAt||\"\",n=o.pageSize(),i=o.view()||[],s=a.toLowerCase()===Dt,d=r._isVirtualEditable();r.editable&&r.editable.end()||!r.editable?(\"incell\"!=l&&r.cancelRow(),e=o.indexOf(i[0]),s&&(e+=i.length,n&&!o.options.serverPaging&&n<=i.length&&(e-=1)),e<0&&(e=o.page()>o.totalPages()?(o.page()-1)*n:0),r.options.navigatable&&\"incell\"==l&&r._removeCurrent(),d?r._virtualAddRow():(t=o.insert(e,{}),r._editModel(t))):r._scrollVirtualWrapper()},_editModel:function(e){var t,r,o,l,a=this,n=a.options.editable.createAt||\"\",i=a._editMode();e&&(t=e.uid,r=a.lockedContent?a.lockedTable:a.table,o=r.find(\"tr[\"+fe.attr(\"uid\")+\"=\"+t+\"]\"),l=o.children(\"td:not(.k-group-cell,.k-hierarchy-cell)\").eq(a._firstEditableColumnIndex(o)),\"inline\"===i&&o.length?a.editRow(o):\"popup\"===i?a.editRow(e):l.length&&a.editCell(l),\"bottom\"==n.toLowerCase()&&a.lockedContent&&(a.lockedContent[0].scrollTop=a.content[0].scrollTop=a.table[0].offsetHeight))},_virtualAddRow:function(){var e=this,t=(e.options.editable.createAt||\"\").toLowerCase()===Dt;e._clearEditableState(),t?e._virtualAddRowAtBottom():e._virtualAddRowAtTop()},_virtualAddRowAtTop:function(){var e,t=this,r=t.dataSource,o=t.virtualScrollable;1===r.page()?(e=r.insert(0,{}),t._editModel(e),o.scrollToTop()):t._virtualPageToTop(function(){e=r.insert(0,{}),t._editModel(e),o.scrollToTop()})},_virtualAddRowAtBottom:function(){var e,t=this,r=t.dataSource,o=t.virtualScrollable,l=r.total();r.at(l-1)instanceof be?(e=r.insert(l,{}),t._virtualPageToBottom(function(){t._editModel(e),o.scrollToBottom()})):t._virtualPageToBottom(function(){e=r.insert(l,{}),t._editModel(e),o.scrollToBottom()})},_virtualPageToTop:function(e){var t=this;t._virtualPage(0,t.dataSource.take(),function(){e()})},_virtualPageToBottom:function(e){var t=this,r=t.dataSource,o=r.take(),l=r.total(),a=l>o?l-o:0;t._virtualPage(a,o,function(){e()})},_virtualPage:function(e,t,r){var o=this;o._isVirtualEditable()&&(o.virtualScrollable._preventScroll=!0,o.virtualScrollable._page(e,t,r))},_restoreVirtualView:function(){var e=this,t=e.dataSource,r=e.virtualScrollable,o=r.verticalScrollbar,l=r.wrapper,a=t.take(),n=t.total(),i=t.currentRangeStart(),s=n>=a?Ae.min(i,n-a):i,d=r.itemHeight,c=o.scrollTop()/d;e._virtualPage(s,a,function(){var e=r.itemHeight,t=c*e;r._isScrolledToBottom()?r.scrollToBottom():(r._preventScroll=o.scrollTop()!==t,o.scrollTop(t),l.scrollTop(o.scrollTop()-s*e))})},_firstEditableColumnIndex:function(e){var t,r,o,l=this,a=B(l.columns),n=l._modelForContainer(e);for(r=0,o=a.length;r').html(l({})).prependTo(o),r.angular(\"compile\",function(){return{elements:t.get()}})),a&&a.create!==!1&&t.on(Ht+Ue,\".k-grid-add\",function(e){e.preventDefault(),r.addRow()}).on(Ht+Ue,\".k-grid-cancel-changes\",function(e){e.preventDefault(),r.cancelChanges()}).on(Ht+Ue,\".k-grid-save-changes\",function(e){e.preventDefault(),r.saveChanges()}),t.on(Ht+Ue,\".k-grid-excel\",function(e){e.preventDefault(),r.saveAsExcel()}),t.on(Ht+Ue,\".k-grid-pdf\",function(e){e.preventDefault(),r.saveAsPDF()}))},_toolbarTmpl:function(e){var t,r,o=this,l=\"\";if(Re(e))for(t=0,r=e.length;t0||this.wrapper.find(\".k-grid-footer\").length>0},_groupable:function(){var t=this;t._groupableClickHandler?t.table.add(t.lockedTable).off(Ht+Ue,t._groupableClickHandler):t._groupableClickHandler=function(r){var o=e(this),l=o.closest(\"tr\"),a=t._groupRows?t._groupRows[t.wrapper.find(\".k-grouping-row\").index(l)]:{};o.hasClass(\"k-i-collapse\")?t.trigger(\"groupCollapse\",{group:a,element:l})||t.collapseGroup(l):t.trigger(\"groupExpand\",{group:a,element:l})||t.expandGroup(l),r.preventDefault(),r.stopPropagation()},t._isLocked()?t.lockedTable.on(Ht+Ue,\".k-grouping-row .k-i-expand, .k-grouping-row .k-i-collapse\",t._groupableClickHandler):t.table.on(Ht+Ue,\".k-grouping-row .k-i-expand, .k-grouping-row .k-i-collapse\",t._groupableClickHandler),t._attachGroupable()},_attachGroupable:function(){var t=this,r=t.wrapper,o=t.options.groupable,l=je+\"[\"+fe.attr(\"field\")+\"]\",a=t.content?\".k-grid-header:first \"+l:\"table:first>.k-grid-header \"+l;o&&o.enabled!==!1&&(r.has(\"div.k-grouping-header\")[0]||e(\"
           
          \").addClass(\"k-grouping-header\").prependTo(r),t.groupable&&t.groupable.destroy(),t.groupable=new ge.Groupable(r,Te({},o,{draggable:t._draggableInstance,groupContainer:\">div.k-grouping-header\",dataSource:t.dataSource,draggableElements:a,filter:a,allowDrag:t.options.reorderable,change:function(e){t.trigger(\"group\",{groups:e.groups})?e.preventDefault():(t._clearEditableState(),t.dataSource.options.endless&&(t.dataSource.options.endless=null,t._endlessPageSize=t.dataSource.options.pageSize,t.dataSource.pageSize(t.dataSource.options.pageSize)))}})))},_continuousItems:function(t,r){var o,l,a,n,i,s,d,c;if(this.lockedContent){for(o=this,l=o.table.add(o.lockedTable),a=e(t,l[0]),n=e(t,l[1]),i=r?A(o.columns).length:1,s=r?o.columns.length-i:1,d=[],c=0;c\"+(o?Pe:\"tbody>tr\"+i),n.selectable=new fe.ui.Selectable(l,{filter:a,aria:!0,multiple:r,change:function(){n.options.persistSelection&&!o&&n._persistSelectedRows(),n.trigger(lt)},useAllItems:s&&r&&o,relatedTarget:function(t){var r,l,a,i;if(!o&&s){for(l=e(),a=0,i=t.length;a-1&&!i.is(\".k-edit-cell,.k-header\")&&i.parent().is(\":not(.k-grouping-row,.k-detail-row,.k-group-footer)\")){if(a.preventDefault(),a.stopPropagation(),i=o?i:i.parent(),s&&!o&&(i=i.add(n._relatedRow(i))),r)if(a.ctrlKey){if(i.hasClass(kt))return i.removeClass(kt),n.trigger(lt),t}else n.selectable.clear();else n.selectable.clear();o||(n.selectable._lastActive=i),n.selectable.value(i)}else!o&&(a.shiftKey&&a.keyCode==ye.LEFT||a.shiftKey&&a.keyCode==ye.RIGHT||a.shiftKey&&a.keyCode==ye.UP||a.shiftKey&&a.keyCode==ye.DOWN||a.keyCode===ye.SPACEBAR&&a.shiftKey)&&(a.preventDefault(),a.stopPropagation(),i=i.parent(),s&&(i=i.add(n._relatedRow(i))),r?(n.selectable._lastActive||(n.selectable._lastActive=i),n.selectable.selectRange(n.selectable._firstSelectee(),i)):(n.selectable.clear(),n.selectable.value(i)))}))},_clipboard:function(){var e,t=this.options,r=t.selectable;r&&t.allowCopy&&(e=this,t.navigatable||e.table.add(e.lockedTable).attr(\"tabindex\",0).on(\"mousedown\"+Ue+\" keydown\"+Ue,\".k-detail-cell\",function(e){e.target!==e.currentTarget&&e.stopImmediatePropagation()}).on(\"mousedown\"+Ue,Be+\">\"+Ve,ze(ce,e)),e.copyHandler=ze(e.copySelection,e),e.updateClipBoardState=function(){e.areaClipBoard&&e.areaClipBoard.val(e.getTSV()).focus().select()},e.bind(\"change\",e.updateClipBoardState),e.wrapper.on(\"keydown\",e.copyHandler),e.clearAreaHandler=ze(e.clearArea,e),e.wrapper.on(\"keyup\",e.clearAreaHandler))},copySelection:function(t){t instanceof jQuery.Event&&!t.ctrlKey&&!t.metaKey||e(t.target).is(\"input:visible,textarea:visible\")||window.getSelection&&\"\"+window.getSelection()||document.selection&&document.selection.createRange().text||(this.areaClipBoard||(this.areaClipBoard=e(\"