{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-timestamp/voyage-vessel-event-timestamp.js","webpack:///./src/assets/images/status/observe.png","webpack:///./src/Scripts/components/vessel-settings/general-settings/general-settings.html","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-name/vessel-access-group-name.html","webpack:///./src/assets/images/widgets/performance-status-widget-illustration-1.png","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates.html","webpack:///./src/Scripts/bindings/fileUpload.js","webpack:///./src/Scripts/bindings/draggableFile.js","webpack:///./src/Scripts/viewModels/vesselFiles/file.js","webpack:///./src/Scripts/viewModels/vesselFiles/folder.js","webpack:///./src/Scripts/components/vessel-files/vessel-files.js","webpack:///./src/store/index.ts","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list-item/departure-list-item.html","webpack:///./src/components/widgets/TimeSpanDialog.vue?06ba","webpack:///./src/components/widgets/TimeSpanDialog.vue","webpack:///./src/components/widgets/TimeSpanDialog.vue?d98a","webpack:///./src/components/widgets/TimeSpanDialog.vue?35c8","webpack:///./src/Scripts/viewModels/user/user.js","webpack:///./src/Scripts/viewModels/user/userList.js","webpack:///./src/Scripts/components/profile/users/users.js","webpack:///./src/utilities/utilities.ts","webpack:///./src/Scripts/clients/emission-report-vessel-events-client.js","webpack:///./src/Scripts/clients/performance-status-widget-client.js","webpack:///./src/store/clients/PerformanceStatusWidget.module.ts","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-soundings.html","webpack:///./src/Scripts/bindings/vesselFilesSort.js","webpack:///./src/Scripts/utilities/htmlencode-helper.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels.js","webpack:///./src/Scripts/utilities/log-variable-helper.js","webpack:///./src/services/AuthService.ts","webpack:///./src/store/clients/Auth.module.ts","webpack:///./src/Scripts/components/long-trend-config/long-trend-config.js","webpack:///./src/Scripts/components/vessel-administration/vessel-admin-table/vessel-admin-table.html","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operations.html","webpack:///./src/Scripts/clients/incidents-client.js","webpack:///./src/Scripts/clients/notification-conditions-client.js","webpack:///./src/store/clients/Incidents.module.ts","webpack:///./src/Scripts/clients/cargo-units-client.js","webpack:///./src/Scripts/clients/log-data-client.js","webpack:///./src/Scripts/clients/vessel-events-client.js","webpack:///./src/assets/images/loading.gif","webpack:///./src/Scripts/viewModels/emission-report/voyageVesselEventCargoDetail.js","webpack:///./src/Scripts/clients/vessels-administrations-client.js","webpack:///./src/Scripts/components/curves/curve-prediction-table/curve-prediction-table.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details/compare-vessels-long-trends-details.html","webpack:///./src/store/clients/VesselAccessGroups.module.ts","webpack:///./src/assets/images/kognifai/help/help-preset.webp","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operation/ft-operation.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-chart/voyage-chart.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-distance/voyage-vessel-event-distance.html","webpack:///./src/store/clients/LogVariables.module.ts","webpack:///./src/Scripts/clients/dashboard-client.js","webpack:///./src/store/clients/Dashboard.module.ts","webpack:///./src/Scripts/clients/notification-channels-client.js","webpack:///./src/store/clients/Channels.module.ts","webpack:///./src/Scripts/components/data-import/import-details/import-details.html","webpack:///./src/Scripts/utilities/string-helper.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumptions.html","webpack:///./src/assets/images/widgets/fouling-overview-widget-illustration.png","webpack:///./src/store/clients/MapWidget.module.ts","webpack:///./src/assets/images/eventicon/info-ikon.png","webpack:///./src/components/Sidebar.vue?e24c","webpack:///./src/Scripts/components/vessel-administration/assign-vessel/assign-vessel.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table/compare-vessels-long-trends-details-table.html","webpack:///./src/Scripts/clients/cii-client.js","webpack:///./src/store/clients/Cii.module.ts","webpack:///./src/Scripts/components/company/company-manager/company-manager.html","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-sounding/ft-sounding.html","webpack:///./src/assets/images/vessels/red.png","webpack:///./src/Scripts/components/vessel-performance-status-item/vessel-performance-status-item.html","webpack:///./src/Scripts/utilities/url-helper.js","webpack:///./src/Scripts/clients/long-trends-client.js","webpack:///./src/Scripts/components/profile/user-api-key/user-api-key.html","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meters.html","webpack:///./src/store/clients/LongTrendPeriod.module.ts","webpack:///./src/Scripts/clients/users-client.js","webpack:///./src/Scripts/viewModels/taxonomy/taxon.js","webpack:///./src/Scripts/viewModels/taxonomy/category.js","webpack:///./src/Scripts/components/vessel-groups/vessel-groups.html","webpack:///./src/Scripts/components/profile/users/users.html","webpack:///./src/Scripts/clients/benefits-client.js","webpack:///./src/store/clients/Benefits.module.ts","webpack:///./src/store/clients/Announcement.module.ts","webpack:///./src/Scripts/components/curves/tree-select/tree-select.html","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption-create/fm-fuel-consumption-create.html","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operation/fm-operation.html","webpack:///./src/Scripts/components/graph-config-time-period/graph-config-time-period.html","webpack:///./src/Scripts/components/fuel-tank-management/fuel-tank-management.html","webpack:///./src/Scripts/components/curves/curves-help/curves-help.html","webpack:///./src/Scripts/clients/import-status-client.js","webpack:///./src/Scripts/clients/import-queue-client.js","webpack:///./src/Scripts/viewModels/dataImport/importEntity.js","webpack:///./src/Scripts/components/data-import/import-status/import-status.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-row/compare-vessels-long-trends-details-table-row.html","webpack:///./src/Scripts/components/curves/curves-about/curves-about.html","webpack:///./src/Scripts/clients/vessel-groups-client.js","webpack:///./src/assets/images/kognifai/help/help-time-span.webp","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/store/clients/Fouling.module.ts","webpack:///./src/Scripts/utilities/diagnostic-types-helper.js","webpack:///./src/Scripts/components/taxonomy/taxonomy.js","webpack:///./src/Scripts/components/benefits-table/benefits-table.html","webpack:///./src/Scripts/clients/taxonomy-client.js","webpack:///./src/store/clients/Taxonomy.module.ts","webpack:///./src/assets/images/widgets/graph-widget-illustration-1.png","webpack:///./src/store/clients/Snackbar.module.ts","webpack:///./src/App.vue?42dd","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-voyage/voyage-vessel-event-voyage.js","webpack:///./src/Scripts/viewModels/vessel-access-groups/vesselAccessGroup.js","webpack:///./src/Scripts/viewModels/vessel-access-groups/vesselAccessGroupList.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group.js","webpack:///./src/Scripts/components/vessel-event-icon/vessel-event-icon.html","webpack:///./src/components/VesselTitle.vue?feef","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list.html","webpack:///./src/Scripts/components/curves/cp-module-table/cp-module-table.html","webpack:///./src/Scripts/components/emission-report/emission-report.js","webpack:///./src/Scripts/clients/vessel-event-cargo-details-client.js","webpack:///./src/Scripts/components/graph-config-data-interval/graph-config-data-interval.html","webpack:///./src/Scripts/clients/notification-widget-client.js","webpack:///./src/store/clients/NotificationWidget.module.ts","webpack:///./src/Scripts/clients/emission-report-client.js","webpack:///./src/components/widgets/DateTimeRangePicker.vue?ee5c","webpack:///./src/Scripts/components/curves/curve-edit-graph/curve-edit-graph.html","webpack:///./src/Scripts/clients/logging-history-configurations-client.js","webpack:///./src/App.vue?db16","webpack:///./src/Scripts/components/performance-status-icon/performance-status-icon.html","webpack:///./src/Scripts/components/curves/curves-frame/curves-frame.js","webpack:///./src/Scripts/components/vessel-notes/vessel-notes.js","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates-edit/geo-coordinates-edit.html","webpack:///./src/Scripts/components/vessel-event/vessel-event.html","webpack:///./src/Scripts/clients/fouling-overview-widget-client.js","webpack:///./src/store/clients/FoulingOverviewWidget.module.ts","webpack:///./src/Scripts/components/emission-report/voyages-chart/voyages-chart.html","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-type/fuel-type.html","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-types.html","webpack:///./src/assets/images/status/notok.png","webpack:///./src/Scripts/clients/vessel-types-client.js","webpack:///./src/Scripts/components/component-loading/component-loading.html","webpack:///./src/Scripts/clients/cii-widget-client.js","webpack:///./src/store/clients/CiiWidget.module.ts","webpack:///./src/Scripts/components/data-pie/data-pie.html","webpack:///./src/Scripts/viewModels/curves/curve.js","webpack:///./src/Scripts/components/tooltip/tooltip.html","webpack:///./src/utilities/leaflet-marker-booster.js","webpack:///./src/Scripts/components/company/company-table/company-table.html","webpack:///./src/Scripts/app/config-emission-report.js","webpack:///./src/assets/images/eventicon sync ^\\.\\/.*\\-ikon\\.png$","webpack:///./src/Scripts/clients/ISO19030-client.js","webpack:///./src/store/clients/ISO19030.module.ts","webpack:///./src/Scripts/utilities/number-helper.js","webpack:///./src/assets/images/widgets/table-widget-illustration-1.png","webpack:///./src/assets/images/vessels/gray.png","webpack:///./src/Scripts/components/vessel-administration/vessels-menu/vessels-menu.html","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption/fm-fuel-consumption.html","webpack:///./src/Scripts/components/vessel-settings/veracity-key/veracity-key.html","webpack:///./src/Scripts/components/feature-not-available/feature-not-available.html","webpack:///./src/Scripts/components/emission-report/emission-report.html","webpack:///./src/Scripts/components/vessel-administration/vessel-admin/vessel-admin.js","webpack:///./src/assets/images/status/benchmarking.png","webpack:///./src/Scripts/components/long-trend-config/long-trend-config.html","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-editor/vessel-access-group-editor.html","webpack:///./src/store/clients/Users.module.ts","webpack:///./src/Scripts/clients/fm-fuel-consumptions-client.js","webpack:///./src/Scripts/clients/curves-client.js","webpack:///./src/Scripts/components/data-import/import-status-table/import-status-table.html","webpack:///./src/store/clients/VesselsAdmin.module.ts","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meter/flow-meter.html","webpack:///./src/Scripts/clients/companies-client.js","webpack:///./src/Scripts/components/vessel-administration/edit-vessel/edit-vessel.html","webpack:///./src/Scripts/components/vessel-settings/vessel-settings.html","webpack:///./src/assets/images/gps-up.png","webpack:///./src/assets/images/kyma-logos/kymalogo-only-blue.svg","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumption/ft-fuel-consumption.html","webpack:///./src/Scripts/utilities/performance-status-helper.js","webpack:///./src/Scripts/components/company/company-form/company-form.html","webpack:///./src/components/Announcement/ShowAnnouncement.vue?b30a","webpack:///./src/assets/images/vessels/green.png","webpack:///./src/store/clients/Companies.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-location/voyage-vessel-event-location.html","webpack:///./src/assets/images/kognifai/help/help-starting-page.webp","webpack:///./src/Scripts/clients/shapoli-client.js","webpack:///./src/Scripts/bindings/map.js","webpack:///./src/Scripts/clients/long-trend-configurations-client.js","webpack:///./src/Scripts/components/input-dialog/input-dialog.html","webpack:///./src/Scripts/components/vessel-groups/vessel-groups.js","webpack:///./src/assets/images/eventicon/trend-ikon.png","webpack:///./src/Scripts/components/css-loader/css-loader.html","webpack:///./src/assets/images/widgets/cii-widget-tableview.png","webpack:///./src/Scripts/components/curves/curve-graph/curve-graph.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event.html","webpack:///./src/components/ManageDashboardsDialog.vue?29d6","webpack:///./src/Scripts/components/graph-config-variable-selection/graph-config-variable-selection.html","webpack:///./src/components/ConfirmDialog.vue?5c1b","webpack:///./src/components/ConfirmDialog.vue","webpack:///./src/components/ConfirmDialog.vue?654b","webpack:///./src/components/ConfirmDialog.vue?d457","webpack:///./src/Scripts/components/long-trend-benchmark-level-icon/long-trend-benchmark-level-icon.html","webpack:///./src/Scripts/components/vessel-settings/emission-report-template/emission-report-template.html","webpack:///./src/Scripts/components/emission-report/voyage-create/voyage-create.html","webpack:///./src/Scripts/clients/vessels-client.js","webpack:///./src/Scripts/components/data-import/import-status/import-status.html","webpack:///./src/Scripts/components/long-trend-benchmark-level-settings/long-trend-benchmark-level-settings.html","webpack:///./src/assets/images/danelec-logos/danelec-connect_negative.svg","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-graph/compare-vessels-long-trends-graph.html","webpack:///./src/assets/images/kognifai/help/help-curves.webp","webpack:///./src/views/account/ResetPassword.vue?c720","webpack:///./src/Scripts/components/vessel-administration/vessel-admin/vessel-admin.html","webpack:///./src/Scripts/components/curves/curves-frame/curves-frame.html","webpack:///./src/Scripts/components/vessel-info/vessel-info-map/vessel-info-map.html","webpack:///./src/Scripts/app/events.js","webpack:///./src/Scripts/components/benefit-consequence/benefit-consequence.html","webpack:///./src/store/clients/Shapoli.module.ts","webpack:///./src/Scripts/components/compare-vessels/compare-vessels.html","webpack:///./src/Scripts/components/vessel-performance-status/vessel-performance-status.html","webpack:///./src/Scripts/components/logging-history-config/logging-history-config.html","webpack:///./src/Scripts/components/profile/user-form/user-form.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-header/compare-vessels-long-trends-details-table-header.html","webpack:///./src/Scripts/clients/vessel-performance-statuses-client.js","webpack:///./src/Scripts/components/curves/tree-select/tree-select.js","webpack:///./src/assets/images/danelec-logos/danelec-square-original.svg","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group.html","webpack:///./src/assets/images/kognifai/help/help-prediction.webp","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operations.html","webpack:///./src/assets/images/vessels/orange.png","webpack:///./src/assets/images/kognifai/help/help-plot.webp","webpack:///./src/assets/images/status/ok.png","webpack:///./src/services/AuthHeader.ts","webpack:///./src/Scripts/clients/vessel-histories-client.js","webpack:///./src/store/clients/VesselsHistories.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-port/voyage-vessel-event-port.html","webpack:///./src/views/account/Login.vue?e625","webpack:///./src/views/account/Login.vue","webpack:///./src/views/account/Login.vue?9663","webpack:///./src/views/account/Login.vue?8660","webpack:///./src/views/account/ResetPassword.vue?5417","webpack:///./src/views/account/ResetPassword.vue","webpack:///./src/views/account/ResetPassword.vue?a2d3","webpack:///./src/views/account/ResetPassword.vue?cb60","webpack:///./src/router/index.ts","webpack:///./src/store/clients/WidgetTypes.module.ts","webpack:///./src/Scripts/utilities/kognifai-variable-tree.js","webpack:///./src/Scripts/clients/Announcement-client.js","webpack:///./src/Scripts/clients/log-variables-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage.html","webpack:///./src/views/account/Login.vue?1d50","webpack:///./src/Scripts/components/logging-history-config/logging-history-config.js","webpack:///./src/Scripts/extensions/pagination.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption/fm-fuel-consumption.js","webpack:///./src/Scripts/clients/reports-client.js","webpack:///./src/Scripts/clients/report-types-client.js","webpack:///./src/store/clients/Reports.module.ts","webpack:///./src/Scripts/components/fuel-consumption-summary/fuel-consumption-summary.html","webpack:///./src/Scripts/components/vessel-notes/vessel-notes.html","webpack:///./src/Scripts/app/net.js","webpack:///./src/Scripts/clients/consequences-client.js","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tanks.html","webpack:///./src/Scripts/viewModels/graphVariable.js","webpack:///./src/assets/images/widgets/cii-widget-chartview.png","webpack:///./src/components/widgets/TimeSpanDialog.vue?d43a","webpack:///./src/Scripts/utilities/date-helper.js","webpack:///./src/Scripts/utilities/curve-prediction-helper.js","webpack:///./src/Scripts/components/company/company-info/company-info.html","webpack:///./src/Scripts/clients/fuel-tanks-client.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumptions.html","webpack:///./src/class-components-hooks.ts","webpack:///./src/plugins/vuetify.ts","webpack:///./src/App.vue?ce80","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?7d84","webpack:///./src/Scripts/components/tooltip/tooltip.js","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?3a62","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?7a75","webpack:///./src/components/Sidebar.vue?810f","webpack:///./src/components/ManageDashboardsDialog.vue?fa18","webpack:///./src/components/ManageDashboardsDialog.vue","webpack:///./src/components/ManageDashboardsDialog.vue?3885","webpack:///./src/components/ManageDashboardsDialog.vue?8ddb","webpack:///./src/components/Sidebar.vue","webpack:///./src/components/Sidebar.vue?77d5","webpack:///./src/components/Sidebar.vue?9ac7","webpack:///./src/components/VesselTitle.vue?e2f0","webpack:///./src/components/PerformanceStatusIcon.vue?2e7a","webpack:///./src/components/PerformanceStatusIcon.vue","webpack:///./src/components/PerformanceStatusIcon.vue?37d9","webpack:///./src/components/PerformanceStatusIcon.vue?d5d1","webpack:///./src/components/VesselTitle.vue","webpack:///./src/components/VesselTitle.vue?cebf","webpack:///./src/components/VesselTitle.vue?6a66","webpack:///./src/Scripts/clients/version-client.js","webpack:///./src/components/Announcement/ShowAnnouncement.vue?f631","webpack:///./src/Scripts/utilities/conditionTypeHelper.js","webpack:///./src/components/Announcement/ShowAnnouncement.vue","webpack:///./src/components/Announcement/ShowAnnouncement.vue?6a6c","webpack:///./src/components/Announcement/ShowAnnouncement.vue?9778","webpack:///./src/App.vue","webpack:///./src/App.vue?198c","webpack:///./src/App.vue?1315","webpack:///./src/components/DefaultContainer.vue?6f06","webpack:///./src/components/DefaultContainer.vue","webpack:///./src/components/DefaultContainer.vue?e1fb","webpack:///./src/components/DefaultContainer.vue?60a2","webpack:///./src/Scripts/app/net-prefilter.js","webpack:///./src/Scripts/components/vessel-info/vessel-info-map/vessel-info-map.js","webpack:///./src/Scripts/components/vessel-performance-status/vessel-performance-status.js","webpack:///./src/Scripts/components/vessel-performance-status-item/vessel-performance-status-item.js","webpack:///./src/Scripts/components/long-trend-benchmark-level-icon/long-trend-benchmark-level-icon.js","webpack:///./src/Scripts/components/performance-status-icon/performance-status-icon.js","webpack:///./src/Scripts/components/component-loading/component-loading.js","webpack:///./src/Scripts/utilities/vessel-event-helper.js","webpack:///./src/Scripts/components/vessel-event/vessel-event.js","webpack:///./src/Scripts/components/vessel-event-icon/vessel-event-icon.js","webpack:///./src/Scripts/components/benefits-table/benefits-table.js","webpack:///./src/Scripts/components/benefit-consequence/benefit-consequence.js","webpack:///./src/Scripts/components/benefit-consequence-result/benefit-consequence-result.js","webpack:///./src/Scripts/components/long-trend-benchmark-level-settings/long-trend-benchmark-level-settings.js","webpack:///./src/Scripts/components/tooltip-text/tooltip-text.js","webpack:///./src/Scripts/viewModels/graphVariableGroup.js","webpack:///./src/Scripts/components/graph-config-variable-selection/graph-config-variable-selection.js","webpack:///./src/Scripts/components/graph-config-time-period/graph-config-time-period.js","webpack:///./src/Scripts/components/graph-config-data-interval/graph-config-data-interval.js","webpack:///./src/Scripts/utilities/color-helper.js","webpack:///./src/Scripts/utilities/highcharts-helper.js","webpack:///./src/Scripts/components/curves/curve-edit-graph/curve-edit-graph.js","webpack:///./src/Scripts/components/curves/curve-graph/curve-graph.js","webpack:///./src/Scripts/components/curves/cp-module-table/cp-module-table.js","webpack:///./src/Scripts/components/curves/curve-prediction-table/curve-prediction-table.js","webpack:///./src/Scripts/components/css-loader/css-loader.js","webpack:///./src/Scripts/components/data-pie/data-pie.js","webpack:///./src/Scripts/components/fuel-consumption-summary/fuel-consumption-summary.js","webpack:///./src/Scripts/components/emission-report/voyages-chart/voyages-chart.js","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list.js","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list-item/departure-list-item.js","webpack:///./src/Scripts/components/emission-report/voyage-create/voyage-create.js","webpack:///./src/Scripts/viewModels/emission-report/voyageVesselEventData.js","webpack:///./src/Scripts/viewModels/emission-report/voyageVesselEvent.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-chart/voyage-chart.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list-item/voyage-vessel-event-list-item.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-cargos/voyage-vessel-event-cargos.js","webpack:///./src/Scripts/clients/vessel-locations-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-location/voyage-vessel-event-location.js","webpack:///./src/Scripts/clients/ft-operations-client.js","webpack:///./src/Scripts/components/fuel-tank-management/fuel-tank-management.js","webpack:///./src/Scripts/clients/ft-fuel-consumptions-client.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumptions.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumption/ft-fuel-consumption.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operations.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operation/ft-operation.js","webpack:///./src/Scripts/clients/ft-soundings-client.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-soundings.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-sounding/ft-sounding.js","webpack:///./src/Scripts/components/flow-meter-management/flow-meter-management.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumptions.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption-create/fm-fuel-consumption-create.js","webpack:///./src/Scripts/clients/fm-operations-client.js","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operations.js","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operation/fm-operation.js","webpack:///./src/Scripts/components/vessel-settings/vessel-settings.js","webpack:///./src/Scripts/components/vessel-settings/veracity-key/veracity-key.js","webpack:///./src/Scripts/clients/ice-classes-client.js","webpack:///./src/Scripts/components/vessel-settings/general-settings/general-settings.js","webpack:///./src/Scripts/components/vessel-settings/emission-report-template/emission-report-template.js","webpack:///./src/Scripts/clients/fuel-consumption-sources-client.js","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meters.js","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meter/flow-meter.js","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tanks.js","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tank/fuel-tank.js","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-types.js","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-type/fuel-type.js","webpack:///./src/Scripts/components/input-dialog/input-dialog.js","webpack:///./src/Scripts/components/vessel-administration/vessels-menu/vessels-menu.js","webpack:///./src/Scripts/components/vessel-administration/vessel-admin-table/vessel-admin-table.js","webpack:///./src/Scripts/clients/features-client.js","webpack:///./src/Scripts/components/vessel-administration/edit-vessel/edit-vessel.js","webpack:///./src/Scripts/components/vessel-administration/assign-vessel/assign-vessel.js","webpack:///./src/Scripts/components/vessel-administration/vessel-feature/vessel-feature.js","webpack:///./src/Scripts/components/feature-not-available/feature-not-available.js","webpack:///./src/Scripts/viewModels/dataImport/importStatistic.js","webpack:///./src/Scripts/components/data-import/import-details/import-details.js","webpack:///./src/Scripts/components/data-import/import-status-table/import-status-table.js","webpack:///./src/Scripts/components/profile/user-form/user-form.js","webpack:///./src/Scripts/components/profile/user-info/user-info.js","webpack:///./src/Scripts/components/profile/user-list/user-list.js","webpack:///./src/Scripts/components/profile/user-api-key/user-api-key.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends/compare-vessels-long-trends.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-graph/compare-vessels-long-trends-graph.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details/compare-vessels-long-trends-details.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-graph/compare-vessels-long-trends-details-graph.js","webpack:///./src/Scripts/viewModels/compare-vessels/vessel-compare-row-data.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table/compare-vessels-long-trends-details-table.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-row/compare-vessels-long-trends-details-table-row.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-header/compare-vessels-long-trends-details-table-header.js","webpack:///./src/Scripts/components/company/company-table/company-table.js","webpack:///./src/Scripts/components/company/company-info/company-info.js","webpack:///./src/Scripts/components/company/company-form/company-form.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-list/vessel-access-group-list.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-editor/vessel-access-group-editor.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-name/vessel-access-group-name.js","webpack:///./src/Scripts/utilities/location-helper.js","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates.js","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates-edit/geo-coordinates-edit.js","webpack:///./src/Scripts/components/curves/curves-about/curves-about.js","webpack:///./src/Scripts/components/curves/curves-help/curves-help.js","webpack:///./src/Scripts/bindings/slideToggle.js","webpack:///./src/Scripts/bindings/dateFormat.js","webpack:///./src/Scripts/bindings/highcharts.js","webpack:///./src/Scripts/bindings/numberFormat.js","webpack:///./src/Scripts/bindings/datepicker.js","webpack:///./src/Scripts/bindings/scrollTop.js","webpack:///./src/Scripts/bindings/vesselsTableSort.js","webpack:///./src/Scripts/bindings/time.js","webpack:///./src/Scripts/bindings/clickOutside.js","webpack:///./src/Scripts/bindings/vesselMap.js","webpack:///./src/Scripts/bindings/submitForm.js","webpack:///./src/Scripts/bindings/humanizeDuration.js","webpack:///./src/Scripts/bindings/textWithLineBreaks.js","webpack:///./src/Scripts/bindings/tooltipValidation.js","webpack:///./src/Scripts/bindings/dateTimeFormat.js","webpack:///./src/Scripts/bindings/deleteStylesWithin.js","webpack:///./src/Scripts/bindings/uniqueId.js","webpack:///./src/Scripts/bindings/uniqueFor.js","webpack:///./src/registerKnockoutComponents.ts","webpack:///./src/utilities/leafletIconFix.ts","webpack:///./src/filters/date.ts","webpack:///./src/filters/companyName.ts","webpack:///./src/filters/vesselHistory.ts","webpack:///./src/filters/index.ts","webpack:///./src/main.ts","webpack:///./src/store/clients/LogData.module.ts","webpack:///./src/Scripts/components/profile/user-list/user-list.html","webpack:///./src/types/vesselStatusIcons.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-timestamp/voyage-vessel-event-timestamp.html","webpack:///./src/assets/images/danelec-logos/danelec-connect_original.svg","webpack:///./src/services/UserService.ts","webpack:///./src/store/clients/User.module.ts","webpack:///./src/Scripts/clients/fouling-client.js","webpack:///./src/store/clients/VesselGroups.module.ts","webpack:///./src/store/clients/VesselEvents.module.ts","webpack:///./src/assets/images/eventicon/office-ikon.png","webpack:///./src/Scripts/clients/ports-client.js","webpack:///./src/Scripts/clients/vessel-categories-client.js","webpack:///./src/Scripts/bindings/curveTableSort.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-list/vessel-access-group-list.html","webpack:///./src/components/widgets/DateTimeRangePicker.vue?9b64","webpack:///./src/components/widgets/DateTimeRangePicker.vue","webpack:///./src/components/widgets/DateTimeRangePicker.vue?44d8","webpack:///./src/components/widgets/DateTimeRangePicker.vue?5794","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-voyage/voyage-vessel-event-voyage.html","webpack:///./src/store/clients/Vessels.module.ts","webpack:///./src/assets/images/widgets/notification-widget-illustration.png","webpack:///./src/assets/images/eventicon/vessel-ikon.png","webpack:///./src/assets/images/widgets/map-widget-illustration-1.png","webpack:///./src/Scripts/viewModels/vesselsAdministration/vessel.js","webpack:///./src/Scripts/components/flow-meter-management/flow-meter-management.html","webpack:///./src/Scripts/clients/flow-meters-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-distance/voyage-vessel-event-distance.js","webpack:///./src/Scripts/viewModels/curves/curvePoint.js","webpack:///./src/Scripts/components/taxonomy/taxonomy.html","webpack:///./src/Scripts/utilities/time-converter-helper.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list-item/voyage-vessel-event-list-item.html","webpack:///./src/Scripts/components/profile/user-info/user-info.html","webpack:///./src/Scripts/clients/vessel-files-client.js","webpack:///./src/assets/images/vessels/previous2.png","webpack:///./src/assets/images/kyma-logos/kymalogo.svg","webpack:///./src/Scripts/clients/fuel-types-client.js","webpack:///./src/Scripts/clients/long-trend-periods-client.js","webpack:///./src/store/clients/LongTrends.module.ts","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tank/fuel-tank.html","webpack:///./src/Scripts/components/vessel-files/vessel-files.html","webpack:///./src/assets/images/vessels/blue.png","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-cargos/voyage-vessel-event-cargos.html","webpack:///./src/assets/images/kognifai/help/help-exclusion-filters.webp","webpack:///./src/assets/images/status/error.png","webpack:///./src/assets/images/kognifai/help/help-main-window.webp","webpack:///./src/Scripts/viewModels/company/company.js","webpack:///./src/Scripts/viewModels/company/companyList.js","webpack:///./src/Scripts/components/company/company-manager/company-manager.js","webpack:///./src/Scripts/components/tooltip-text/tooltip-text.html","webpack:///./src/Scripts/components/vessel-administration/vessel-feature/vessel-feature.html","webpack:///./src/Scripts/clients/vessel-data-widget-client.js","webpack:///./src/store/clients/VesselDataWidgetConfig.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-port/voyage-vessel-event-port.js","webpack:///./src/Scripts/utilities/vessel-map-helper.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-graph/compare-vessels-long-trends-details-graph.html","webpack:///./src/Scripts/components/benefit-consequence-result/benefit-consequence-result.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends/compare-vessels-long-trends.html"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","ViewModel","params","self","this","voyageVesselEvent","vesselEvent","isEditing","ko","observable","inputTimestampDate","dateHelper","getFormatedDateString","timestamp","inputTimestampTime","getFormatedTimeString","plotLineDateSelectedBinding","events","plotLineDateSelected","add","selectedDate","isInputTimestampValid","pureComputed","timestampMoment","getDateTime","previousVesselEvent","previousVesselEventMoment","moment","utc","nextVesselEvent","nextVesselEventMoment","dispose","detach","startEditing","vm","$wrapper","$","currentTarget","closest","dateSelectStarted","dispatch","$input","find","focus","select","cancelEditing","dateSelectEnded","save","_","clone","date","time","getSubmitDateString","emissionReportVesselEventsClient","update","done","viewModel","template","updateTempFolders","file","fileName","tempFolders","parentFolders","each","parentFolder","tempFolder","folderPath","remove","bindingHandlers","fileUpload","init","element","valueAccessor","allBindingsAccessor","vesselId","folder","isValidFile","errorMessage","isUploading","filesInCurrentFolder","dropzone","acceptedFiles","dictInvalidFileType","url","process","headers","authHeader","on","vesselFile","vesselFileUploaded","response","isUndefined","fileExists","some","upload","filename","confirm","removeFile","getFilesInFolder","files","filesInFolder","isDescendant","indexOf","childFileName","replace","fileExistsInFolder","updateFile","newFileName","vesselFilesClient","getFile","isTempFolder","draggableFile","isFolder","draggableElement","preventDefault","className","fileNameWithoutPath","existingFile","id","fileEntity","supportedExtensions","excel","word","pdf","elementType","uploadedTime","folderId","binaryFileId","uploadedBy","fileSize","isFileMenuVisible","newName","fileIcon","fileExtension","toLowerCase","extension","split","pop","formattedFileSize","stringHelper","getPrettyFileSize","uploadedText","format","newNameErrorText","rename","endsWith","fileNameWithoutExtension","resetName","nameWithoutExtension","substr","lastIndexOf","getFileNameWithoutPath","showFileMenu","hideFileMenu","arg","folderName","vesselName","vesselname","vesselFileSizeLimitInMB","newFolderHelpText","tooltipHelpText","newFolderName","pdfFileName","vesselFilePdfUrl","elementToDelete","elementToRename","isFilesLoading","isHelpTooltipOpen","sortAscending","sortColumn","isNewFolderDialogVisible","isPdfViewerVisible","isDeleteDialogVisible","isRenameDialogVisible","hasRenameError","hasNewFolderError","observableArray","currentFolder","FolderVM","foldersInCurrentFolder","getFiles","formattedFileSizeLimit","limit","totalFileSize","bytes","parentFolderPath","stop","parentFolderNames","parentFolderName","reverse","sortFiles","deleteText","goToFolder","getFolders","viewPdf","toJS","showDeleteDialog","showRenameDialog","folders","isFile","elements","elementName","without","isInvalid","sourceName","renameFolder","createNewFolder","deleteElement","removeFolder","downloadFile","vesselFileDownload","vesselFileUploadedBinding","fileVM","indexOfExistingFile","FileVM","closeTooltipBinding","closeTooltip","showNewFolderDialog","startsWith","currentFolderPath","fileNameStartsWithPath","newFolderPath","toggleHelpTooltip","showTooltip","text","isWide","hideHelpTooltip","sort","a","b","left","getSortData","right","column","closePdfViewer","closePdf","getTempFoldersInCurrentFolder","childFolderName","folderNames","folderExists","isChildFolder","union","filter","getAll","map","always","Vue","use","Vuex","Store","Auth","Announcement","Benefits","LongTrends","Incidents","User","Users","Vessels","VesselsAdmin","Companies","VesselAccessGroups","VesselGroups","VesselsHistories","Dashboard","MapWidget","Taxonomy","Reports","VesselEvents","LogVariables","LogData","LongTrendPeriod","VesselDataWidgetConfiguration","WidgetTypes","PerformanceStatusWidget","NotificationWidgetConfiguration","CiiWidgetConfiguration","FoulingOverviewWidgetConfiguration","Snackbar","Cii","Shapoli","ISO19030","Channels","Fouling","render","_vm","_h","$createElement","_c","_self","attrs","dialogWidth","$event","close","model","callback","$$v","isModalActive","expression","_v","_t","staticClass","selectedCalculationType","slot","hasNotAllowedUnit","scopedSlots","_u","fn","ref","_g","_b","isLastHoursHasError","lastHoursAverage","lastHoursAccumulate","_s","fromAndToDatesCalculationType","widgetDateRange","onWidgetDateRangeChanged","proxy","_e","saveButtonDisabled","syncIsSaveButtonDisabled","staticRenderFns","TimeSpanDialog","infoAccumulatedDialog","accumulatedAllowedUnits","fromDate","startOf","toDate","set","syncColumn","$emit","setSelectedCalculationType","currentState","calculationType","hours","getDatesDiffAsHours","isLastHoursAverageValid","isLastHoursAccumulateValid","logVariables","variable","isUnitAccAllowed","unit","caption","includes","fromToDates","isTimeSpanHoursValid","setTimeSpan","timeSpan","parseInt","Date","subtract","assign","__decorate","PropSync","required","default","Watch","Component","components","DateTimeRangePicker","component","VBtn","VCard","VCardActions","VCardText","VDialog","VIcon","VRadio","VRadioGroup","VSpacer","VTextField","VToolbar","VToolbarTitle","VTooltip","users","original","list","userId","userName","extend","email","validation","async","validator","val","equalsIgnoreCase","exists","title","phoneNumber","apiKey","role","kognifaiTenantId","kognifaiClientId","kognifaiClientSecret","setModel","errors","group","isValid","computed","isNewUser","getOriginalUser","user","client","generateApiKey","clearApiKey","isLoading","load","onCreatedBinding","userOnCreated","newItem","onUpdatedBinding","userOnUpdated","oldItem","updatedItem","item","onRemovedBinding","userOnRemoved","removedItem","getList","match","dialogState","UsersVM","viewBinding","userView","clearError","UserVM","editBinding","userEdit","addBinding","userAdd","apiKeyBinding","userManageApiKey","deleteBinding","userDelete","createUser","newUser","closeDialog","fail","status","userOnCreatedAlreadyExist","userOnCreatedFailed","handleError","removeUser","userOnFailed","editUser","originalUser","updatedUser","responseJSON","Utilities","tagName","parentElement","router","currentRoute","path","stopPropagation","messages","values","modelState","flat","statusText","formattedError","vesselEventUpdatedCallback","vesselEventUpdated","Client","net","findVoyageVesselEvents","departureId","post","vesselEventCreated","put","confirmVoyageInformation","unconfirmVoyageInformation","confirmVoyageData","unconfirmVoyageData","sendEmissionReportToDnvGl","del","vesselEventDeleted","PerformanceStatusWidgetClient","new","perfStatWidgetConfiguration","delete","perfStatWidgetConfigId","_configsExpired","_configs","configs","config","index","findIndex","savedConfig","performanceStatusWidgetClient","context","commit","emptyConfig","vessels","createdConfig","root","vessel","sharedConfig","VuexModule","Mutation","Action","rawError","Module","namespaced","vesselFilesSort","onclick","currentSortIcon","sortIcons","icon","sortedFolders","htmlEncode","el","innerText","innerHTML","findDiagnosticLongTrends","allLongTrends","flatten","pluck","longTrend","diagnosticTypeId","findCommonLongTrendNames","longTrends","vesselCount","commonDiagnosticLongTrendNames","longTrendsGroupedByName","groupBy","CompareGroup","longTrendName","longTrendPeriods","sortOrder","diagnosticTypesHelper","getDiagnosticTypeOrder","diagnosticType","isLoadingLongTrendPeriods","compareGroups","selectedCompareGroup","diagnosticLongTrends","vesselsSubscription","subscribe","allLongTrendIds","commonLongTrends","loadLongTrendPeriods","longTrendPeriodsBinding","commonLongTrendIds","commonLongTrendPeriods","longTrendPeriod","contains","longTrendId","sortBy","compareGroupClickedBinding","compareGroupClicked","compareGroup","deselectCompareGroup","navigateHome","navigatedHome","longTrendIds","longTrendPeriodsClient","findMany","formatValueWithCaption","logVariable","precision","displayPrecision","addCaption","formatMapLocation","latitude","longitude","toFixed","unitCaption","formatLogVariableDisplayName","duplicateLogVariableNames","dupLogVariableNamesArray","Array","isArray","onboardSystem","x","getDuplicateLogVariableNames","logVariablesArray","countOfNames","reduce","acc","curr","idx","arr","entries","AuthService","username","password","localStorage","removeItem","Email","Username","Token","Password","CurrentPassword","NewPassword","warn","storedAccessToken","getItem","storedAccessTokenExpiryDate","storedRememberUser","JSON","parse","loggedIn","accessToken","accessTokenExpiryDate","_isRefreshing","state","setItem","stringify","tokens","access","expiry","login","persist","lostPassword","resetPassword","token","changePassword","currentPassword","newPassword","fetch","logout","getModule","VesselsModule","store","currentVessel","showLastHours","showLastMinutes","showFromTime","showToTime","isVariablesLoading","isConfigLoading","isVoyagesLoading","isUpdateConfigurationLoading","isUpdateConfigurationError","submitError","variables","selectedVariables","selectedTimePeriod","lastDays","lastPeriodValuesValid","voyages","lastVoyage","startDate","endDate","selectedTimeInMinutes","selectedTime","from","getFormatedDateTimeString","to","diff","daysToMinutes","getDate","updateTimePeriod","fromDateTime","toDateTime","submit","endChar","charAt","lastNumberDays","timeConfigurationType","longTrendConfigurationsClient","onSubmit","disableSubmit","displayEmptyVariableSelectionWarning","longTrendsClient","findLongTrendVariables","isLoadError","getByVesselId","vesselsClient","getVesselVoyages","days","Number","isOpen","skip","query","findOpen","findClosed","condition","conditions","_openIncidents","_allOpenIncidents","_allClosedIncidents","_conditions","_incidentsExpired","incidents","currentVesselId","incidentsClient","conditionsClient","rootGetters","groupedByConditionAndTargetKey","incident","conditionId","conditionTargetKey","distinctOpenIncidents","severity","openCriticalIncidents","openWarningIncidents","LogDataClient","getData","deferred","Deferred","logData","continuationFilter","continuedResponse","arguments","findLogData","variableId","granularity","dateTimeFormat","unitName","filterMinMax","filterOutliers","getters","logVariableId","batchFindLogData","variableIds","logVariableIds","fetchAccumulatedCalculatedLogData","payload","fetchAveragedCalculatedLogData","fetchShapoliAveraged","fetchLastReceivedLogData","fetchLastVoyageAccumulated","fetchLastVoyageAveraged","eventTypes","getTrendEventTypes","CreateInfoEvent","vesselInfoEventModel","CreateTrendEvent","vesselTrendEventModel","UpdateInfoEvent","UpdateTrendEvent","DeleteInfoEvent","DeleteTrendEvent","cargoUnit","cargoDetails","vesselEventId","isCreated","cargoDetail","inputCargoCarried","existingCargoDetail","cargoUnitId","hasCargoCarried","isFinite","cargoCarried","initialize","isVesselEventConfirmed","isConfirmed","newCurve","parseFloat","vesselEventCargoDetailsClient","VesselsAdministrationsClient","getVessels","createVessel","getDataReceiverByImoNumber","imoNumber","isDataReceiver","companyId","command","unassign","setAsDataReceiver","unsetAsDataReceiver","archiveVessel","activateVessel","deactivateVessel","deleteVessel","activateFeature","featureId","deactivateFeature","addCargoUnit","removeCargoUnit","getVeracityKey","updateVeracityKey","veracityKey","getVeracityKeyExpirationDate","_vesselAccessGroupsExpired","_vesselAccessGroups","groups","vesselCategoriesClient","refreshVesselAccessGroups","_vesselsLogVariables","_currentVesselLogVariables","_currentVesselShaftPowerLogVariables","logVariableName","vesselVariables","displayName","logVariablesClient","findAll","findVesselLogVariablesTaxa","taxa","forEach","findVesselLogVariablesShaftPower","shaftPowerLogVariables","existedVesselIndex","DashboardClient","dashboard","dashboardId","_dashboards","_activeDashboardIndex","dashboards","_activeDashboardId","$cookies","dash","widgets","widget","widgetData","sequence","updatedDashboardsSequence","stringifiedDashboardListSequence","dashboardListSequence","typeTemplate","newDashboard","createdDashboard","activeDashboard","updatedDashboard","typeName","defaultName","active","_channels","channels","channel","chnlIndex","chnl","ChannelsClient","ch","escapeRegExp","str","replaceAll","RegExp","addSlashes","isNullOrWhiteSpace","isString","isLookingLikeAnEmail","test","stringContains","sizes","Math","floor","log","pow","isCaseInsensitive","getPrettyIMO","prettyIMO","pad","max","toString","str1","str2","areEqual","toUpperCase","localeCompare","MapWidgetData","_performanceStatuses","VesselStatusIcons","Ok","Observe","NotOk","BenchMarking","notAvailable","CiiClient","getDays","getYtd","getYear","getVesselBaseUrl","vesselUrlName","encodeURIComponent","baseUrl","getVesselUrl","getVesselSettingsUrl","getVesselNotificationsUrl","getVersionHistoryUrl","getHelpDiagnosticsUrl","LongTrendsClient","isDiagnosticType","findLongTrends","longTrendUpdated","getLongTrendData","downloadExcel","fileDownload","_meta","_longTrendPeriod","_statistics","_trendLimits","LongTrendPeriodsClient","meta","statistics","trendLimits","getOnlineUsers","setCompany","isSuperUser","taxon","highlightedLogVariable","shortName","isHighlighted","any","logVariableTaxon","taxons","orderedTaxons","TaxonVM","BenefitsClient","trendEventId","consequences","_listofAnnouncements","_allAnnoucements","_readByUser","listofAnnouncements","allAnnouncement","readByUser","AnnouncementClient","findByUser","filteredAnnouncement","newAnnouncement","deleteAnnounement","deleteResponse","sendEmail","___HTML_LOADER_GET_SOURCE_FROM_IMPORT___","___HTML_LOADER_IMPORT_0___","___HTML_LOADER_IMPORT_1___","___HTML_LOADER_IMPORT_2___","___HTML_LOADER_IMPORT_3___","___HTML_LOADER_IMPORT_4___","___HTML_LOADER_IMPORT_5___","___HTML_LOADER_IMPORT_6___","___HTML_LOADER_IMPORT_7___","___HTML_LOADER_REPLACEMENT_0___","___HTML_LOADER_REPLACEMENT_1___","___HTML_LOADER_REPLACEMENT_2___","___HTML_LOADER_REPLACEMENT_3___","___HTML_LOADER_REPLACEMENT_4___","___HTML_LOADER_REPLACEMENT_5___","___HTML_LOADER_REPLACEMENT_6___","___HTML_LOADER_REPLACEMENT_7___","ImportStatusClient","getSuccessfulImports","partition","getLastNumberOfImports","recentDays","getFailedImports","getRunningImports","deleteFailedImport","importEntity","deleteRunningImport","getVesselImportStates","imoNumbers","retryAllFailedImports","downloadImportPackage","downloadZipFile","ImportQueueClient","queueName","importPath","ImportEntity","stackTraceSearchReplaces","repl","statuses","imported","running","importDuration","zipPath","stackTrace","webJob","importStatistics","progress","formattedStackTrace","importDurationInSeconds","ticksInSeconds","ticks","startTime","endTime","statusCss","importPathDownloadUrl","zipPathDownloadUrl","retryImport","isEmpty","removeImport","importStatusClient","toggleIsOpen","poller","tableStorageDateFormat","datepickerFormat","queueNames","pendingImports","receivedData","recentDateType","day","timeRange","importDetailsEntity","importDetailsVisible","successfulImportsLoading","failedImportsLoading","realtimePoll","selectedRecentDateType","datepickerValue","imoSearchValue","rowsPerPage","pollIntervall","receivedDataQueueLength","pendingImportsQueueLength","successfulImports","runningImports","failedImports","pollingOptions","numberOfRows","numberOfRecentDays","range","isVesselImportStatesLoading","vesselImportStates","isRetryingAllFailedImports","loadStatus","vesselImportStateModels","activeVesselImportStates","vesselImportState","currentImport","imo","currentImportSetAt","pendingImportPaths","vesselImportStateModel","recentImports","read","recentlyFailedImports","imports","sortByTimestamp","write","getFormattedDate","failedImport","partitionKey","sendImportMessageOnQueue","removeFailedImport","pollFunction","retryImportEvent","removeImportEvent","datePickerValueSubscription","selectedRecentDateTypeSubscription","recentDaysSubscription","runningImportsBinding","loggingHistoryItemsCount","loggingHistoryTableRowCounts","successfulImport","loggingHistoryTableStats","importStatistic","TableName","RowCount","memo","num","totalTimeSpentInHours","totalImportDurationTicks","timeConverterHelper","ticksToHours","logDataTotalTimeSpentInHours","loggingHistoryTableImportDurations","ImportDuration","formattedDate","getNumberOfMessagesInQueue","queueObservable","queueClient","importQueue","isNull","getPreviousDatePartition","newDate","addDaysToDate","getNextDatePartition","daysAdded","currentDate","toggleRealtimePoll","poll","intervall","clearInterval","setInterval","runningImport","errorImport","getImports","vesselGroup","vesselGroupCreated","vesselGroupUpdated","vesselGroupDeleted","addVesselToGroup","cmd","vesselGroupId","removeVesselFromGroup","webpackContext","req","webpackContextResolve","keys","_seaSurfaceTemperature","_speedLossHistory","_speedLossStatistics","_hullCoatingVessel","_hullCoatingType","_hullCoatingManufacturer","_foulingChartConfig","_propulsionCurve","timestamps","valueOf","min","FoulingClient","getSpeedLossHistory","seaSurfaceTemperature","getSeaSurfaceTemperature","getSpeedLossStatistics","getHullCoatingType","getHullCoatingManufacturer","hullCoatingVessel","postHullCoatingVessel","foulingChartConfig","updateFoulingChartConfig","getPropulsionEfficency","getPropulsionEfficencyCurve","getAddedFuelConsumption","getEventImpact","eventDate","weatherServiceSeaSurfaceTemperature","shipSpeed","timeSpent","formattedWeatherData","formattedWeatherDataItem","temperature","latlng","dateA","getTime","dateB","getHelpText","getBenefitText","getInvalidConsequenceHelpText","diagnosticTypeName","param","logVariablesMap","taxonomy","highlightLogVariableId","allTaxa","uniqueTaxa","uniq","orderedUniqueTaxa","groupedTaxa","categories","CategoryVM","downloadTaxonomy","uploadTaxonomy","fd","FormData","append","go","TaxonomyClient","getTaxonomyLogVariables","getAllTaxa","_taxonomyLogVariables","_taxonomyCategories","taxonomyClient","taxonomyLogVariables","taxonomyCategories","_config","_defaultConfig","color","show","closeButton","defaultConfigCopy","snackbarConfig","configEmissionReport","configEmissionReportFactory","voyageTypes","voyage","inputVoyageName","inputVoyageType","inputIsNonCommercial","isNonCommercial","updatedVesselEvent","accessGroups","originalAccessGroup","getOriginalAccessGroup","accessGroup","categoriesClient","items","vesselAccessGroupOnCreated","vesselAccessGroupOnUpdated","onDeletedBinding","vesselAccessGroupOnDeleted","isEditMode","accessGroupList","AccessGroupListVM","vesselAccessGroupAddBinding","vesselAccessGroupAdd","AccessGroupVM","vesselAccessGroupRenameBinding","vesselAccessGroupRename","vesselAccessGroupEditBinding","vesselAccessGroupEdit","vesselAccessGroupDeleteBinding","vesselAccessGroupDelete","closeEdit","errorEvent","createAccessGroup","renameAccessGroup","originalCompany","deleteAccessGroup","gpsSpeedLogVariable","isLoadingGpsSpeedLogVariable","isVesselSettingsVisible","templateErrors","selectedDeparture","deselectDeparture","isLoadingVesselEvents","now","endOfMonth","year","month","queryDates","inputQueryFromDate","inputQueryToDate","allVesselEvents","loadVesselEvents","allSortedVesselEvents","allDepartureVesselEvents","filteredDepartureVesselEvents","vesselEvents","getTimelineData","timelineData","isLoadingGpsSpeedData","gpsSpeedData","loadGpsSpeedData","logDataClient","vesselSettingsUrl","urlHelper","isGeneralVesselSettingsComplete","vesselTypeId","portOfRegistry","homePort","ownerCompanyName","ownerCompanyAddress","operatorCompanyName","operatorCompanyAddress","emissionsContactPersonName","emissionsContactPersonAddress","emissionsContactPersonPhone","emissionsContactPersonEmail","hasFlowMeterOrFuelTank","activeFlowMeters","activeFuelTanks","hasCargoUnits","cargoUnits","isMissingSettings","voyageUpdatedBinding","voyageUpdated","updatedVoyage","vesselEventUpdatedBinding","oldVesselEvent","vesselEventCreatedBinding","createdVesselEvent","vesselEventDeletedBinding","deletedVesselEvent","isLoadingGpsSpeedLogVariableBinding","queryDatesBinding","inputQueryFromDateBinding","inputQueryToDateBinding","currentYear","departureSelectedBinding","departureSelected","departure","showDownloadAnnualEmissionReport","confirmedAnnualDepartureEvents","dataConfirmedAt","uploadVoyageFromTemplate","emissionReportClient","uploadVoyage","responseText","responseJson","downloadMrvAnnualReport","mrvYearly","downloadImoAnnualReport","imoYearly","toggleSettings","navigatePreviousMonth","navigateNextMonth","vesselEventCargoDetail","vesselEventCargoDetailDeleted","NotificationWidgetClient","notificationWidgetConfigId","notificationWidgetConfiguration","NotificationWidget","notificationWidgetClient","updatedConfig","EmissionReportClient","generateExcelTemplate","mrvVoyage","imoVoyage","voyageDnvGl","LoggingHistoryConfigurationsClient","configuration","AuthModule","UserModule","showCurves","loading","showAbout","showHelp","showProfile","showExpiredKeyWarning","sortedVessels","sorted","getUser","userEmail","history","back","onpopstate","selectVessel","updateCurrentVessel","pushState","location","toggleAbout","toggleHelp","toggleProfile","logOut","signOut","Router","notes","isSaving","loadVesselNotes","vesselsAdminClient","setError","saveVesselNotes","errorText","FoulingOverviewWidgetClient","foulingOverViewWidgetConfigId","FoulingOverviewWidget","_hullCoatingVessels","_latestSpeedLossStatisticsForVessels","_addedFuelConsumptionForVessels","_foulingConfigs","foulingOverviewWidgetClient","vesselIds","hullCoatingVessels","getLatestSpeedLossStatistics","getAddedFuelConsumptions","foulingChartConfigs","numberKey","CiiWidgetClient","ciiWidgetConfiguration","ciiWidgetConfigId","CiiWidget","ciiWidgetConfigs","ciiWidgetClient","ciiWidgetId","ytd","showTable","ciiWidgetConfig","curve","originalCurve","curvesClient","proto","L","Canvas","prev","_updateCircle","layer","Circle","_drawing","_empty","_point","ctx","_ctx","round","_radius","options","_radiusY","scale","_map","getZoom","PI","boostExp","boostScale","boostType","fill","stroke","weight","grd","createRadialGradient","y","addColorStop","fillColor","beginPath","fillStyle","arc","fillRule","moveTo","lineTo","closePath","_fillStroke","xproto","CircleMarker","xprev","_containsPoint","Point","distanceTo","_clickTolerance","cproto","Layer","cprev","_openPopup","_popup","DomEvent","_source","openPopup","hasLayer","closePopup","pproto","Popup","p_getAnchor","_getAnchor","point","_getPopupAnchor","toIdMap","arrayOfObjectsWithId","ConfigEmissionReport","apiBaseUrl","flowMetersMap","fuelTanksMap","fuelTypesMap","cargoUnitsMap","isLoadingVessel","isLoadingCargoUnits","isLoadingFlowMeters","isLoadingFuelTanks","isLoadingFuelTypes","flowMeter","isDeactivated","fuelTank","activeFuelTypes","fuelType","loadVessel","loadGpsSpeedLogVariable","loadFlowMeters","loadFuelTanks","loadCargoUnits","loadFuelTypes","vesselsAdministrationsClient","findGpsSpeedVariable","flowMetersClient","fuelTanksClient","cargoUnitsClient","fuelTypesClient","configEmissionReportInstance","ISO19030Client","All","AllByVesselId","EventById","eventId","CreateEvent","eventModel","UpdateEvent","patch","DeleteEvent","PerformanceIndicators","_events","_performanceIndicators","decimals","parseLocaleNumber","stringNumber","locale","thousandSeparator","Intl","NumberFormat","formatToParts","decimalSeparator","editVessel","previousMenuItem","menuItem","isUnasssignedVesselsLoading","isCompaniesLoading","unassignedVessels","assignedVessels","archivedVessels","companies","getCompanies","visibleView","arraySortedEvent","vesselArraySorted","array","menuItemClickEvent","menuItemClick","Vessel","findDataReceiver","vesselUpdatedEvent","vesselAdministrationUpdated","updateType","vesselDeletedEvent","vesselDeleted","mapVessels","activeStatus","companiesClient","_usersExpired","_users","_onlineUsers","onlineUsers","usersClient","refreshUsers","usr","voyageFuelConsumption","flowMeterFuelConsumptionDeleted","CurvesClient","curveCreated","curveUpdated","curveDeleted","downloadExcelReport","curvePlotResult","_vesselsExpired","_vesselsAdminAll","_vesselsAdminUnassigned","_vesselsAdminActive","_vesselsAdminInactive","refreshAllVessels","CompaniesClient","company","getPerformanceStatusText","performanceStatus","getPerformanceStatusErrorText","getPerformanceStatusImageSrc","require","getPerformanceStatus","isDiagnosticActivated","enabledLongTrends","useInVesselStatus","longTrendStatuses","join","getSortValue","getPerformanceStatusCssClass","getSortValueByStatus","_CompaniesExpired","_companies","refreshCompanies","ShapoliClient","getBreaches","getBreachDetails","getEvents","getShaftPowerLogVariables","downloadBreachLogData","dates","downloadBreachesYearReport","findMarkerBounds","markers","w","sw","ne","marker","lat","lng","getLatLng","LatLng","LatLngBounds","updateMarkers","markerPopupsIsOpen","openPopups","markersGroup","isPopupOpen","clearLayers","layerGroup","addTo","markerBounds","fitBounds","padding","maxZoom","utils","unwrapObservable","TileLayer","attribution","maxBounds","latLngBounds","latLng","layers","scrollWheelZoom","minZoom","zoom","center","maxBoundsViscosity","initialMarkerPopupsIsOpen","optionsSubscription","newOptions","domNodeDisposal","addDisposeCallback","LongTrendConfigurationsClient","getVesselGroupNameError","isLoadingVesselGroups","isLoadingVessels","isCreatingVesselGroup","isEditingVesselGroup","vesselGroups","selectedVesselGroup","newVesselGroupName","createVesselGroupError","editVesselGroupError","removingVesselGroup","editingVesselGroup","editedVesselGroupName","selectVesselGroup","startEditVesselGroup","$container","doneEditVesselGroup","editedVesselGroup","vesselGroupNameError","vesselGroupsClient","cancelEditVesselGroup","startRemoveVesselGroup","removeVesselGroup","vesselsInSelectedVesselGroup","vesselsNotInSelectedVesselGroup","sortedVesselGroups","vesselGroupCreatedBinding","createdVesselGroup","vesselGroupUpdatedBinding","updatedVesselGroup","oldVesselGroup","vesselGroupDeletedBinding","deletedVesselGroup","loadVessels","loadVesselGroups","createVesselGroup","newVesselGroup","style","zIndex","width","_k","keyCode","cancel","dialog","directives","rawName","domProps","noconfirm","ConfirmDialog","VesselsClient","getExtendedVessels","updateVesselDraft","draft","draftMean","updateVessel","signals","Signal","repositionTooltip","vesselEventSelected","showModal","closeModal","modalClosed","curvePlotCreated","curvePlotUpdated","curvePlotDeleted","curvePlotSelected","curvePlotSpecified","editCurveStart","editCurveDone","filterGroupEmpty","flowMeterDeleted","flowMeterFuelConsumptionUpdated","flowMeterFuelConsumptionSelected","overlappingFuelConsumptionUpdated","voyageCreated","voyageVesselEventUpdated","fuelTankDeleted","fuelTankSoundingDeleted","fuelTankOperationCreated","fuelTankOperationDeleted","flowMeterOperationDeleted","fuelTypeDeleted","viewReport","curvePredictionUpdated","notificationConditionCreated","notificationConditionUpdated","notificationConditionRemoved","notificationChannelRemoved","filteredVesselsChanged","compareVesselsSelected","companyAdd","companyEdit","companyDelete","companyView","companyViewAs","companyOnCreated","companyOnUpdated","companyOnRemoved","updateLoaderText","presetChanged","createEvent","editEvent","deleteEvent","updateEventList","showDiagnosticsDetails","_breaches","breaches","VesselPerformanceStatusesClient","variableTree","treeMaker","makeTree","unwrap","selectedId","selectedItem","menuOpen","menuVisible","safetyMargin","selected","selectItem","closeMenu","selectedItemName","toggleMenu","positionMenu","$menu","next","menuHeight","height","windowHeight","top","clientY","clientX","difference","styles","css","positionSubMenu","$el","first","windowWidth","rect","getBoundingClientRect","availableHeight","availableBottom","delta","position","children","bottom","acessToken","Authorization","VesselHistoriesClient","getVesselHistoryAdditionals","vesselHistoryId","getVesselHistories","getLatestVesselHistory","_vesselsHistories","vesselHistories","input","timespan","lastExportDate","vesselHistoryAdditionals","forgotPassword","handleLogin","validLogin","class","isUsernameAutofilled","usernameRules","$set","isPasswordAutofilled","showPassword","passwordRules","handleForgotPassword","validResetPassword","emailRules","valid","forgotPasswordEmail","forgotPasswordAlertType","forgotPasswordResponse","submittingEmail","Login","submittedEmail","isLoggedIn","$router","catch","usernameInput","querySelector","passwordInput","checkAutofilledInputs","VAlert","VCardSubtitle","VCardTitle","VCheckbox","VCol","VContainer","VForm","VImg","VRow","incompleteLink","submitting","handleResetPassword","isFormValid","minimumPasswordLength","submittedSuccess","random","passwordsEqualBool","passwordsEqual","repeatPassword","alertType","errorResponse","_l","ResetPassword","submitted","$route","String","formatError","VueRouter","routes","redirect","subTitle","parent","beforeEnter","isKognifai","base","scrollBehavior","savedPosition","beforeEach","publicPages","authRequired","userExpired","afterEach","tableWidgetIllustration","graphWidgetIllustration","mapWidgetIllustration","performanceStatusWidgetIllustration","notificationWidgetIllustration","ciiWidgetTableViewIllustration","ciiWidgetChartViewIllustration","foulingWidgetViewIllustration","_startup","defaultWidth","defaultHeight","multiple","description","images","usingConfig","enabled","_VesselDataTable","displayType","_VesselDataGraph","_performanceStatus","_notification","_emissions","_foulingOverview","_allAddable","separator","uniqueItems","levels","makeTreeRecursive","grouped","nextlevel","announcementDetails","announcementId","AcknowledgeIncident","AcknowledgeAllIncidents","openIncidents","LogVariablesClient","unitType","hasLogData","extended","dupNames","logVariableHelper","findAvailableLogVariables","findAvailableLogVariablesExtended","findMassFlowRateVariables","findSpeedVariables","findVesselsLogVariables","filterMinMaxTooltipText","filterOutliersTooltipText","toMinutes","minutes","isFilterMinMaxTooltipOpen","isFilterOutliersTooltipOpen","lastHours","lastMinutes","fromTime","toTime","selectedDataInterval","setPeriodValuesValid","lastNumberHours","lastNumberMinutes","dataInterval","loggingHistoryConfigurationsClient","minDate","logDataMinDate","maxDate","logDataMaxDate","maxMinutes","toggleFilterMinMaxTooltip","tooltipPosition","toggleFilterOutliersTooltip","hideTooltips","factory","define","extenders","paging","pageSize","_pageSize","_preferredSize","_currentPage","newValue","moveFirst","rowsToShow","currentPage","pageCount","ceil","currentPageData","pageIndex","startIndex","endIndex","movePrevious","moveNext","moveLast","getFlowMeterFuelConsumptionSourceColor","fuelConsumption","manualFuelConsumptionSourceColor","isNumber","correctedFuelConsumptionInTon","fuelConsumptionSource","flowMeterFuelConsumption","isSelected","isOverlapped","isRemoving","fuelTypeName","fuelTypeId","hasCorrectedFuelConsumptionInTon","inputFuelConsumptionInTon","flowMeterFuelConsumptionSelectedBinding","selectedFuelConsumption","startAt","endAt","flowMeterId","overlappingFlowMeterFuelConsumptionUpdatedBinding","overlappingFuelConsumption","fuelConsumptionSourceColor","isRemoveable","startEdit","initialInputFuelConsumptionInTon","fuelConsumptionInTon","off","updateFuelConsumptionInTon","fuelConsumptionsClient","ReportsClient","getReportUrl","reportId","onlyUrl","downloadReport","ReportTypesClient","_reportsExpired","_reports","_reportTypes","reports","reportTypes","reportTypeName","reportsClient","refreshReports","reportTypesClient","refreshReportTypes","Net","ajax","method","crossDomain","contentType","processData","traditional","cache","xhrFields","responseType","success","xhr","header","getResponseHeader","filenameRegex","matches","exec","windowUrl","URL","webkitURL","createObjectURL","anchor","download","click","revokeObjectURL","findLatest","benchmarkPeriod","GraphVariable","variableSelectionUpdateTrigger","queue","notifySubscribers","unselect","dateFormat","timeFormat","submitFormat","toSubmitString","submitDate","formatDate","dateTimeString","formatDateTime","dateTime","timeFormatter","dateInMilliseconds","datesDiffAsHours","duration","asHours","durationBetweenDates","diff_s","dur_ms","asMilliseconds","humanizeDuration","humanize","getHumanizeDuration","getDurationBetweenDates","getDateInMilliseconds","getDateFormat","getTimeFormat","getJavascriptDate","isValidTime","timeString","getRegressionData","dataPoints","curveFit","regressionOrder","regressionData","regression","linear","polynomial","order","dataPointsFilteredForPowerRegression","power","exponential","dataPointsFilteredForLogarithmicRegression","logarithmic","getPredictedPoint","predict","getPredictedValue","predictedPoint","getPredictedPoints","increment","upperLimit","graphPoints","getPredictionSerieData","xMin","xMax","points","abs","predictedPoints","getDataArrayFromDataPointObjects","getStandardError","predictedData","SE","N","sqrt","getMean","dataArray","getStd","mean","sumSquaredDifferences","variance","standardDeviation","erf","sign","a1","a2","a3","a4","a5","exp","erfc","isOutlier","std","criterion","threshold","prob","predictRegressionValue","getPredictedDataArray","stdv","registerHooks","Vuetify","theme","customProperties","themes","light","primary","primary2","secondary","secondary2","secondary3","colorBackground","accent","info","warning","userCompanyName","navigateToVersionHistory","ShowAnnouncementPopup","unreadAnnouncementandNotification","staticStyle","notification","closeSnackbar","anchorElement","visible","timeoutHandles","showTooltipBinding","positionOffset","positionTooltip","timeoutHandle","my","at","collision","of","anchorElementSubscription","clearedTimeoutHandles","repositionTooltipBinding","getPosition","TooltipWrapper","instance","koHtmlAndViewModel","applyBindings","cleanNode","onSequenceChanged","sidebarMini","openManageDashboardsDialog","sharedDashboards","isDashboardActive","setActiveDashboard","openGeneralTimespanDialog","setVesselPerformanceStatus","setVesselIconRotation","course","helpCategory","generalTimespanDialog","Boolean","isWidgetHasNotAllowedUnit","generalTimeSpanSettings","onGeneralTimeSpanSettingsSave","closeGeneralTimespanDialog","selectedWidgets","panel","personalDashboardNameHandlers","dashboardNameHandler","editing","updateDashboardName","cancelEditDashboardName","isLastDashboard","deleteDashboard","isCurrentDashboard","onDashboardSharingChange","createNewDashboard","Dash","DashboardModule","SnackbarModule","UsersModule","ManageDashboardsDialog","dashboardNameHandlers","personalDahboards","updatedPersonalDashboardNameHandlers","u","refreshDashboardsList","newDashboardName","showSnackbar","htmlEncoder","confirmDelete","open","confirmed","dashboardToUpdate","dashboardById","updateDashboard","refreshDashboards","userIdsSharedWith","Ref","draggable","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","VList","VListItem","IncidentsModule","VesselDataWidgetConfig","LogDataModule","Sidebar","helpCategories","selectedWidgetsConfigs","columns","fetchCalculatedLogData","updateVesselDataWidgetConfig","refreshVesselDataWidgetConfigs","isInteger","selectedWidgetConfigs","widgetConfig","getConfigById","configId","configsWithNotAllowedUnit","columnHasNotAllowedUnit","widgetsWithError","configsWithUnitError","widgetsWithErrorNameList","isAdmin","isSuperOrAdmin","extendedVessels","vesselsLoadingState","userCompanyId","updateDashboardsSequence","transform","performance","manageDashboardsDialog","refreshExtendedVessels","getAllOpenIncidents","initializeDashboard","VDivider","VListGroup","VListItemAction","VListItemContent","VListItemIcon","VListItemTitle","VMenu","VNavigationDrawer","VProgressLinear","VSelect","VSubheader","longTrendDateFormatted","cssClass","iconImageSrc","displayText","PerformanceStatusIcon","cssClassProp","iconImageSrcProp","displayTextProp","setStatusIconProps","performanceStatusHelper","deep","VesselTitle","trendDataMinDate","trendDataMaxDate","vPerformanceStatusIcon","months","getMonth","getFullYear","VersionClient","getVersion","componentKey","tabClickHandler","myNotificationCount","subitem","subindex","getTimeAgo","openVesselEvent","MarkAsAcknowledged","getConditionType","conditionDetails","announcementCount","MarkasRead","publishDate","activeTab","MarkAllAsRead","MarkAllAsAcknowledged","getConditionTypeFromKey","targetKey","AnnouncementModule","ShowAnnouncement","allAnnouncements","userDetails","myNotifications","latest","archived","MINUTE_IN_MS","subitems","$root","$on","fetchData","announcementListByUser","getFleetLevelOpenIncidents","isView","acknowledged","startRefreshTimer","refreshTimer","filterdata","UserEmail","CompanyId","AnnouncementId","announcementReadByUser","Id","utcDate","toLocaleString","localeMatcher","timeZoneName","dateValue","fromNow","conditionType","conditionTypeHelper","VFooter","VTab","VTabItem","VTabs","App","showSidebar","showNewVersionNotification","lastUsedVersion","errorEventBinding","unreadAnnouncementCount","announcementlistByUser","$store","delayedRegisterKnockoutComponents","checkIfNewVersion","isTokenValid","unwatchNameChanged","$watch","newVal","unacknowledgedIncidents","unacknowledgedIncidentsCount","currentVersion","reload","tooltip","vVesselTitle","VApp","VAppBar","VBadge","VListItemSubtitle","VMain","VSnackbar","containerClass","cardClass","maxWidth","DefaultContainer","Prop","ajaxPrefilter","opts","originalOpts","jqXHR","refreshRequest","dfd","args","expiryDate","rejectWith","current","vesselHistory","polylines","showVesselTrack","vesselMap","vesselMapHelper","addVesselMarker","addVesselTrack","centerOnMarkers","showVesselTrackBinding","removeVesselTrack","RotatedMarker","Marker","angle","rotationOrigin","_setPos","pos","_icon","DomUtil","TRANSFORM","Browser","ie","rad","DEG_TO_RAD","costheta","cos","sintheta","sin","rotatedMarker","addPolyline","addPreviousPositionMarkers","removeMarkers","removePolyline","createPolylines","currentVesselHistory","minPixelDistance","positionMarker","createMarker","postitionMarkerLatLng","positionMakerPoint","latLngToLayerPoint","isInvalidMarker","markerLatLng","markerPoint","getElementById","classList","removeLayer","polyline","getVesselHistoriesInTimeIntervals","timeBetweenVesselHistoriesInHours","someVesselHistories","latestVesselHistory","firstVesselHistory","exportDate","performanceStatusItems","isUpdating","updateError","descriptionLong","useInVesselStatusTooltipText","toggleUseInVesselStatus","showUseInVesselStatusToopltip","closeToopltip","useManualBenchmarkLevel","benchmarkLevelTooltipText","manualBenchmarkLevel","showBenchmarkLevelToopltip","initialPerformanceStatus","showText","longTrendUpdatedBinding","vesselPerformanceStatusesClient","getVesselEventTypeText","getVesselEventSourceText","source","vesselEventType","getVesselEventTypeImageSrc","iconName","getVesselEventSourceImageSrc","sourceText","vesselEventHelper","sourceImageSrc","typeText","typeImageSrc","showNameToopltip","hasSFRBenchmarkingError","benefit","firstConsequence","hasConsequenceResults","results","mcrDisplay","consequence","displayValue","isNaN","valueText","headerName","validationMessages","minManualBenchmarkLevel","maxManualBenchmarkLevel","isObservable","customCssClass","textSubscription","GraphVariableGroup","maxVariables","distinct","graphVariables","variableName","selectedGraphVariables","unselectedGraphVariables","selectedIds","selection","seperator","count","currentGroupIndex","clear","maxGroups","initialVariableSelection","initializeVariableSelection","variableSelection","groupVariableIds","groupName","currentGroup","addGroup","variableSelectionString","initialVariableStrings","removeEmptyLastElementFromArray","getInitialVariableSelectionGroups","getInitialVariableSelectionIds","variableSelectionStrings","initialIds","ids","timeErrorMessage","numberFormatErrorMessage","selectedTimeErrorMessage","setSelectedTimeErrors","lastPeriodError","timeError","setLastPeriodErrorMessage","isValueInvalid","empty","disableLastVoyage","lastVoyageDateString","isLastPeriodInputInvalid","isTimeInputInvalid","focused","selectedTimePeriodSubscriber","selectedTimeInMinutesSubscriber","intervalLimit","intervalInMilliseconds","minutesToMilliseconds","updateSelectedDataInterval","disableSelectedDataInterval","checkIfDataIntervalIsDisabled","incrementSelectedDataInterval","currentVariables","v","isDataIntervalAllowedForDataSize","isDataIntervalAllowedForSampleWindow","intervalMs","every","sampleWindowInMs","selectedTimeBinding","goldenRationConjugate","colorFromHsv","hue","saturation","hi","f","q","Color","g","getDistinctColor","h","string","isInitialized","lastZoomTime","plotlineTempMarkerId","initializeHighcharts","Highcharts","setOptions","chart","zoomType","spacingRight","marginTop","animation","credits","legend","xAxis","gridLineWidth","labels","plotOptions","series","enableMouseTracking","valueDecimals","exporting","sourceHeight","sourceWidth","getDefaultGenericLineChartOptions","yAxis","tickPixelInterval","plotBands","plotLines","chartOptions","getDefaultDiagnosticSplineHighchartsOptions","navigator","userAgent","getTrendLinesSeriesForLongTrendPeriods","trendline","start","end","getTrendLinesSeriesForCompareLongTrendPeriods","longTrendPeriodsGroupedByLongTrendId","longTrendPeriodGroup","vesselIndex","serie","colorHelper","getTrendLinesSeriesForCompareLastLongTrendPeriod","showRelativeYAxis","currentLongTrendPeriod","isCurrent","durationInMonths","valueDifference","startYValue","endYValue","getPlotBandsForLongTrendPeriods","bands","detailsData","toISOString","mouseover","svgElem","attr","mouseout","getPlotBandsForCompareLongTrendPeriods","orderedLongTrendPeriods","minStartLongTrend","maxEndLongTrend","getDataSeriesForLongTrendPeriods","longTrendData","lineWidth","getPlotLineForVesselEvent","html","label","rotation","useHTML","getPlotLinesForVesselEvents","lines","getBenefitPlotLineForVesselEvent","getPlotLineForVoyageEvent","occuredAt","eventName","getDefaultGenericPieChartOptions","pieSlices","plotBackgroundColor","plotBorderWidth","plotShadow","pointFormat","pie","allowPointSelect","cursor","dataLabels","colorByPoint","plotLineDateSelectMousedown","pointer","normalize","toValue","chartX","removePlotLine","addPlotLine","plotLineDateSelectCancel","getRegressionSerie","defaultSerie","isRegressionLine","showInLegend","merge","getScatterDataSerie","symbol","addExporting","curveMode","referenceCurveDataPoints","xAxisLogVariable","yAxisLogVariable","forceTonDayUnit","chartInfo","xAxisVariable","yAxisVariable","referenceCurveRegressionData","curvePredictionHelper","referenceCurveSerieData","referenceCurveSerie","highchartsHelper","XMin","XMax","extendedReferenceCurveSerieData","extendedReferenceCurveSerie","dashStyle","linkedTo","curveDataSerie","yAxisUnitCaption","layout","align","verticalAlign","borderWidth","highchartsOptions","selectedCurve","availableVariables","curveDataPoints","graphSeries","curveDataArray","curveDataStatistics","curveDataXMin","curveDataXMax","referenceCurveXMin","referenceCurveXMax","curveRegressionData","xAxisLogVariableId","yAxisLogVariableId","availableVariable","partitionedForOutliers","filteredDataPoints","outliers","outliersSerie","bestFitSerieData","predictionsSerieData","predictedDataArray","standardError","bestFitSerie","predictionsSerie","useHtml","formatter","getTooltipText","chartBinding","processedXData","processedYData","referenceCurveDataPointsBinding","setData","curvePredictionUpdatedBinding","pointX","pointY","isValidPoint","seriesName","predictionSerieName","predictedSerie","predictionSerieColor","addSeries","curvePoint","xAxisTitle","axisTitle","textStr","yAxisTitle","timePeriod","variableDataList","formatedStartDate","formatedEndDate","variableDataElement","isYAxis","average","timePeriods","sumOfActualFuelConsumption","sum","cpModule","actualFuelConsumption","sumOfReferenceFuelConsumption","referenceFuelConsumption","sumOfDifferenceInFuelConsumption","differenceBetweenConsumptions","sumOfDistanceTravelled","distanceTravelled","curveData","inputValue","prediction","isInputValid","predictions","predictionText","inputValueBinding","predictionPoint","removePoint","indexOfCurvePoint","CurveVM","sortedPredictions","addPredictions","isPredictedValueOutlier","predictedValue","hasAnyPredictedOutliers","addPoint","floatValue","pointExists","loaderText","loaderTextBinding","pieChartOptions","FuelConsumptionsByFuelType","flowMeterFuelConsumptions","actualFuelConsumptionInTon","fuelConsumptions","fuelConsumptionsByFuelTypes","groupedByFuelType","fuelConsumptionsByFuelType","enablePlotLineDateSelect","exportTitle","firstPoint","lastPoint","last","isTimelineData","radius","dateSelectStartedBinding","dateSelectEndedBinding","mousedown","departureVesselEvents","isDeleting","canDelete","vesselEventIndex","departureType","isLeftOk","isRightOk","notifySelect","deleteDeparture","isCreating","inputDate","inputTime","newVesselEvent","inputVesselEventDate","inputVesselEventTime","allowedFromMoment","allowedToMoment","sameTimestampVesselEvent","vesselEventTimestampMoment","isSame","leftOfTimestampVesselEventIndex","findLastIndex","leftOfTimestampVesselEvent","rightOfTimestampVesselEvent","getFlowMeterFuelConsumptionSourcePercent","vesselEventDurationInSeconds","flowMeterFuelConsumptionDurationInSeconds","countCorrectedValues","hasCorrectedValue","isVoyageInformationConfirmed","isVoyageDataConfirmed","distance","distanceSailed","hasCorrectedDistance","manualDistanceByGPS","totalDistanceByGPS","loggedDistanceByGPS","estimatedDistanceByGPS","currentDistance","flowMeterFuelConsumptionManualEstimatePercent","flowMeterFuelConsumptionRegressionPercent","flowMeterFuelConsumptionManualPercent","flowMeterFuelConsumptionLogDataPercent","missingFlowMeterFuelConsumptionPercent","roundedMissingFuelConsumptionPercent","missingDistancePercent","hasCorrectedTotalDistanceSailed","loggedDistanceByGPSPercent","estimatedDistanceByGPSPercent","roundedMissingDistancePercent","flowMeterFuelConsumptionPieSlices","distancePieSlices","hasMissingFlowMeterFuelConsumption","isStartOfVoyage","hasMissingDistance","validateVoyageDetails","isEndOfVoyage","validationErrorMessages","validatePortDetails","port","voyageValidationErrorMessages","portValidationErrorMessages","hasCompleteInformation","vesselEventSelectedBinding","canUnconfirm","previousDeparture","isPreviousDepartureLocked","informationConfirmedAt","isEndOfVoyageAndLocked","isConfirming","isUnconfirming","isLoadingFlowMeterFuelConsumptions","loadFlowMeterFuelConsumptions","isVoyageInformationConfirmedBinding","removeAll","activeOrInUseFlowMeters","isActive","isInUse","thisVesselEventIndex","previousVesselEventIndex","nextVesselEventIndex","departureIndex","flowMeterFuelConsumptionUpdatedBinding","updatedFuelConsumption","oldFuelConsumption","flowMeterFuelConsumptionDeletedBinding","deletedFuelConsumption","voyageVesselEventData","VoyageVesselEventData","unconfirm","deleteVesselEvent","flowMeterFuelConsumptionsClient","fuelTanks","isConfirmingVoyageInformation","isUnconfirmingVoyageInformation","isConfirmingVoyageData","isUnconfirmingVoyageData","isSendingEmissionReportToDnvGl","departureTimestampMoment","hasVeracityKey","hasEsgFeature","voyageVesselEvents","initVoyageVesselEvents","VoyageVesselEvent","newVoyageVesselEvent","selectedVoyageVesselEvent","deletedVoyageVesselEvent","isLoadingVoyageVesselEvents","loadUpdatedVoyageVesselEvents","isVoyageVesselEventsConfirmed","endOfVoyageVesselEvent","arrivalVoyageVesselEvent","departureVoyageVesselEvent","voyageVesselEventsByTimestampDescending","vesselEventTypesCount","groupedByType","requireEndBunkering","requireEndAnchoring","requireEndDrifting","requireStartBunkering","requireStartAnchoring","requireStartDrifting","canConfirmVoyageInformation","departureHasCompleteInformation","canConfirmVoyageData","hasMissingFlowMeterFuelConsumptionOrDistance","isMrvVoyage","isMrvPort","downloadEmissionReportUrl","downloadImoEmissionReportUrl","downloadDnvGlEmissionReportUrl","tabs","showDistanceAndFuelTabs","getNewSelectedTab","previousSelectedTab","initialSelectedTab","selectedTab","tabsBinding","newSelectedTab","selectTab","tab","toggleCollapsed","isCollapsed","toggleEditVoyageInformation","isEditingVoyageInformation","downloadMrvVoyageReport","downloadImoVoyageReport","downloadDnvGlVoyageReport","extraQueryDateHours","newQueryDates","drawPlotLines","voyageVesselEventsBinding","voyageVesselEventUpdatedBinding","plotLine","isCreatingVesselEventType","sortedVoyageVesselEvents","sortedVesselEvents","eventType","allowedFromVesselEventIndex","allowedFromVesselEvent","leftEventType","rightEventType","startCreatingVesselEvent","startCreatingDeparture","startCreatingArrival","startCreatingStartBunkering","startCreatingEndBunkering","startCreatingStartAnchoring","startCreatingEndAnchoring","startCreatingStartDrifting","startCreatingEndDrifting","cancelCreatingVesselEvent","createVesselEvent","requireAllCargoDetailsCreated","isAllCargoDetailsCreated","getVoyageVesselEventCargoDetails","vesselCargoUnits","cargoUnitIdsInUse","vesselCargoUnitIds","activeOrInUseCargoUnits","VoyageVesselEventCargoDetail","isAllCargoDetailsCreatedOutput","voyageVesselEventCargoDetails","isLoadingCargoDetails","forceShowCargoDetails","voyageVesselEventCargoDetail","showCargoDetails","createdCargoDetails","vesselEventCargoDetailDeletedBinding","isAllCargoDetailsCreatedBinding","toggleForceShowCargoDetails","nearestLocation","inputGeoCoordinate","loadingFailed","vesselLocations","queryFromDate","queryToDate","vesselEventTimestamp","vesselLocationsClient","sortedByNearness","vesselLocation","firstNearestLocation","equallyNearVesselLocations","vesselEventLocation","logDataLocation","vesselEventsClient","fuelTankId","fuelTankOperation","Tab","componentName","selectedFuelTank","isMissingFuelOperations","departureDate","departureVesselEvent","minFuelOperationInputDate","isLoadingFuelTankOperations","fuelTankOperations","selectedFuelTankBinding","newFuelTank","findFuelTankOperations","sortedFuelTankOperations","fuelOperationsQueryDates","fuelTankOperationDeletedBinding","fuelTankOperationCreatedBinding","isMissingFuelOperationsBinding","fuelTankOperationsClient","fuelTankFuelConsumption","fuelTankFuelConsumptionDeleted","fuelTankFuelConsumptions","sortedFuelTankFuelConsumptions","search","fuelTankFuelConsumptionsClient","fuelAdjustmentTooltipText","inputFuelTypeId","inputFuelDensity","inputFuelAdjustmentInTon","inputSulphurContent","newFuelTankOperation","fuelDensity","fuelAdjustmentInTon","sulphurContent","isNewFuelTankOperationValid","minInputDate","minInputTimestampDate","maxInputTimestamp","maxInputTimestampDate","addFuelTankOperation","showFuelAdjustmentTooltip","fuelTankSounding","fuelTankSoundings","inputFuelAmountInTon","inputFuelAmountInCubicMetres","inputFuelTemperatureInDegreesCelcius","newFuelTankSounding","FuelTankId","fuelAmountInTon","fuelAmountInCubicMetres","fuelTemperatureInDegreesCelcius","isNewFuelTankSoundingValid","sortedFuelTankSoundings","maxInputDate","fuelTankSoundingDeletedBinding","sortedFuelTankSoundingsBinding","lastFuelTankSounding","nextSuggestedTimestamp","addFuelTankSounding","fuelTankSoundingsClient","flowMeters","selectedFlowMeter","missingFlowMeterFuelConsumptions","filteredFlowMeterFuelConsumptions","sailingStartAt","sailingEndAt","timeRanges","uniqueTimeRanges","unique","missingTimeRanges","orderedUniqueTimeRanges","missingFlowMeterFuelConsumption","missingTimeRange1","missingTimeRange","missingFuelConsumption","flowMeterFuelConsumptionSource","sortedFlowMeterFuelConsumptions","showNewFlowMeterFuelConsumption","inputConsumptionStartDate","inputConsumptionStartTime","inputConsumptionEndDate","inputConsumptionEndTime","newFlowMeterFuelConsumption","overlappingFlowMeterFuelConsumption","flowMeterFuelConsumptionStartAt","flowMeterFuelConsumptionEndAt","validationErrorMessage","initializeDates","firstMissingFlowMeterFuelConsumptions","missingFlowMeterFuelConsumptionsBinding","addFlowMeterFuelConsumption","cancelNewFlowMeterFuelConsumption","startNewFlowMeterFuelConsumption","flowMeterOperation","flowMeterOperations","inputEstimatedFuelMassFlowRateInTonDay","newFlowMeterOperation","estimatedFuelMassFlowRateInTonDay","isNewFlowMeterOperationValid","sortedFlowMeterOperations","minInputTimestamp","selectedFlowMeterBinding","newFlowMeter","flowMeterOperationDeletedBinding","addFlowMeterOperation","flowMeterOperationsClient","speedLogVariables","isLoadingSpeedLogVariables","expirationDate","viewVeracityKey","editVeracityKey","isAddingCargoUnit","isRemovingCargoUnit","vesselUnwrapped","inputCargoUnitId","inputVesselTypeId","inputIceClassId","vesselTypes","isLoadingVesselTypes","vesselTypesClient","iceClasses","isLoadingIceClasses","iceClassesClient","iceClassId","inputPortOfRegistry","inputHomePort","inputEnergyEfficiencyDesignIndex","energyEfficiencyDesignIndex","inputEstimatedIndexValue","estimatedIndexValue","inputAuxiliaryEnginesPower","auxiliaryEnginesPower","inputMainPropulsionPower","mainPropulsionPower","inputDeadweight","deadweight","inputNetTonnage","netTonnage","inputGrossTonnage","grossTonnage","inputOwnerCompanyName","inputOwnerCompanyAddress","inputOperatorCompanyName","inputOperatorCompanyAddress","inputEmissionsContactPersonName","inputEmissionsContactPersonAddress","inputEmissionsContactPersonPhone","inputEmissionsContactPersonEmail","hasVesselCargoUnits","availableCargoUnits","vesselCargoUnit","fuelTypes","manualFlowMeters","fuelMassFlowRateLogVariableId","hasFlowMeter","hasFuelTank","isMissingTemplateSettings","fuelConsumptionSources","massFlowRateLogVariables","showNewFlowMeter","hasError","isLoadingFuelConsumptionSources","isLoadingMassFlowRateLogVariables","fuelConsumptionSourcesClient","inputFuelConsumptionSources","inputName","inputFuelMassFlowRateLogVariableId","isNewFlowMeterValid","newFlowMeterExists","newFlowMeterName","activeFlowMeter","flowMeterDeletedBinding","hasActiveFlowMeters","availableMassFlowRateLogVariables","inUseFuelMassFlowRateLogVariableId","massFlowRateLogVariable","addFlowMeter","cancelNewFlowMeter","clearNewFlowMeter","startNewFlowMeter","fuelMassFlowRateLogVariableName","showNewFuelTank","isNewFuelTankValid","newFuelTankExists","fuelTankDeletedBinding","hasActiveFuelTanks","newFuelTankName","activeFuelTank","addFuelTank","cancelNewFuelTank","clearNewFuelTank","startNewFuelTank","showNewFuelType","inputShortName","inputCarbonEmissionFactor","newFuelType","carbonEmissionFactor","isNewFuelTypeValid","fuelTypeDeletedBinding","hasActiveFuelTypes","addFuelType","cancelNewFuelType","startNewFuelType","inputType","cancelFunction","successFunction","dialogVisible","helpText","isConfirmButtonEnabled","isTextInputVisible","successButtonText","isConfirmButtonDisabled","valueBinding","errorValue","isTabSelected","updateMenuTab","FeaturesClient","dataReceiver","features","getFeatures","getDataReceiverEvent","isVesselEmpty","isImoNumberTaken","companyContainsVesselWithImoNumber","selectedCompany","assignedVessel","isImoNumberInCompany","featuresClient","displayAssignError","assignError","companySubscription","companyContainVesselWithImoNumber","feature","enabledFeatures","isFeatureInitiallyEnabled","isFeatureEnabled","isFeatureEnabledBinding","isEnabled","activate","deactivate","getFeatureText","featureText","ImportStatistic","tableName","rowCount","importDurationText","ticksPerMs","ticksPerSecond","importDurationInMs","returnToStatusPage","ascSort","displayedImports","numberOfPages","pages","changeCurrentPage","page","rowsPerPageSubscription","goToFirst","viewImportDetails","importStatus","sortByDuration","goToLast","nextPage","previousPage","selectedRole","roleAlternatives","canEditRole","userRole","isAdministrator","initialUserSortParameter","cookie","expires","initialUserSortDirection","userSortParameter","userSortDirection","sortedUsers","getUserSortValue","sortParameter","lastActivityDate","isUserOnline","tenMinutesAgo","isAfter","getHeaderSortCssClass","parameter","toggleSortDirection","newUserSortDirection","viewUserClick","editUserClick","deleteUserClick","addUserClick","apiKeyClick","isGenerateApiKeyVisible","isClearApiKeyVisible","hasApiKey","cancelGenerateApiKey","cancelClearApiKey","showGenerateApiKeyDialog","showClearApiKeyDialog","isClearKeyVisible","firstLongTrend","headingText","diagnosticTypeHelpText","isDiagnosticTypeHelpOpen","toggleDiagnosticTypeHelpTooltip","hideDiagnosticTypeHelpTooltip","isZoomedOut","zoomMin","zoomMax","trendLinesSeries","firstLongTrendPeriod","firstPlotBand","yUnit","isRpm","isRpmDiagnostic","yMax","maximumValue","yMin","minimumValue","setExtremes","axis","userOptions","dataMin","dataMax","headerFormat","xDateFormat","valueSuffix","zoomAllHelpText","zoomMinText","zoomMaxText","isZoomAllHelpOpen","zoomAllGraphs","charts","resetZoomButton","showResetZoom","toggleZoomAllHelpTooltip","hideZoomAllHelpTooltip","showLastTrendPeriodOnly","subHeadingText","toggleShowLastTrendPeriodOnly","toggleRelativeYAxis","xUnit","axisType","VesselCompareRowData","lastExportDateText","vesselLongTrend","vesselLongTrendIds","vesselLongTrends","vesselLongTrendPeriods","sortedVesselLongTrendPeriods","lastLongTrendPeriod","lastPeriodStartDate","lastPeriodStartDateText","isBenchmarking","changePerYear","coefficient","benchmarkPointValue","benchmarkPoint","deviationFromBenchmark","vesselCompareRowData","inputMcrPercent","vesselSortParameter","vesselSortDirection","vesselLongTrendRowViewModels","sortedVesselCompareRowDatas","vesselLongTrendRowViewModel","isLoadingConsequences","consequencesMap","consequenceHeaders","allConsequences","allConsequenceResults","distinctHeaderNames","loadConsequences","consequencesClient","getMrcConsequenceIndexFromMcrPercent","mcrPercent","vesselColor","mcrConsequenceIndex","consequenceValues","consequenceResults","consequenceHeader","consequenceResult","headerSortCssClass","tooltipText","isTooltipOpen","newVesselSortDirection","companyList","isLoadingCompanyList","initialCompanySortParameter","initialCompanySortDirection","companySortParameter","companySortDirection","sortedCompanyList","getCompanySortValue","createdDate","subscriptionStatus","newCompanySortDirection","viewCompanyClick","viewAsCompanyClick","editCompanyClick","deleteCompanyClick","addCompanyClick","subscriptionAlternatives","editAccessGroupClick","renameAccessGroupClick","addAccessGroupClick","deleteAccessGroupClick","isLoadingUsers","isCriticalError","vesselsInAccessGroup","vesselsAvailable","usersInAccessGroup","usersAvailable","loadUsers","closeErrorDialog","addVessel","addVesselToCategory","removeVessel","removeVesselFromCategory","addUser","addUserToCategory","removeUserFromCategory","formatLatLongValue","latLongType","coordinateParts","getCoordinateParts","degrees","direction","isLatitude","latLongMinLimit","latLongMaxLimit","absoluteValue","minuteFraction","latLongPositiveSymbol","latLongNegativeSymbol","numberHelper","latitudeText","locationHelper","geoCoordinate","longitudeText","timestampText","inputLatitudeDegrees","inputLatitudeMinutes","inputLatitudeDirection","inputLongitudeDegrees","inputLongitudeMinutes","inputLongitudeDirection","initialLocation","validationErrors","latitudeParts","longitudeParts","currentGeoCoordinate","latitudeMultiplier","longitudeMultiplier","rendered","slideToggle","isVisible","hide","isSliding","complete","slideComplete","callbackContext","slideStart","slideDown","slideUp","defaultFormat","highcharts","Chart","AST","allowedAttributes","allowedReferences","numberFormat","defaultPrecision","formattedValue","undefinedIfEmpty","registerEventHandler","UpdatePickerDateProperty","picker","newDateValue","datepicker","pickadate","formatSubmit","selectYears","selectMonths","firstDay","hiddenSuffix","onSet","onClose","blur","minDateBinding","minDateValue","newMinDate","newMinDateMoment","currentDateMoment","maxDateBinding","maxDateValue","newMaxDate","newMaxDateMoment","scrollTop","div","scrollToElement","animate","offset","compareValues","asc","highlightColumn","tableRows","querySelectorAll","elementIndex","row","child","removeHighlighted","currentIndex","vesselsTableSort","tableHeaderRow","clickOutside","bindingContext","namespace","getNamespace","clickBinding","argsForHandler","makeArray","unshift","arrayLikeObject","mapObj","submitForm","change","something","form","humanizedDuration","textWithLineBreaks","tooltipValidation","validationObservable","isModified","datetimeFormat","datetime","formattedDateTime","deleteStylesWithin","deleteStyles","$elements","removeAttr","uniqueId","prefix","counter","uniqueFor","after","register","curvesFrame","treeSelect","curvesAbout","curvesHelp","importDetails","importStatusTable","longTrendConfig","featureNotAvailable","vesselFeature","assignVessel","vesselAdminTable","vesselsMenu","vesselAdmin","inputDialog","vesselFiles","generalSettings","emissionReportTemplate","vesselSettings","fmOperation","fmOperations","fmFuelConsumption","fmFuelConsumptionCreate","fmFuelConsumptions","flowMeterManagement","ftSounding","ftSoundings","ftOperation","ftOperations","ftFuelConsumption","ftFuelConsumptions","fuelTankManagement","voyageVesselEventLocation","voyageVesselEventDistance","voyageVesselEventCargos","voyageVesselEventPort","voyageVesselEventVoyage","voyageVesselEventTimeStamp","voyageVesselEventListItem","voyageVesselEventList","voyageChart","voyageCreate","departureListItem","departureList","voyagesChart","fuelConsumptionSummary","emissionReport","dataPie","vesselInfoMap","vesselPerformanceStatus","vesselPerformanceStatusItem","longTrendBenchmarkLevelIcon","performanceStatusIcon","componentLoading","vesselEventIcon","benefitsTable","benefitConsequence","benefitConsequenceResult","longTrendBenchmarkLevelSettings","loggingHistoryConfig","graphConfigVariableSelection","graphConfigTimePeriod","graphConfigDataInterval","curveEditGraph","curveGraph","cpModuleTable","curvePredictionTable","cssLoader","userList","userForm","userInfo","userApiKey","compareVessels","compareVesselsLongTrends","compareVesselsLongTrendsGraph","compareVesselsLongTrendsDetails","compareVesselsLongTrendsDetailsGraph","compareVesselsLongTrendsDetailsTable","compareVesselsLongTrendsDetailsTableRow","compareVesselsLongTrendsDetailsTableHeader","companyManager","companyTable","companyInfo","companyForm","vesselNotes","vesselAccessGroup","vesselAccessGroupList","vesselAccessGroupEditor","vesselAccessGroupName","geoCoordinates","geoCoordinatesEdit","Icon","Default","_getIconUrl","mergeOptions","iconRetinaUrl","iconUrl","shadowUrl","DateFilterDMYT","toLocaleDateString","hour","minute","DateFilterDMY","prettyLatitude","prettyLongitude","prettyLogVariable","companyNameFilter","koValidation","registerExtenders","messagesOnModified","insertMessages","parseInputAttributes","messageTemplate","decorateInputElement","errorElementClass","ajaxSetup","productionTip","defaultContainer","VueCookies","googleAnalyticsId","isGoogleAnalyticsEnabled","hostnameParts","hostname","subdomain","VueGtag","vuetify","$mount","green","orange","red","blue","gray","gpsUp","UserService","_user","_userExpired","newUserData","daysBeforeDataOutdated","companyName","_vesselGroupsExpired","_vesselGroups","vesselGroupClient","refreshVesselGroups","_trendEventTypes","_infoEvents","_trendEvents","VesselEventsClient","concat","category","vesselCategoryId","getParentId","table","getDataValues","parentId","getCurveDataValues","getCpModuleValues","getDeviationFromReferenceYAxis","getAverageValueOfVariable","updateSortIcons","otherIcons","getElementsByClassName","curveTableSort","dataValues","disabled","isWidgetFromDateModalActive","$refs","menuFromDate","isWidgetFromTimeModalActive","menuFromTime","isWidgetToDateModalActive","menuToDate","isWidgetToTimeModalActive","menuToTime","syncWidgetDateRange","setSyncWidgetDateRange","VDatePicker","VTimePicker","_currentVessel","_vessels","_extendedVessels","_vesselTypes","_extendedVesselsExpired","_vesselsLoadingState","_currentVesselLoading","currentVesselIndex","types","vesselPerformance","created","ballastDraftHigh","ballastDraftLow","ladenDraftHigh","ladenDraftLow","draftMeanErrorMessage","ballastDraftHighErrorMessage","ballastDraftLowErrorMessage","ladenDraftHighErrorMessage","ladenDraftLowErrorMessage","imoNumberErrorMessage","nameErrorMessage","isImoNumberValid","isDraftValid","isBallastDraftHighValid","isBallastDraftLowValid","isLadenDraftHighValid","isLadenDraftLowValid","isNameValid","getCompany","formattedImoNumber","formattedNumber","formattedCreatedDate","formattedLastExportDate","isVesselValid","nameBinding","getNameErrorMessage","validateField","imoNumberBinding","getImoNumberErrorMessage","draftMeanBinding","getDraftMeanErrorMessage","ballastDraftHighBinding","getBallastDraftHighErrorMessage","ballastDraftLowBinding","getBallastDraftLowErrorMessage","ladenDraftHighBinding","getLadenDraftHighErrorMessage","ladenDraftLowBinding","getLadenDraftLowErrorMessage","errorMessageObservable","fieldValidationObservable","getDraftErrorMessage","draftValue","fieldName","getVessel","existingVessel","draftErrorMessage","imonNumberErrorMessage","doneCallback","archive","reactivate","updateDataReceiver","newIsDataReceiver","actionName","confirmResult","inputManualDistanceByGPS","setInitialInputManualDistanceByGPS","distanceBinding","isNegativeXValueAllowed","isNegativeYValueAllowed","dataPoint","isXValid","isYValid","secondsToMinutes","seconds","secondsToHours","secondsToDays","daysToHours","VesselFilesClient","fileId","getFileUrl","$_vesselLongTrends","updatedLongTrend","contactName","contactPhone","contactEmail","dcMasterDataCompanyId","getOriginalCompany","companyOnCreatedBinding","newCompany","companyOnUpdatedBinding","oldCompany","updatedCompany","companyOnRemovedBinding","removedCompany","CompanyListVM","companyViewBinding","CompanyVM","companyViewAsBinding","viewAsCompany","companyEditBinding","companyAddBinding","companyDeleteBinding","createCompany","removeCompany","editCompany","isCurrentUserInCompany","VesselDataWidgetClient","vesselDataWidgetConfiguration","vesselDataWidgetConfigId","_vesselDataWidgetConfigsExpired","_vesselDataWidgetConfigs","vesselDataWidgetConfigs","configIndex","vesselDataWidgetClient","tableWidgetId","vesselDataWidgetConfig","configurationName","createdVesselDataWidgetConfig","loCode","inputPortName","inputPortIsMrvPort","inputLoCode","isFindingPorts","foundPorts","findPortsTimeout","inputPortNameSubscription","portName","findPorts","selectFoundPort","portsClient","icons","ok","iconSize","popupAnchor","observe","notok","benchmarking","previousPosition","getIcon","vLocation","latSplitted","longSplitted","latDegrees","longDegrees","latRangeOk","longRangeOk","locationAvailable","popup","bubbleContent","voyageName","prettyLogSpeed","prettyGpsSpeed","prettyCourse","prettyDraftMean","prettyTrim","setContent","prettyExportDate","bindPopup","createFrontPageMarker","initialIsPopupOpen","closeOnClick","autoClose","domelem","toggleClass","removeEventListener","markerPopup","getPopup","getElement","findMaxDiffLongitude","x5","x4","x3","x2","latLngLists","latLngs","prevLatitude","prevLongitude","maxDiffLatitude","diffLatitude","diffLongitude","averageLatitude","maxDiffLongitude","latLngListsWithAtLeastTwoItems","latLngList","smoothFactor","opacity","createPolylinesForMapWidget"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAIp5C,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GACrqBR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,GAAGxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OAC53CyC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,iOClQT,SAAS+F,EAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKE,kBAAoBH,EAAOG,kBAChCF,EAAKG,YAAcJ,EAAOG,kBAAkBC,YAC5CH,EAAKI,UAAYC,IAAGC,YAAW,GAE/BN,EAAKO,mBAAqBF,IAAGC,WAAWE,OAAWC,sBAAsBT,EAAKG,cAAcO,YAC5FV,EAAKW,mBAAqBN,IAAGC,WAAWE,OAAWI,sBAAsBZ,EAAKG,cAAcO,YAE5FV,EAAKa,4BAA8BC,OAAOC,qBAAqBC,KAAI,SAASC,GACxEjB,EAAKO,mBAAmBC,OAAWC,sBAAsBQ,IACzDjB,EAAKW,mBAAmBH,OAAWI,sBAAsBK,OAG7DjB,EAAKkB,sBAAwBb,IAAGc,cAAa,WACzC,IAAIZ,EAAqBP,EAAKO,qBAC1BI,EAAqBX,EAAKW,qBAC1BS,EAAkBZ,OAAWa,YAAYd,EAAoBI,GAG7DW,GAFctB,EAAKG,cAEGH,EAAKE,kBAAkBoB,uBACjD,GAAIA,EAAqB,CACrB,IAAIC,EAA4BC,IAAOC,IAAIH,EAAoBZ,WAC/D,GAAIU,GAAmBG,EAA2B,OAAO,EAG7D,IAAIG,EAAkB1B,EAAKE,kBAAkBwB,kBAC7C,GAAIA,EAAiB,CACjB,IAAIC,EAAwBH,IAAOC,IAAIC,EAAgBhB,WACvD,GAAIU,GAAmBO,EAAuB,OAAO,EAGzD,OAAO,KAIf7B,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKY,4BAA4BgB,UAGrC/B,EAAUzG,UAAUyI,aAAe,SAASC,EAAIhH,GAC5C,IAAIiH,EAAWC,EAAElH,EAAEmH,eAAeC,QAAQ,iBAC1ClC,KAAKG,WAAU,GACfU,OAAOsB,kBAAkBC,WAEzB,IAAIC,EAASN,EAASO,KAAK,mBAC3BD,EAAOE,QACPF,EAAOG,UAGX3C,EAAUzG,UAAUqJ,cAAgB,SAASX,EAAIhH,GAC7CkF,KAAKG,WAAU,GACfU,OAAO6B,gBAAgBN,YAG3BvC,EAAUzG,UAAUuJ,KAAO,WACvB,IAAI5C,EAAOC,KACPE,EAAc0C,aAAEC,MAAM9C,EAAKG,eAC3B4C,EAAO/C,EAAKO,qBACZyC,EAAOhD,EAAKW,qBAChBR,EAAYO,UAAYF,OAAWyC,oBAAoBF,EAAMC,GAE7DE,OAAiCC,OAAOhD,GAAaiD,MAAK,WACtDpD,EAAK0C,oBAIE,QAAEW,UAAWvD,EAAWwD,SAAUA,O,2CC3EjDzI,EAAOD,QAAU,8lB,qBCCjB,IAAI8B,EAAO,gnQAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,udAEX7B,EAAOD,QAAU8B,G,uBCHjB7B,EAAOD,QAAU,IAA0B,6D,qBCC3C,IAAI8B,EAAO,uNAEX7B,EAAOD,QAAU8B,G,0NCKjB,SAAS6G,EAAkBC,EAAMC,EAAUC,EAAaC,GACpDd,aAAEe,KAAKD,KAAiB,SAASE,GAC7B,IAAIC,EAAajB,aAAEN,KAAKmB,KAAe,SAAUI,GAC7C,OAAOA,EAAWC,eAAiBF,EAAaE,gBAGhDD,GACAJ,EAAYM,OAAOF,MAK/BzD,IAAG4D,gBAAgBC,WAAa,CAC5BC,KAAM,SAAUC,EAASC,EAAeC,GACpC,IAAIC,EAAWF,IAAgBE,SAE3BC,GADOH,IAAgBb,KACda,IAAgBG,QACzBC,EAAcJ,IAAgBI,YAC9BC,EAAeL,IAAgBK,aAC/BC,EAAcN,IAAgBM,YAC9BC,EAAuBP,IAAgBO,qBACvCjB,EAAgBU,IAAgBV,cAChCD,EAAcW,IAAgBX,YAElCzB,IAAEmC,GAASS,SAAS,CAChBC,cAAe,wGACfC,oBAAqB,sFACrBC,IAAKC,uBAAqDV,EAC1DlH,QAAS,IACT6H,QAASC,iBACThB,KAAM,WACFlE,KAAKmF,GAAG,WAAW,SAAU5B,EAAM6B,GAC/B9B,EAAkB8B,EAAY7B,EAAK1F,KAAM4F,EAAaC,GACtD7C,OAAOwE,mBAAmBjD,SAASgD,GACnCX,EAAa,OACdU,GAAG,SAAS,SAAU5B,EAAM+B,GAC3B,IAAI1H,EAAUgF,aAAE2C,YAAYD,EAAS1H,SAAW0H,EAAWA,EAAS1H,QAEpE6G,EAAa7G,GACb4G,GAAY,MACbW,GAAG,aAAa,SAAU5B,GACzB,IAAIC,EAAWe,IAAST,aAAeP,EAAK1F,KAExC2H,EAAa5C,aAAE6C,KAAKd,KAAwB,SAAUpB,GACtD,OAAOA,EAAKC,aAAeA,KAG/BD,EAAKmC,OAAOC,SAAWnC,EAEnBgC,IACKI,QAAQrC,EAAK1F,KAAO,gDACrBmC,KAAK6F,WAAWtC,OAGzB4B,GAAG,WAAW,WACbT,GAAY,MACbS,GAAG,YAAY,WACdT,GAAY,UAK5BxB,OAAQ,SAAUiB,EAASC,EAAeC,M,gBCjE9C,SAASyB,EAAiBC,EAAOxB,GAC7B,IAAIT,EAAaS,EAAOT,aACpBkC,EAAgB,GAgBpB,OAdApD,aAAEe,KAAKoC,GAAO,SAAUxC,GACpB,IAAIC,EAAWD,EAAKC,WAChByC,EAAgD,IAAjCzC,EAAS0C,QAAQpC,GAEpC,GAAImC,EAAc,CACd,IAAIE,EAAgB3C,EAAS4C,QAAQtC,EAAY,IAC7CuC,GAAqD,IAAhCF,EAAcD,QAAQ,KAE3CG,GACAL,EAAcxM,KAAK+J,OAKxByC,EAGX,SAASM,EAAW/C,EAAMgD,EAAa9C,EAAac,GAChDhB,EAAKC,SAAS+C,GACdC,OAAkBtD,OAAOK,EAAKkD,WAC9BlC,EAAOmC,cAAa,GACpBjD,EAAYM,OAAOQ,GAGvBnE,IAAG4D,gBAAgB2C,cAAgB,CAC/BzC,KAAM,SAAUC,EAASC,EAAeC,GACpC,IAAIuC,EAAWxC,IAAgBwC,SAC3BC,EAAmBzC,IAAgByC,iBACnCnO,EAAO0L,IAAgB1L,KACvB+K,EAAcW,IAAgBX,YAC9BsC,EAAQ3B,IAAgB2B,MAE5B/D,IAAEmC,GAASgB,GAAG,aAAa,SAAUhJ,GAC5ByK,GACDC,EAAiBnO,MAEtByM,GAAG,sBAAsB,SAAUhJ,GAClCA,EAAM2K,iBAEFF,IACAzC,EAAQ4C,WAAa,gBAE1B5B,GAAG,kBAAkB,SAAUhJ,GAC1ByK,IACAzC,EAAQ4C,UAAY5C,EAAQ4C,UAAUX,QAAQ,0BAA2B,QAE9EjB,GAAG,QAAQ,SAAUhJ,GAGpB,GAFAA,EAAM2K,iBAEFF,EAAU,CACV,IAAIrD,EAAOsD,IACPrD,EAAWD,EAAKyD,sBAChBT,EAAc7N,EAAKoL,aAAeN,EAClCwC,EAAgBF,EAAiBC,IAASrN,GAG1CuO,EAAerE,aAAEN,KAAK0D,GAAe,SAAUzC,GAC/C,OAAOA,EAAKyD,wBAA0BxD,KAGtCyD,EACIrB,QAAQpC,EAAW,kDACR,EACXgD,OAAkBzC,OAAOkD,EAAaC,MAAM/D,MAAK,WAC7C4C,EAAMhC,OAAOkD,GACbX,EAAW/C,EAAMgD,EAAa9C,EAAa/K,OAInD4N,EAAW/C,EAAMgD,EAAa9C,EAAa/K,QAK3DwK,OAAQ,SAAUiB,EAASC,EAAeC,M,0FC7E1CxE,EAAY,SAAcsH,GAC1B,IAAIpH,EAAOC,KAEXD,EAAKqH,oBAAsB,CACvBC,MAAO,CAAC,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,QACrDC,KAAM,CAAC,MAAO,OAAQ,MAAO,OAAQ,OAAQ,QAC7CC,IAAK,CAAC,QAGVxH,EAAKyH,YAAc,OACnBzH,EAAKmH,GAAK9G,IAAGC,WAAW8G,EAAWD,IACnCnH,EAAKyD,SAAWpD,IAAGC,WAAW8G,EAAW3D,UACzCzD,EAAK0H,aAAerH,IAAGC,WAAW8G,EAAWM,cAC7C1H,EAAKuE,SAAWlE,IAAGC,WAAW8G,EAAW7C,UACzCvE,EAAK2H,SAAWtH,IAAGC,WAAW8G,EAAWO,UACzC3H,EAAK4H,aAAevH,IAAGC,WAAW8G,EAAWQ,cAC7C5H,EAAK6H,WAAaxH,IAAGC,WAAW8G,EAAWS,YAC3C7H,EAAK8H,SAAWzH,IAAGC,WAAW8G,EAAWU,UACzC9H,EAAK+H,kBAAoB1H,IAAGC,YAAW,GACvCN,EAAKgI,QAAU3H,IAAGC,aAElBN,EAAKiI,SAAW5H,IAAGc,cAAa,WAC5B,IAAI+G,EAAgBlI,EAAKkI,gBAAgBC,cACrCd,EAAsBrH,EAAKqH,oBAE/B,OAAIxE,aAAE6C,KAAK2B,EAAoBC,OAAO,SAASc,GAAa,OAAOA,IAAcF,KACtE,qCACArF,aAAE6C,KAAK2B,EAAoBE,MAAM,SAAUa,GAAa,OAAOA,IAAcF,KAC7E,mCACArF,aAAE6C,KAAK2B,EAAoBG,KAAK,SAAUY,GAAa,OAAOA,IAAcF,KAC5E,iCAGJ,MAGXlI,EAAKkI,cAAgB7H,IAAGc,cAAa,WACjC,IAAIsC,EAAWzD,EAAKyD,WACpB,OAAOA,EAAS4E,MAAM,KAAKC,SAG/BtI,EAAKuI,kBAAoBlI,IAAGc,cAAa,WACrC,IAAI2G,EAAW9H,EAAK8H,WACpB,OAAOU,OAAaC,kBAAkBX,MAG1C9H,EAAK0I,aAAerI,IAAGc,cAAa,WAChC,IAAIuG,EAAe1H,EAAK0H,eAExB,OAAOlG,IAAOkG,GAAciB,OAAO,0BAGvC3I,EAAK4I,iBAAmBvI,IAAGc,cAAa,WACpC,IAAI6G,EAAUhI,EAAKgI,UAAY,IAAMhI,EAAKkI,gBAC1C,MAAO,wBAA0BF,EAAU,qBAG/ChI,EAAK6I,OAAS,WACV,IAAIb,EAAUhI,EAAKgI,UACfvE,EAAWzD,EAAKyD,WAChBwD,EAAsBjH,EAAKiH,sBAE/B,GAAIe,IAAYf,EAAhB,CAIA,IAAIiB,EAAgB,IAAMzE,EAAS4E,MAAM,KAAKC,MACfE,OAAaM,SAASd,EAASE,GAAe,GAC7EF,GAAWE,EAEXzE,EAAWA,EAAS4C,QAAQY,EAAqBe,GACjDhI,EAAKyD,SAASA,GAEdgD,OAAkBtD,OAAOnD,EAAK0G,aAGlC1G,EAAKiH,oBAAsB5G,IAAGc,cAAa,WACvC,IAAIsC,EAAWzD,EAAKyD,WAEpB,OAA+B,IAA3BA,EAAS0C,QAAQ,KACV1C,EAEAA,EAAS4E,MAAM,KAAKxI,OAAO,GAAG,MAI7CG,EAAK+I,yBAA2B1I,IAAGc,cAAa,WAC5C,IAAIsC,EAAWzD,EAAKiH,sBAChBiB,EAAgB,IAAMlI,EAAKkI,gBAC/B,OAAOzE,EAAS4C,QAAQ6B,EAAe,OAG3ClI,EAAKgJ,UAAY,WACb,IAAIvF,EAAWzD,EAAKyD,WAChBwF,EAAuBxF,EAASyF,OAAO,EAAGzF,EAAS0F,YAAY,MAEnEnJ,EAAKgI,QAAQiB,KAIrBnJ,EAAUzG,UAAU+P,uBAAyB,SAAS3F,GAClD,OAA+B,IAA3BA,EAAS0C,QAAQ,KACV1C,EAEAA,EAAS4E,MAAM,KAAKxI,OAAO,IAI1CC,EAAUzG,UAAUgQ,aAAe,WAC/B,IAAItB,EAAoB9H,KAAK8H,oBAC7B9H,KAAK8H,mBAAmBA,IAG5BjI,EAAUzG,UAAUiQ,aAAe,SAAUC,GACzCtJ,KAAK8H,mBAAkB,IAG3BjI,EAAUzG,UAAUqN,QAAU,WAC1B,IAAI1G,EAAOC,KAEPuD,EAAO,CACP2D,GAAInH,EAAKmH,KACT1D,SAAUzD,EAAKyD,WACfqE,SAAU9H,EAAK8H,WACfJ,aAAc1H,EAAK0H,eACnBG,WAAY7H,EAAK6H,aACjBtD,SAAUvE,EAAKuE,WACfqD,aAAc5H,EAAK4H,gBAGvB,OAAOpE,GAGI1D,QCzIXA,EAAY,SAAgB0J,EAAYzF,EAAY4C,GACpD,IAAI3G,EAAOC,KAEXD,EAAKyH,YAAc,SACnBzH,EAAKwJ,WAAanJ,IAAGC,WAAWkJ,GAChCxJ,EAAK+D,WAAa1D,IAAGC,WAAWyD,GAChC/D,EAAK2G,aAAetG,IAAGC,WAAWqG,GAElC3G,EAAK+H,kBAAoB1H,IAAGC,YAAW,GACvCN,EAAKgI,QAAU3H,IAAGC,WAAWkJ,GAE7BxJ,EAAK4I,iBAAmBvI,IAAGc,cAAa,WACpC,IAAI6G,EAAUhI,EAAKgI,UACnB,MAAO,0BAA4BA,EAAU,qBAGjDhI,EAAKgJ,UAAY,WACb,IAAIQ,EAAaxJ,EAAKwJ,aACtBxJ,EAAKgI,QAAQwB,KAIrB1J,EAAUzG,UAAUgQ,aAAe,SAAUjF,GACzC,IAAI2D,EAAoB9H,KAAK8H,oBAC7B9H,KAAK8H,mBAAmBA,IAG5BjI,EAAUzG,UAAUiQ,aAAe,WAC/BrJ,KAAK8H,mBAAkB,IAGZjI,QCpBf,SAASA,EAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKuE,SAAWxE,EAAOwE,SACvBvE,EAAKyJ,WAAa1J,EAAO2J,WAGzB1J,EAAK2J,wBAA0B,IAC/B3J,EAAK4J,kBAAoB,kEACzB5J,EAAK6J,gBAAkB,+JAEvB7J,EAAK8J,cAAgBzJ,IAAGC,aACxBN,EAAK+J,YAAc1J,IAAGC,aACtBN,EAAKgK,iBAAmB3J,IAAGC,aAC3BN,EAAKiK,gBAAkB5J,IAAGC,aAC1BN,EAAKkK,gBAAkB7J,IAAGC,aAC1BN,EAAK8G,iBAAmBzG,IAAGC,aAE3BN,EAAKmK,eAAiB9J,IAAGC,YAAW,GACpCN,EAAKyE,YAAcpE,IAAGC,YAAW,GACjCN,EAAK2E,YAActE,IAAGC,YAAW,GACjCN,EAAKoK,kBAAoB/J,IAAGC,YAAW,GACvCN,EAAKqK,cAAgBhK,IAAGC,YAAW,GACnCN,EAAKsK,WAAajK,IAAGC,WAAW,YAChCN,EAAK0E,aAAerE,IAAGC,aAEvBN,EAAKuK,yBAA2BlK,IAAGC,YAAW,GAC9CN,EAAKwK,mBAAqBnK,IAAGC,YAAW,GACxCN,EAAKyK,sBAAwBpK,IAAGC,YAAW,GAC3CN,EAAK0K,sBAAwBrK,IAAGC,YAAW,GAC3CN,EAAK2K,eAAiBtK,IAAGC,YAAW,GACpCN,EAAK4K,kBAAoBvK,IAAGC,YAAW,GAEvCN,EAAKgG,MAAQ3F,IAAGwK,gBAAgB,IAChC7K,EAAK8K,cAAgBzK,IAAGC,WAAW,IAAIyK,EAAS/K,EAAKyJ,WAAY,IAAI,IACrEzJ,EAAKgL,uBAAyB3K,IAAGwK,gBAAgB,IACjD7K,EAAK0D,YAAcrD,IAAGwK,gBAAgB,IAEtC7K,EAAKiL,WAELjL,EAAKkL,uBAAyB7K,IAAGc,cAAa,WAC1C,IAAIgK,EAAQnL,EAAK2J,wBAGjB,OAFAwB,GAAgB,IAET3C,OAAaC,kBAAkB0C,MAG1CnL,EAAKoL,cAAgB/K,IAAGc,cAAa,WACjC,IAAI6E,EAAQhG,EAAKgG,QACbqF,EAAQ,EAMZ,OAJAxI,aAAEe,KAAKoC,GAAO,SAASxC,GACnB6H,GAAS7H,EAAKsE,cAGXU,OAAaC,kBAAkB4C,MAG1CrL,EAAK2D,cAAgBtD,IAAGc,cAAa,WACjC,IAAI2J,EAAgB9K,EAAK8K,gBACrBtB,EAAasB,EAActB,aAC3BzF,EAAa+G,EAAc/G,aAC3BJ,EAAgB,GAEpB,GAAmB,KAAfI,EAAmB,CACnBJ,EAAclK,KAAKqR,GAEnB,IAAIQ,EAAmBvH,EAAWsC,QAAQmD,EAAa,IAAK,IACxD+B,GAAO,EAEX,GAAyB,KAArBD,EACA,EAAG,CACC,IAAIE,EAAoBF,EAAiBjD,MAAM,KAC3CoD,EAAmBD,EAAkBA,EAAkBrS,OAAS,GAGpEwK,EAAclK,KAAK,IAAIsR,EAASU,EAAkBH,IAClDA,EAAmBA,EAAiBjF,QAAQoF,EAAmB,IAAK,IAEpEF,EAA4B,KAArBD,SACDC,GAOlB,OAHA5H,EAAclK,KAAK,IAAIsR,EAAS/K,EAAKyJ,WAAY,KACjD9F,EAAc+H,UAEP/H,KAGX3D,EAAK4E,qBAAuBvE,IAAGc,cAAa,WACxC,IAAI4C,EAAa/D,EAAK8K,gBAAgB/G,aAClCuG,EAAatK,EAAKsK,aAClBtE,EAAQhG,EAAKgG,QACbC,EAAgB,GAkBpB,OAhBApD,aAAEe,KAAKoC,GAAO,SAAUxC,GACpB,IAAIC,EAAWD,EAAKC,WAChByC,EAAgD,IAAjCzC,EAAS0C,QAAQpC,GAEpC,GAAImC,EAAc,CACd,IAAIE,EAAgB3C,EAAS4C,QAAQtC,EAAY,IAC7CuC,GAAqD,IAAhCF,EAAcD,QAAQ,KAE3CG,GACAL,EAAcxM,KAAK+J,OAK/BxD,EAAK2L,UAAU1F,EAAeqE,GAEvBrE,KAGXjG,EAAK4L,WAAavL,IAAGc,cAAa,WAC9B,IAAIiD,EAAUpE,EAAKiK,kBAEnB,OAAI7F,aAAmB2G,EACZ,uEAEA,gDAIf/K,EAAK6L,WAAa,SAAUrH,GACxBxE,EAAK8K,cAActG,GACnBxE,EAAK8L,cAGT9L,EAAK+L,QAAU,SAAUvI,GACrBxD,EAAK+J,YAAYvG,EAAKyD,uBAEtBjH,EAAKwK,oBAAmB,GACxB1J,OAAOiL,QAAQ1J,SAAShC,IAAG2L,KAAKxI,EAAKkD,aAGzC1G,EAAKiM,iBAAmB,SAAU7H,GAC9BpE,EAAKiK,gBAAgB7F,GACrBpE,EAAKyK,uBAAsB,GAC3BrG,EAAQ2D,mBAAkB,IAG9B/H,EAAKkM,iBAAmB,SAAU9H,GACF,SAAxBA,EAAQqD,aACRrD,EAAQ4D,QAAQ5D,EAAQ2E,4BAG5B/I,EAAKkK,gBAAgB9F,GACrBpE,EAAK0K,uBAAsB,GAC3BtG,EAAQ2D,mBAAkB,IAG9B/H,EAAK6I,OAAS,WACV,IAAIzE,EAAUpE,EAAKkK,kBACflE,EAAQhG,EAAK4E,uBACbuH,EAAUnM,EAAKgL,yBACfoB,EAAiC,SAAxBhI,EAAQqD,YAEjB4E,EAAWD,EAASpG,EAAQmG,EAC5BG,EAAaF,EAAShI,EAAQ4D,UAAY,IAAM5D,EAAQ8D,gBAAkBiE,EAC9EE,EAAWxJ,aAAE0J,QAAQF,EAAUjI,GAE/B,IAAIoI,EAAY3J,aAAE6C,KAAK2G,GAAU,SAAUxN,GACvC,IAAI4N,EAAaL,EAASvN,EAAMoI,sBAAwBpI,EAAM2K,aAE9D,OAAO8C,IAAgBG,KAGvBD,EACAxM,EAAK2K,gBAAe,IAEpB3K,EAAK2K,gBAAe,GAEfyB,EAKDhI,EAAQyE,UAJR7I,EAAK0M,aAAatI,GAClBpE,EAAK2L,UAAUQ,EAAS,cACxBnM,EAAKgL,uBAAuBmB,IAIhCnM,EAAK0K,uBAAsB,KAInC1K,EAAK2M,gBAAkB,WACnB,IAAInD,EAAaxJ,EAAK8J,gBAClBqC,EAAUnM,EAAKgL,yBACfF,EAAgB9K,EAAK8K,gBAErB0B,EAAY3J,aAAE6C,KAAKyG,GAAS,SAAU3H,GACtC,OAAOA,EAAOgF,eAAiBA,KAGnC,GAAIgD,EACAxM,EAAK4K,mBAAkB,OACpB,CACH,IAAI7G,EAAa+G,EAAc/G,aAAeyF,EAAa,IAC3DxJ,EAAKuK,0BAAyB,GAC9BvK,EAAK8J,cAAc,IACnB9J,EAAK4K,mBAAkB,GAEvB,IAAIpG,EAAS,IAAIuG,EAASvB,EAAYzF,GAAY,GAClDoI,EAAQ1S,KAAK+K,GACbxE,EAAK2L,UAAUQ,EAAS,cACxBnM,EAAKgL,uBAAuBmB,GAC5BnM,EAAK0D,YAAYjK,KAAK+K,KAI9BxE,EAAK4M,cAAgB,WACjB,IAAIxI,EAAUpE,EAAKiK,kBAEf7F,aAAmB2G,EACnB/K,EAAK6M,aAAazI,GAElBpE,EAAK8F,WAAW1B,GAGpBpE,EAAKyK,uBAAsB,IAG/BzK,EAAK8M,aAAe,SAAUtJ,GAC1B1C,OAAOiM,mBAAmB1K,SAAShC,IAAG2L,KAAKxI,EAAKkD,aAGpD1G,EAAKgN,0BAA4BlM,OAAOwE,mBAAmBtE,KAAI,SAAUwC,GACrE,IAAI8G,EAAatK,EAAKsK,aAClBtE,EAAQhG,EAAKgG,QACbkB,EAAerE,aAAEN,KAAKyD,GAAO,SAAUiH,GAAU,OAAOA,EAAO9F,OAAS3D,EAAK2D,MAC7E2D,EAAgB9K,EAAK8K,gBAEzB,GAAI5D,EAAc,CACd,IAAIgG,EAAsBrK,aAAEsD,QAAQH,EAAOkB,GAC3ClB,EAAMkH,GAAuB,IAAIC,EAAO3J,QAExCwC,EAAMvM,KAAK,IAAI0T,EAAO3J,IAG1BxD,EAAK0D,YAAYM,OAAO8G,GAExB9K,EAAK2L,UAAU3F,EAAOsE,GACtBtK,EAAKgG,MAAMA,MAGfhG,EAAKoN,oBAAsBtM,OAAOuM,aAAarM,KAAI,WAC/ChB,EAAKoK,mBAAkB,MAI/BtK,EAAUzG,UAAUiU,oBAAsB,WACtCrN,KAAKsK,0BAAyB,IAGlCzK,EAAUzG,UAAUgQ,aAAe,SAAUjF,GACzCnE,KAAK8H,mBAAkB,IAG3BjI,EAAUzG,UAAUyM,WAAa,SAAUtC,GACvC,IAAIxD,EAAOC,KAEXwG,OAAkBzC,OAAOR,EAAK2D,MACzB/D,MAAK,WACFpD,EAAKgG,MAAMhC,OAAOR,OAI9B1D,EAAUzG,UAAUwT,aAAe,SAAUrI,GACzC,IAAIxE,EAAOC,KACP+F,EAAQhG,EAAKgG,QACbjC,EAAaS,EAAOT,aACxBlB,aAAEe,KAAKoC,GAAO,SAAUxC,GACpB,IAAIC,EAAWD,EAAKC,WAChB8J,EAA8C,IAAjC9J,EAAS0C,QAAQpC,GAE9BwJ,IACAvN,EAAK8F,WAAWtC,GAChBxD,EAAKgL,uBAAuBhH,OAAOQ,OAI3CxE,EAAK0D,YAAYM,OAAOQ,IAG5B1E,EAAUzG,UAAUqT,aAAe,SAAUlI,GACzC,IAAIxE,EAAOC,KAEP+F,EAAQhG,EAAKgG,QACbwH,EAAoBxN,EAAK8K,gBAAgB/G,aACzCyF,EAAahF,EAAOgF,aACpBzF,EAAaS,EAAOT,aACpBiE,EAAUxD,EAAOwD,UAErBnF,aAAEe,KAAKoC,GAAO,SAAUxC,GACpB,IAAIC,EAAWD,EAAKC,WAChBgK,EAA0D,IAAjChK,EAAS0C,QAAQpC,GAE9C,GAAI0J,EAAwB,CACxB,IAAIC,EAAsC,KAAtBF,EACdxF,EAAU,IACVwF,EAAoBxF,EAAU,IAEpCvE,EAAWA,EAAS4C,QAAQtC,EAAY2J,GACxClK,EAAKC,SAASA,GAEdgD,OAAkBtD,OAAOK,EAAKkD,eAItClC,EAAOgF,WAAWxB,GAClBxD,EAAOT,WAAWA,EAAWsC,QAAQmD,EAAYxB,KAGrDlI,EAAUzG,UAAUsU,kBAAoB,SAAU5L,EAAIhH,GAClD,IAAIqP,EAAoBnK,KAAKmK,oBAC7B,GAAKA,EAKDtJ,OAAOuM,aAAahL,eALA,CACpB,IAAI+B,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM5N,KAAK4J,gBAAiBiE,QAAQ,GAAQ1J,GAC1FnE,KAAKmK,mBAAkB,KAM/BtK,EAAUzG,UAAU0U,gBAAkB,WAC9B9N,KAAKmK,sBACLnK,KAAKmK,mBAAkB,GACvBtJ,OAAOuM,aAAahL,aAI5BvC,EAAUzG,UAAUsS,UAAY,SAAU3F,EAAOsE,GAC7C,IAAItK,EAAOC,KACPoK,EAAgBrK,EAAKqK,gBAEzBrE,EAAMgI,MAAK,SAAUC,EAAGC,GACpB,IAAIC,EAAOnO,EAAKoO,YAAYH,EAAG3D,GAC3B+D,EAAQrO,EAAKoO,YAAYF,EAAG5D,GAEhC,OAAI6D,EAAOE,EAAchE,GAAkB,EAAI,EAC3C8D,EAAOE,EAAchE,EAAgB,GAAK,EACvC,MAIfvK,EAAUzG,UAAU+U,YAAc,SAAShK,EAASkK,GAChD,MAAe,aAAXA,EACOlK,EAAQ6C,sBAAsBkB,cACnB,iBAAXmG,EACAlK,EAAQsD,eACG,eAAX4G,EACAlK,EAAQyD,aAAaM,cACV,aAAXmG,EACAlK,EAAQ0D,WACG,eAAXwG,EACAlK,EAAQoF,aAAarB,mBADzB,GAKXrI,EAAUzG,UAAUkV,eAAiB,WACjCtO,KAAKuK,oBAAmB,GACxB1J,OAAO0N,SAASnM,YAGpBvC,EAAUzG,UAAUyS,WAAa,WAC7B,IAAI9L,EAAOC,KAEPuN,EAAoBxN,EAAK8K,gBAAgB/G,aACzCiC,EAAQhG,EAAKgG,QACbmG,EAAU,GACVzI,EAAc1D,EAAKyO,gCAEvB5L,aAAEe,KAAKoC,GAAO,SAAUxC,GACpB,IAAIC,EAAWD,EAAKC,WAChByC,EAAuD,IAAxCzC,EAAS0C,QAAQqH,GAEpC,GAAItH,EAAc,CACd,IAAIwI,EAAkBjL,EAAS4C,QAAQmH,EAAmB,IACtDmB,EAAcD,EAAgBrG,MAAM,KACpCmB,EAAamF,EAAY,GACzBC,EAAe/L,aAAE6C,KAAKyG,GAAS,SAAU3H,GAAU,OAAOA,EAAOgF,eAAiBA,KAClFqF,GAAkD,IAAlCH,EAAgBvI,QAAQ,KAE5C,IAAKyI,GAAgBC,EAAe,CAChC,IAAI9K,EAAayJ,EAAoBhE,EAAa,IAClD2C,EAAQ1S,KAAK,IAAIsR,EAASvB,EAAYzF,GAAY,SAK9DoI,EAAUtJ,aAAEiM,MAAM3C,EAASzI,GAC3B1D,EAAK2L,UAAUQ,EAAS,cAExBnM,EAAKgL,uBAAuBmB,IAGhCrM,EAAUzG,UAAUoV,8BAAgC,WAChD,IAAIzO,EAAOC,KACPkM,EAAUnM,EAAK0D,cACf8J,EAAoBxN,EAAK8K,gBAAgB/G,aAE7C,OAAOlB,aAAEkM,OAAO5C,GAAS,SAAS3H,GAC9B,OAAOgJ,EAAoBhJ,EAAOgF,aAAe,MAAQhF,EAAOT,iBAIxEjE,EAAUzG,UAAU4R,SAAW,WAC3B,IAAIjL,EAAOC,KAEXwG,OAAkBuI,OAAOhP,EAAKuE,UAAUnB,MAAK,SAAUzK,GACnDqH,EAAKgG,MAAMnD,aAAEoM,IAAItW,GAAM,SAAU6K,GAAQ,OAAO,IAAI2J,EAAO3J,OAC3DxD,EAAK8L,gBACNoD,QAAO,WACNlP,EAAKmK,gBAAe,OAI5BrK,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK+M,0BAA0BnL,SAC/B5B,KAAKmN,oBAAoBvL,UAGd,QAAEwB,UAAWvD,EAAWwD,SAAUA,M,oCCnbjD,waAoCA6L,aAAIC,IAAIC,QAEO,WAAIA,OAAKC,MAAM,CAC5B5V,QAAS,CACP6V,YACAC,oBACAC,gBACAC,kBACAC,iBACAC,YACAC,aACAC,eACAC,oBACAC,iBACAC,0BACAC,oBACAC,wBACAC,iBACAC,iBACAC,gBACAC,eACAC,oBACAC,oBACAC,eACAC,uBACAC,qCACAC,mBACAC,+BACAC,uCACAC,8BACAC,0CACAC,gBACAC,WACAC,eACAC,gBACAC,gBACAC,mB,qBCvEJ,IAAI7U,EAAO,olCAEX7B,EAAOD,QAAU8B,G,oCCHjB,IAAI8U,EAAS,WAAa,IAAIC,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,YAAYL,EAAIM,YAAY,gBAAgB,iBAAiB,gBAAe,EAAM,WAAa,IAAI3M,GAAG,CAAC,gBAAgB,SAAS4M,GAAQ,OAAOP,EAAIQ,UAAUC,MAAM,CAACrT,MAAO4S,EAAiB,cAAEU,SAAS,SAAUC,GAAMX,EAAIY,cAAcD,GAAKE,WAAW,kBAAkB,CAACV,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACH,EAAIc,GAAG,wBAAwBX,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIQ,WAAW,CAACL,EAAG,SAAS,CAACH,EAAIc,GAAG,YAAY,IAAI,GAAGX,EAAG,cAAc,CAACH,EAAIe,GAAG,qBAAsBf,EAAc,WAAEG,EAAG,gBAAgB,CAACa,YAAY,uBAAuBX,MAAM,CAAC,OAAS,IAAII,MAAM,CAACrT,MAAO4S,EAA2B,wBAAEU,SAAS,SAAUC,GAAMX,EAAIiB,wBAAwBN,GAAKE,WAAW,4BAA4B,CAACV,EAAG,UAAU,CAACa,YAAY,OAAOX,MAAM,CAAC,MAAQ,iBAAiB,CAACF,EAAG,WAAW,CAACe,KAAK,SAAS,CAAClB,EAAIc,GAAG,4BAA4B,GAAGX,EAAG,UAAU,CAACa,YAAY,OAAOX,MAAM,CAAC,MAAQ,uBAAuB,CAACF,EAAG,WAAW,CAACe,KAAK,SAAS,CAAClB,EAAIc,GAAG,oDAAoD,GAAGX,EAAG,UAAU,CAACa,YAAY,OAAOX,MAAM,CAAC,SAAWL,EAAImB,kBAAkB,MAAQ,0BAA0B,CAAChB,EAAG,WAAW,CAACe,KAAK,SAAS,CAAClB,EAAIc,GAAG,qDAAqDX,EAAG,YAAY,CAACE,MAAM,CAAC,YAAY,QAAQ,MAAQ,UAAU,OAAS,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAC1hD,IAAI5N,EAAK4N,EAAI5N,GACT0M,EAAQkB,EAAIlB,MAChB,MAAO,CAACF,EAAG,SAASH,EAAIwB,GAAGxB,EAAIyB,GAAG,CAACT,YAAY,OAAOX,MAAM,CAAC,MAAQ,UAAU,KAAO,KAAK,SAASA,GAAM,GAAO1M,GAAI,CAACqM,EAAIc,GAAG,mCAAmC,MAAK,EAAM,aAAa,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,+DAA+DX,EAAG,MAAMA,EAAG,IAAI,CAACH,EAAIc,GAAG,iFAAiG,IAAI,GAAGX,EAAG,UAAU,CAACa,YAAY,OAAOX,MAAM,CAAC,MAAQ,aAAa,CAACF,EAAG,WAAW,CAACe,KAAK,SAAS,CAAClB,EAAIc,GAAG,4BAA4BX,EAAG,eAAe,CAACa,YAAY,6BAA6BX,MAAM,CAAC,KAAO,SAAS,MAAQL,EAAI0B,oBAAoB1B,EAAI2B,iBAAkB,YAAY,eAAe,GAAG,IAAM,IAAI,IAAM,MAAM,cAAc,GAAG,KAAO,GAAG,MAAQ,IAAIlB,MAAM,CAACrT,MAAO4S,EAAoB,iBAAEU,SAAS,SAAUC,GAAMX,EAAI2B,iBAAiBhB,GAAKE,WAAW,sBAAsBb,EAAIc,GAAG,YAAY,IAAI,GAAGX,EAAG,UAAU,CAACa,YAAY,OAAOX,MAAM,CAAC,MAAQ,cAAc,SAAWL,EAAImB,oBAAoB,CAAChB,EAAG,WAAW,CAACe,KAAK,SAAS,CAAClB,EAAIc,GAAG,+BAA+BX,EAAG,eAAe,CAACa,YAAY,wBAAwBX,MAAM,CAAC,KAAO,SAAS,SAAWL,EAAImB,kBAAkB,MAAQnB,EAAI0B,oBAAoB1B,EAAI4B,oBAAqB,eAAe,eAAe,GAAG,IAAM,IAAI,IAAM,MAAM,cAAc,GAAG,KAAO,GAAG,MAAQ,IAAInB,MAAM,CAACrT,MAAO4S,EAAuB,oBAAEU,SAAS,SAAUC,GAAMX,EAAI4B,oBAAoBjB,GAAKE,WAAW,yBAAyBb,EAAIc,GAAG,WAAWX,EAAG,YAAY,CAACE,MAAM,CAAC,YAAY,QAAQ,MAAQ,UAAU,OAAS,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GACzjD,IAAI5N,EAAK4N,EAAI5N,GACT0M,EAAQkB,EAAIlB,MAChB,MAAO,CAACF,EAAG,SAASH,EAAIwB,GAAGxB,EAAIyB,GAAG,CAACT,YAAY,OAAOX,MAAM,CAAC,MAAQ,UAAU,KAAO,KAAK,SAASA,GAAM,GAAO1M,GAAI,CAACqM,EAAIc,GAAG,mCAAmC,MAAK,EAAM,aAAa,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,+DAA+DX,EAAG,MAAMA,EAAG,IAAI,CAACH,EAAIc,GAAG,iFAAiG,IAAI,GAAGX,EAAG,UAAU,CAACa,YAAY,cAAcX,MAAM,CAAC,MAAQ,iBAAiB,MAAQ,sBAAsB,CAACF,EAAG,WAAW,CAACe,KAAK,SAAS,CAAClB,EAAIc,GAAG,uBAAuBX,EAAG,IAAI,CAACa,YAAY,QAAQ,CAAChB,EAAIc,GAAG,IAAId,EAAI6B,GAAG7B,EAAI8B,+BAA+B,UAAU,GAAG3B,EAAG,MAAM,CAACa,YAAY,4BAA4B,CAACb,EAAG,sBAAsB,CAACE,MAAM,CAAC,gBAAkBL,EAAI+B,gBAAgB,SAA2C,mBAAhC/B,EAAIiB,yBAA8CtN,GAAG,CAAC,yBAAyB,SAAS4M,GAAQP,EAAI+B,gBAAgBxB,GAAQ,2BAA2B,SAASA,GAAQP,EAAI+B,gBAAgBxB,GAAQ,OAASP,EAAIgC,0BAA0BZ,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,qBAAqB4T,GAAG,WAAW,MAAO,CAACnB,EAAG,WAAW,CAACA,EAAG,SAAS,CAACa,YAAY,cAAcX,MAAM,CAAC,MAAQ,WAAW,CAACL,EAAIc,GAAG,sBAAsBX,EAAG,gBAAgB,CAACa,YAAY,uBAAuBX,MAAM,CAAC,eAAe,GAAG,IAAM,IAAII,MAAM,CAACrT,MAAO4S,EAAiC,8BAAEU,SAAS,SAAUC,GAAMX,EAAI8B,8BAA8BnB,GAAKE,WAAW,kCAAkC,CAACV,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,WAAW,MAAQ,aAAaF,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,cAAc,MAAQ,cAAc,SAAWL,EAAImB,sBAAsB,IAAI,KAAKc,OAAM,IAAO,MAAK,EAAM,cAAc,IAAI,GAAGjC,EAAIkC,KAAK/B,EAAG,IAAI,CAACa,YAAY,aAAa,CAAChB,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAI/M,kBAAkB,GAAGkN,EAAG,iBAAiB,CAACa,YAAY,eAAe,CAACb,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIQ,WAAW,CAACR,EAAIc,GAAG,cAAcX,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,SAAWL,EAAImC,oBAAsBnC,EAAIoC,0BAA0BzO,GAAG,CAAC,MAAQqM,EAAI7O,OAAO,CAAC6O,EAAIc,GAAG,WAAW,IAAI,IAAI,IAChgEuB,EAAkB,G,iKCoODC,EAAc,wDAAnC,iD,0BAME,EAAAX,iBAAmB,GACnB,EAAAC,oBAAsB,GACtB,EAAAX,wBAA0B,GAC1B,EAAAa,8BAAgC,WAChC,EAAAS,uBAAwB,EACxB,EAAAC,wBAA0B,CAAC,MAAO,QAAS,SAAU,OAAQ,KAAM,QAAS,QAC5E,EAAAT,gBAAsE,CACpEU,SAAU1S,MAAS2S,QAAQ,QAAQxL,OAAO,cAC1CyL,OAAQ5S,MAASmH,OAAO,eAd5B,EAAmC,6EAkBjC,WACuC,mBAAjC1I,KAAKyS,0BACPvD,OAAIkF,IAAIpU,KAAKqU,WAAY,gCAAiCrU,KAAKsT,+BAC/DtT,KAAKsU,MAAM,SAAUtU,KAAKqU,eArBG,sCA0BjC,WACErU,KAAKuU,6BACLvU,KAAKsU,MAAM,SAAUtU,KAAKqU,cA5BK,2BAgCjC,SAAcG,GACZ,GAAKA,IACLxU,KAAKyS,wBAA0BzS,KAAKqU,WAAWI,gBAC1CzU,KAAKqU,WAAWJ,UAArB,CAEA,IAAMS,EAAQnU,OAAWoU,oBAAoB3U,KAAKqU,WAAWJ,SAAUjU,KAAKqU,WAAWF,QACvF,GAAwC,aAApCnU,KAAKqU,WAAWI,gBAClBzU,KAAKmT,iBAAmBuB,EACxB1U,KAAKoT,oBAAsB,QACtB,GAAwC,gBAApCpT,KAAKqU,WAAWI,gBACzBzU,KAAKoT,oBAAsBsB,EAC3B1U,KAAKmT,iBAAmB,QACnB,GAAwC,mBAApCnT,KAAKqU,WAAWI,gBAAsC,OAC/DzU,KAAKsT,8BAAL,UAAqCtT,KAAKqU,WAAWf,qCAArD,QAAsF,WACtFtT,KAAKuT,gBAAkB,CACrBU,SAAUjU,KAAKqU,WAAWJ,SAC1BE,OAAQnU,KAAKqU,WAAWF,aAG1BnU,KAAKmT,iBAAmB,GACxBnT,KAAKoT,oBAAsB,MApDE,mCAwDjC,WACE,OAAOpT,KAAKmT,iBAAmB,KAAOnT,KAAKmT,iBAAmB,IAzD/B,sCA4DjC,WACE,OAAOnT,KAAKoT,oBAAsB,KAAOpT,KAAKoT,oBAAsB,IA7DrC,gCAgEjC,WACE,QAASpT,KAAK4U,yBAA2B5U,KAAK6U,8BAjEf,wBAoEjC,WACE,OAAK7U,KAAK4U,yBAA4D,aAAjC5U,KAAKyS,yBAA4CzS,KAAK6U,4BAA+D,gBAAjC7U,KAAKyS,wBACrH,4CAGF,KAzEwB,8BA4EjC,WACE,MAAyC,aAAjCzS,KAAKyS,yBAA0CzS,KAAK4U,yBAA8D,gBAAjC5U,KAAKyS,yBAA6CzS,KAAK6U,6BA7EjH,6BAgFjC,WAAqB,aACnB,QAAI,UAAC7U,KAAKqU,kBAAN,QAAC,EAAiBS,eACf9U,KAAKqU,WAAWS,aAAarP,MAAK,SAAAsP,GAAQ,aAAK,EAAKC,iBAAL,UAAsBD,EAASE,YAA/B,aAAsB,EAAeC,cAlF5D,kBAqFjC,WACElV,KAAKoS,eAAgB,EACrBpS,KAAKsU,MAAM,UAvFoB,mBA0FjC,WACEtU,KAAKoS,eAAgB,EACrBpS,KAAKyS,wBAA0B,GAC/BzS,KAAKsU,MAAM,WA7FoB,kBAgGjC,WACEtU,KAAKoS,eAAgB,EACrBpS,KAAKuU,6BACgC,gBAAjCvU,KAAKyS,yBAA8E,0BAAjCzS,KAAKyS,0BAAqDzS,KAAK+T,uBAAwB,GAC7I/T,KAAKsU,MAAM,UApGoB,8BAuGjC,SAAiBW,GACf,OAAOjV,KAAKgU,wBAAwBmB,SAASF,KAxGd,sCA2GjC,SAAyBG,GACvBpV,KAAKuT,gBAAkB6B,IA5GQ,wCA+GjC,WACE,GAAKpV,KAAKqV,qBAEV,OAAQrV,KAAKyS,yBACX,IAAK,eACHzS,KAAKsV,YAAY,gBACjB,MACF,IAAK,qBACHtV,KAAKsV,YAAY,sBACjB,MACF,IAAK,wBACHtV,KAAKsV,YAAY,yBACjB,MACF,IAAK,WACHtV,KAAKsV,YAAYtV,KAAKyS,wBAAyBzS,KAAKmT,kBACpD,MACF,IAAK,cACHnT,KAAKsV,YAAYtV,KAAKyS,wBAAyBzS,KAAKoT,qBACpD,MACF,IAAK,iBACHpT,KAAKsV,YAAYtV,KAAKyS,wBAAyBzS,KAAKuT,iBACpD,MACF,QACE,SAtI2B,yBA0IjC,SAAYkB,EAAyB7V,GAEnC,IAAI2W,EADiB,kBAAV3W,IAAoBA,EAAQ4W,SAAS5W,IAG9C2W,EADmB,kBAAV3W,EACE,CACTqV,SAAU1S,IAAOC,IAAI,IAAIiU,KAAQ,cAAcC,SAAS9W,EAAO,SAAS8J,SACxEyL,OAAQ5S,IAAOC,IAAI,IAAIiU,KAAQ,cAAc/M,SAC7C+L,gBAAiBA,EACjBnB,8BAA+B,IAEP,WAAjB,eAAO1U,GACL,CACTqV,SAAUjU,KAAKuT,gBAAgBU,SAC/BE,OAAQnU,KAAKuT,gBAAgBY,OAC7BM,gBAAiBA,EACjBnB,8BAA+BtT,KAAKsT,+BAG3B,CAAEmB,gBAAiBA,EAAiBnB,8BAA+B,IAEhFna,OAAOwc,OAAO3V,KAAKqU,WAAYkB,KA9JA,iCAiKjC,SAAoB3W,EAAe6V,GACjC,OAAQ7V,EAAQ,GAAKA,EAAQ,MAAQ6V,IAAoBzU,KAAKyS,4BAlK/B,GAASvD,QACH0G,gBAAtCC,eAAS,QAAS,CAAEC,UAAU,KAAQ,oCACEF,gBAAxCC,eAAS,WAAY,CAAEE,QAAS,OAAQ,kCACDH,gBAAvCC,eAAS,SAAU,CAAEC,UAAU,KAAQ,iCACcF,gBAArDC,eAAS,uBAAwB,CAAEE,SAAS,KAAS,+CActDH,gBADCI,eAAM,kCACP,2DAQAJ,gBADCI,eAAM,4BACP,6CAMAJ,gBADCI,eAAM,kBACP,kCAhCmBlC,EAAc,gBALlCmC,eAAU,CACTC,WAAY,CACVC,+BAGiBrC,WC3OsY,I,6LCQvZsC,EAAY,eACd,EACA7E,EACAsC,GACA,EACA,KACA,WACA,MAIa,OAAAuC,EAAiB,QAiBhC,IAAkBA,EAAW,CAACC,OAAA,KAAKC,QAAA,KAAMC,aAAA,OAAaC,UAAA,OAAUC,UAAA,KAAQC,QAAA,KAAMC,SAAA,KAAOC,cAAA,KAAYC,UAAA,KAAQC,aAAA,KAAWC,WAAA,KAASC,cAAA,OAAcC,WAAA,Q,0JC/BvIpX,EAAY,SAAUoS,EAAOiF,GAC7B,IAAInX,EAAOC,KACXD,EAAKoX,cAAWrZ,EAChBiC,EAAKqX,KAAOF,EAEZnX,EAAKsX,OAASjX,IAAGC,aACjBN,EAAKuX,SAAWlX,IAAGC,aAAakX,OAAO,CACnCzB,UAAU,EACV0B,OAAO,EACPC,WAAY,CACRC,OAAO,EACPC,UAAW,SAAUC,EAAK9X,EAAQoS,GACR,MAAjBnS,EAAKoX,UAAsB5O,OAAasP,iBAAiBD,EAAK7X,EAAKoX,SAASK,OAE7EtF,GAAS,GAETA,GAAUnS,EAAKqX,KAAKU,OAAOF,KAGnCha,QAAS,4CAGjBmC,EAAKlC,KAAOuC,IAAGC,aAAakX,OAAO,CAAEzB,UAAU,IAC/C/V,EAAKgY,MAAQ3X,IAAGC,aAAakX,OAAO,CAAEzB,UAAU,IAChD/V,EAAKiY,YAAc5X,IAAGC,aACtBN,EAAKkY,OAAS7X,IAAGC,aACjBN,EAAKmY,KAAO9X,IAAGC,aACfN,EAAKoY,iBAAmB/X,IAAGC,aAC3BN,EAAKqY,iBAAmBhY,IAAGC,aAC3BN,EAAKsY,qBAAuBjY,IAAGC,aAE/BN,EAAKuY,SAASrG,GAGdlS,EAAKwY,OAASnY,IAAGqX,WAAWe,MAAMzY,GAClCA,EAAK0Y,QAAUrY,IAAGsY,UAAS,WACvB,OAAgC,IAAzB3Y,EAAKwY,SAASrf,UAGzB6G,EAAK4Y,UAAYvY,IAAGc,cAAa,WAC7B,IAAImW,EAAStX,EAAKsX,SAClB,OAAiB,MAAVA,GAA6B,yCAAXA,MAIjCxX,EAAUzG,UAAUkf,SAAW,SAAUrG,GACrC,IAAIlS,EAAOC,KACXD,EAAKoX,SAAWlF,EAEZA,GAEAlS,EAAKsX,OAAOpF,EAAM/K,IAClBnH,EAAKuX,SAASrF,EAAMuF,OACpBzX,EAAKlC,KAAKoU,EAAMpU,MAChBkC,EAAKgY,MAAM9F,EAAM8F,OACjBhY,EAAKiY,YAAY/F,EAAM+F,aACvBjY,EAAKkY,OAAOhG,EAAMgG,QAClBlY,EAAKmY,KAAKjG,EAAMiG,MAChBnY,EAAKoY,iBAAiBlG,EAAMkG,kBAC5BpY,EAAKqY,iBAAiBnG,EAAMmG,kBAC5BrY,EAAKsY,qBAAqBpG,EAAMoG,wBAGhCtY,EAAKsX,YAAOvZ,GACZiC,EAAKuX,cAASxZ,GACdiC,EAAKlC,UAAKC,GACViC,EAAKgY,WAAMja,GACXiC,EAAKiY,iBAAYla,GACjBiC,EAAKkY,YAAOna,GACZiC,EAAKmY,UAAKpa,GACViC,EAAKoY,sBAAiBra,GACtBiC,EAAKqY,sBAAiBta,GACtBiC,EAAKsY,0BAAqBva,KAIlC+B,EAAUzG,UAAUwf,gBAAkB,WAClC,OAAO5Y,KAAKmX,UAGhBtX,EAAUzG,UAAUuJ,KAAO,WACvB,IAWI3F,EAXA+C,EAAOC,KACP6Y,EAAOjW,aAAEC,MAAM9C,EAAKoX,WAAa,GAoBrC,OAlBA0B,EAAKhb,KAAOkC,EAAKlC,OACjBgb,EAAKd,MAAQhY,EAAKgY,QAClBc,EAAKb,YAAcjY,EAAKiY,cACxBa,EAAKX,KAAOnY,EAAKmY,OACjBW,EAAKV,iBAAmBpY,EAAKoY,mBAC7BU,EAAKT,iBAAmBrY,EAAKqY,mBAC7BS,EAAKR,qBAAuBtY,EAAKsY,uBAG7BtY,EAAK4Y,aACLE,EAAKrB,MAAQzX,EAAKuX,WAClBta,EAAU8b,OAAO/X,IAAI8X,IAErB7b,EAAU8b,OAAO5V,OAAO2V,GAE5B7b,EAAQmG,MAAK,SAAUzK,GACnBqH,EAAKuY,SAAS5f,MAEXsE,GAGX6C,EAAUzG,UAAU2K,OAAS,WACzB,OAAO+U,OAAO/U,OAAO/D,KAAKmX,WAG9BtX,EAAUzG,UAAU2f,eAAiB,WACjC,IAAIhZ,EAAOC,KACPqX,EAAStX,EAAKsX,SAEdra,EAAU8b,OAAOC,eAAe1B,GAKpC,OAJAra,EAAQmG,MAAK,SAAU8U,GACnBlY,EAAKoX,SAASc,OAASA,EACvBlY,EAAKkY,OAAOA,MAETjb,GAGX6C,EAAUzG,UAAU4f,YAAc,WAC9B,IAAIjZ,EAAOC,KACPqX,EAAStX,EAAKsX,SAEdra,EAAU8b,OAAOE,YAAY3B,GAMjC,OALAra,EAAQmG,MAAK,WACT,IAAI8U,EAAS,GACblY,EAAKoX,SAASc,OAASA,EACvBlY,EAAKkY,OAAOA,MAETjb,GAGI6C,QCrIXA,G,oBAAY,WACZ,IAAIE,EAAOC,KACXD,EAAKqX,KAAOhX,IAAGwK,gBAAgB,IAC/B7K,EAAKkZ,UAAY7Y,IAAGC,YAAW,GAE/BN,EAAKmZ,OAELnZ,EAAKoZ,iBAAmBtY,OAAOuY,cAAcrY,KAAI,SAAUsY,GACvDtZ,EAAKqX,KAAK5d,KAAK6f,MAGnBtZ,EAAKuZ,iBAAmBzY,OAAO0Y,cAAcxY,KAAI,SAAUyY,EAASC,GAChE1Z,EAAKqX,KAAKrT,QAAO,SAAU2V,GACvB,OAAOA,EAAKxS,KAAOsS,EAAQtS,MAE/BnH,EAAKqX,KAAK5d,KAAKigB,MAGnB1Z,EAAK4Z,iBAAmB9Y,OAAO+Y,cAAc7Y,KAAI,SAAU8Y,GACvD9Z,EAAKqX,KAAKrT,QAAO,SAAU2V,GACvB,OAAOA,EAAKxS,KAAO2S,EAAY3S,WAK3CrH,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKsZ,iBAAiB1X,SACtB5B,KAAKmZ,iBAAiBvX,SACtB5B,KAAK2Z,iBAAiB/X,UAG1B/B,EAAUzG,UAAU8f,KAAO,WACvB,IAAInZ,EAAOC,KACXD,EAAKqX,KAAK,IACVrX,EAAKkZ,WAAU,GAEfH,OAAO/J,SAAS5L,MAAK,SAAUzK,GAC3BqH,EAAKqX,KAAK1e,MACXuW,QAAO,WACNlP,EAAKkZ,WAAU,OAIvBpZ,EAAUzG,UAAU0gB,QAAU,WAC1B,OAAO9Z,KAAKoX,MAGhBvX,EAAUzG,UAAU6f,UAAY,WAC5B,OAAOjZ,KAAKiZ,WAGhBpZ,EAAUzG,UAAU0e,OAAS,SAAUR,GACnC,IAAIyC,EAAQnX,aAAEN,KAAKtC,KAAKoX,QAAQ,SAAU/Y,GACtC,OAAOkK,OAAasP,iBAAiBP,EAAUjZ,EAAEmZ,UAGrD,YAAiB1Z,IAAVic,GAGIla,QC1Df,SAASA,IACL,IAAIE,EAAOC,KAEXD,EAAKqD,UAAY,KACjBrD,EAAKia,YAAc5Z,IAAGC,WAAW,IACjCN,EAAKmX,MAAQ,IAAI+C,EAEjBla,EAAKxC,MAAQ6C,IAAGC,aAEhBN,EAAKma,YAAcrZ,OAAOsZ,SAASpZ,KAAI,SAAU8X,GAC7C9Y,EAAKqa,aACLra,EAAKqD,UAAY,IAAIiX,EAAOxB,GAC5B9Y,EAAKia,YAAY,WAGrBja,EAAKua,YAAczZ,OAAO0Z,SAASxZ,KAAI,SAAU8X,GAC7C9Y,EAAKqa,aACLra,EAAKqD,UAAY,IAAIiX,EAAOxB,EAAM9Y,EAAKmX,OACvCnX,EAAKia,YAAY,WAGrBja,EAAKya,WAAa3Z,OAAO4Z,QAAQ1Z,KAAI,WACjChB,EAAKqa,aACLra,EAAKqD,UAAY,IAAIiX,EAAO,KAAMta,EAAKmX,OACvCnX,EAAKia,YAAY,UAGrBja,EAAK2a,cAAgB7Z,OAAO8Z,iBAAiB5Z,KAAI,SAAU8X,GACvD9Y,EAAKqa,aACLra,EAAKqD,UAAY,IAAIiX,EAAOxB,EAAM9Y,EAAKmX,OACvCnX,EAAKia,YAAY,UAGrBja,EAAK6a,cAAgB/Z,OAAOga,WAAW9Z,KAAI,SAAU8X,GACjD9Y,EAAKqa,aACLra,EAAKqD,UAAY,IAAIiX,EAAOxB,GAC5B9Y,EAAKia,YAAY,aAIzBna,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKka,YAAYtY,SACjB5B,KAAKsa,YAAY1Y,SACjB5B,KAAK4a,cAAchZ,SACnB5B,KAAKwa,WAAW5Y,SAChB5B,KAAK0a,cAAc9Y,UAGvB/B,EAAUzG,UAAU0hB,WAAa,WAC7B,IAAI/a,EAAOC,KAEXD,EAAKqD,UAAUT,OAAOQ,MAAK,SAAU4X,GACjCla,OAAOuY,cAAchX,SAAS2Y,GAC9Bhb,EAAKib,iBACNC,MAAK,SAAU1d,GACO,MAAjBA,EAAM2d,OACNra,OAAOsa,0BAA0B/Y,WAEjCvB,OAAOua,oBAAoBhZ,WAE/BrC,EAAKsb,YAAY9d,OAIzBsC,EAAUzG,UAAUkiB,WAAa,WAC7B,IAAIvb,EAAOC,KACP6Y,EAAO9Y,EAAKqD,UAAUwV,kBAC1B7Y,EAAKqD,UAAUW,SACVZ,MAAK,WACFtC,OAAO+Y,cAAcxX,SAASyW,GAC9B9Y,EAAKib,iBAERC,MAAK,SAAS1d,GACXsD,OAAO0a,aAAanZ,SAAS7E,GAC7BwC,EAAKsb,YAAY9d,OAI7BsC,EAAUzG,UAAUoiB,SAAW,WAC3B,IAAIzb,EAAOC,KACPyb,EAAe1b,EAAKqD,UAAUwV,kBAClC7Y,EAAKqD,UAAUT,OAAOQ,MAAK,SAAUuY,GACjC7a,OAAO0Y,cAAcnX,SAASqZ,EAAcC,GAC5C3b,EAAKib,iBACNC,MAAK,SAAU1d,GACdsD,OAAO0a,aAAanZ,SAAS7E,GAC7BwC,EAAKsb,YAAY9d,OAIzBsC,EAAUzG,UAAU4hB,YAAc,WAC9Bhb,KAAKga,YAAY,KAGrBna,EAAUzG,UAAUghB,WAAa,WAC7Bpa,KAAKzC,MAAM,OAGfsC,EAAUzG,UAAUiiB,YAAc,SAAU9d,GACpCA,GAASA,EAAMoe,cAAgBpe,EAAMoe,aAAa/d,QAClDoC,KAAKzC,MAAMA,EAAMoe,aAAa/d,SAE9BoC,KAAKzC,MAAM,+CAEfiC,QAAQjC,MAAMA,IAGH,QAAE6F,UAAWvD,EAAWwD,SAAUA,M,sHChH3CuY,E,uGAMG,SAAkB9gB,GACvB,IAAIuB,EAASvB,EAAEuB,OAEf,GAAuB,MAAnBA,EAAOwf,QAAiB,OAE1B,GAAqC,MAAjC,UAAAxf,EAAOyf,qBAAP,eAAsBD,SAGxB,OAFAxf,EAASA,EAAOyf,cAMpB,IAAM/W,EAAc1I,EAAOV,aAAa,QAEpCoJ,EAAImB,QAAQ,OAAS,GAAKnB,EAAIuI,WAAW,MAIzCyO,OAAOC,aAAaC,OAASlX,IAIjCjK,EAAEgM,iBACFhM,EAAEohB,kBACFH,OAAOviB,KAAK,CAAEyiB,KAAMlX,O,yBAMf,SAAYxH,GACjB,IAAIwa,EACAoE,EAAgB,GAEhB5e,EAAMoe,cACR5D,EAAQxa,EAAMoe,aAAa/d,QAC3Bue,EAAWhjB,OAAOijB,OAAO7e,EAAMoe,aAAaU,YAAYC,QAExDvE,EAAQxa,EAAMgf,WAGhB,IAAMC,EAAiC,CACrCzE,QACAoE,YAGF,OAAOK,M,KAKI,WAAIZ,G,oFCxDnB,SAASa,EAA2Bvc,GAChCW,OAAO6b,mBAAmBta,SAASlC,GAGvC,IAAIyc,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAASgC,GAC7B,IAAIwK,EAAS,CACTxK,SAAUA,GAGd,OAAOsY,OAAIpe,IAAI,mCAAoCsQ,IAGvD6N,EAAOvjB,UAAUyjB,uBAAyB,SAASvY,EAAUwY,GACzD,IAAIhO,EAAS,CACTxK,SAAUA,EACVwY,YAAaA,GAGjB,OAAOF,OAAIpe,IAAI,qDAAsDsQ,IAGzE6N,EAAOvjB,UAAU6F,OAAS,SAASiB,GAC/B,OAAO0c,OAAIG,KAAK,8BAA+B7c,GAAaiD,MAAK,SAASzK,GACtEmI,OAAOmc,mBAAmB5a,SAAS1J,OAI3CikB,EAAOvjB,UAAU8J,OAAS,SAAShD,GAC/B,OAAO0c,OAAIK,IAAI,+BAAiC/c,EAAYgH,GAAIhH,GAAaiD,KAAKsZ,IAGtFE,EAAOvjB,UAAU8jB,yBAA2B,SAAShd,GACjD,OAAO0c,OAAIG,KAAK,+BAAiC7c,EAAYgH,GAAK,6BAA6B/D,KAAKsZ,IAGxGE,EAAOvjB,UAAU+jB,2BAA6B,SAASjd,GACnD,OAAO0c,OAAIG,KAAK,+BAAiC7c,EAAYgH,GAAK,+BAA+B/D,KAAKsZ,IAG1GE,EAAOvjB,UAAUgkB,kBAAoB,SAASld,GAC1C,OAAO0c,OAAIG,KAAK,+BAAiC7c,EAAYgH,GAAK,sBAAsB/D,KAAKsZ,IAGjGE,EAAOvjB,UAAUikB,oBAAsB,SAASnd,GAC5C,OAAO0c,OAAIG,KAAK,+BAAiC7c,EAAYgH,GAAK,wBAAwB/D,KAAKsZ,IAGnGE,EAAOvjB,UAAUkkB,0BAA4B,SAASpd,GAClD,OAAO0c,OAAIG,KAAK,+BAAiC7c,EAAYgH,GAAK,2BAGtEyV,EAAOvjB,UAAU2K,OAAS,SAAS7D,GAC/B,OAAO0c,OAAIW,IAAI,+BAAiCrd,EAAYgH,IAAI/D,MAAK,WACjEtC,OAAO2c,mBAAmBpb,SAASlC,OAI5B,WAAIyc,G,4LC9Dfc,EAAgC,aAIpCA,EAA8BrkB,UAAU2V,OAAS,WAC7C,OAAO6N,OAAIpe,IAAI,0CAGnBif,EAA8BrkB,UAAUoF,IAAM,SAAU0I,GACpD,OAAO0V,OAAIpe,IAAI,wCAA0C0I,IAG7DuW,EAA8BrkB,UAAUskB,IAAM,SAAUC,GACpD,OAAOf,OAAIG,KAAK,wCAAyCY,IAG7DF,EAA8BrkB,UAAU8J,OAAS,SAAUya,GACvD,OAAOf,OAAIK,IAAI,wCAAyCU,IAG5DF,EAA8BrkB,UAAUwkB,OAAS,SAAUC,GACvD,OAAOjB,OAAIW,IAAI,yCAA2CM,IAG/C,UAAIJ,ECpBb5M,EAAuB,wDAA7B,iD,0BACU,EAAAiN,iBAAkB,EAClB,EAAAC,SAAsC,GAFhD,EAA6B,yDAMpB,SAAmBC,GACxBhe,KAAK+d,SAAWC,EAChBhe,KAAK8d,iBAAkB,IARE,+BAYpB,SAAkBG,GACvB,IAAMC,EAAQle,KAAK+d,SAASI,WAAU,SAAAC,GAAW,OAAKA,EAAYlX,KAAO+W,EAAO/W,MAE5EgX,GAAS,IACXle,KAAK+d,SAASG,GAASD,EACvBje,KAAK8d,iBAAkB,KAjBA,+BAsBpB,SAAkBG,GACvBje,KAAK+d,SAASvkB,KAAKykB,GACnBje,KAAK8d,iBAAkB,IAxBE,kCA4BpB,SAAqB5W,GAC1B,IAAMgX,EAAQle,KAAK+d,SAASI,WAAU,SAAAF,GAAM,OAAIA,EAAO/W,KAAOA,KAE1DgX,GAAS,IACXle,KAAK+d,SAAS3jB,OAAO8jB,EAAO,GAC5Ble,KAAK8d,iBAAkB,KAjCA,qFAsCpB,6HAE8CO,EAA8BtP,SAF5E,OAEGiP,EAFH,OAGHhe,KAAKse,QAAQC,OAAO,qBAAsBP,GAHvC,yDAKI,CAAEpgB,QAAS,kCAAmCL,MAAK,MALvD,yDAtCoB,4IAgDpB,WAAmB0gB,GAAnB,0GAEGI,EAA8Bnb,OAAO+a,GAFxC,OAGHje,KAAKse,QAAQC,OAAO,oBAAqBN,GAHtC,wDAKI,CAAErgB,QAAS,iCAAkCL,MAAK,MALtD,wDAhDoB,6IA0DpB,6GACCihB,EAAc,CAAEC,QAAS,IAD1B,kBAIyBJ,EAA8BX,IAAIc,GAJ3D,cAIGE,EAJH,OAKH1e,KAAKse,QAAQC,OAAO,oBAAqBG,GALtC,kBAMIA,GANJ,yCAQI,CAAE9gB,QAAS,8BAA+BL,MAAK,MARnD,yDA1DoB,kJAuEpB,WAAyB2J,GAAzB,0GAEGmX,EAA8BT,OAAO1W,GAFxC,OAGHlH,KAAKse,QAAQC,OAAO,uBAAwBrX,GAHzC,wDAKI,CAAEtJ,QAAS,iCAAkCL,MAAK,MALtD,wDAvEoB,8IAiFpB,WAAoB2J,GAApB,mGACDlH,KAAK8d,gBADJ,gCAEG9d,KAAKse,QAAQlc,SAAS,kBAFzB,UAKC6b,EAASje,KAAK+d,SAASzb,MAAK,SAAA2b,GAAM,OAAKA,EAAO/W,KAAOA,MAEvD+W,EAPC,iBAQMjlB,EAAI,EARV,YAQaA,EAAIilB,EAAOQ,QAAQvlB,QARhC,iCASoB8G,KAAKse,QAAQlc,SAAS,cAAe6b,EAAOQ,QAAQzlB,GAAGkO,GAAI,CAAEyX,MAAM,IATvF,OASKC,EATL,OAUGA,IAAQX,EAAOQ,QAAQzlB,GAAK4lB,GAV/B,QAQwC5lB,IARxC,gDAaIilB,GAbJ,yBAgB+CI,EAA8B7f,IAAI0I,GAhBjF,WAgBC2X,EAhBD,QAiBDA,EAjBC,iBAkBM7lB,EAAI,EAlBV,aAkBaA,EAAI6lB,EAAaJ,QAAQvlB,QAlBtC,kCAmB+B8G,KAAKse,QAAQlc,SAAS,cAAeyc,EAAaJ,QAAQzlB,GAAGkO,GAAI,CAAEyX,MAAM,IAnBxG,QAmBDE,EAAaJ,QAAQzlB,GAnBpB,eAkB8CA,IAlB9C,iDAsBI6lB,GAtBJ,aAyBO,CAAEjhB,QAAS,yBAzBlB,iDAjFoB,6EA6G3B,WACE,OAAOoC,KAAK+d,WA9Ga,0BAiH3B,WACE,OAAO/d,KAAK8d,oBAlHa,GAASgB,QAMpClJ,gBADCmJ,QACD,uCAMAnJ,gBADCmJ,QACD,sCAUAnJ,gBADCmJ,QACD,sCAMAnJ,gBADCmJ,QACD,yCAUAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAaArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kCAjFIpO,EAAuB,gBAD5BqO,eAAO,CAAEC,YAAY,EAAMthB,KAAM,6BAC5BgT,GAsHSA,U,8CC3Hf,IAAIpU,EAAO,o8DAEX7B,EAAOD,QAAU8B,G,oHCAjB2D,IAAG4D,gBAAgBob,gBAAkB,CACjClb,KAAM,SAAUC,EAASC,EAAeC,EAAqBjB,GACzD,IAAIiH,EAAajG,IAAgBiG,WAC7BgE,EAASjK,IAAgBiK,OACzBjE,EAAgBhG,IAAgBgG,cAChC8B,EAAU9H,IAAgB8H,QAE9B/H,EAAQkb,QAAU,WACdjV,GAAeA,KACfC,EAAWgE,GAEX,IAAIiR,EAAkBtd,EAAEmC,GAAS7B,KAAK,mBAAmB,GACrDid,EAAYvd,EAAE,gBAAgBM,KAAK,OAEvCM,aAAEe,KAAK4b,GAAW,SAAUC,GACxBA,EAAKzY,UAAY,oBAGrB,IAAIA,EAAYqD,IAAkB,kBAAoB,mBAGtD,GAFAkV,EAAgBvY,UAAYA,EAAY,kBAEzB,aAAXsH,EAAuB,CACvB,IAAIoR,EAAgBvT,IAEpBuT,EAAc1R,MAAK,SAAUC,EAAGC,GAC5B,IAAIC,EAAOF,EAAEzE,aAAarB,cACtBkG,EAAQH,EAAE1E,aAAarB,cAE3B,OAAIgG,EAAOE,EAAchE,KAAmB,EAAI,EAC5C8D,EAAOE,EAAchE,IAAkB,GAAK,EACzC,KAGX8B,EAAQuT,S,0DCpCxB,SAASC,EAAW9R,GAClB,IAAM+R,EAAKpkB,SAASQ,cAAc,OAElC,OADA4jB,EAAGC,UAAYhS,EACR+R,EAAGE,UAGG,QACbH,WAAY,SAAU9R,GACpB,OAAO8R,EAAW9R,M,gKCDtB,SAASkS,EAAyBrB,GAChC,IAAIsB,EAAgBnd,aAAEod,QAAQpd,aAAEqd,MAAMxB,EAAS,eAC/C,OAAO7b,aAAEkM,OAAOiR,GAAe,SAAUG,GACvC,OAAOA,EAAUC,oBAIrB,SAASC,EAAyBC,EAAYC,GAC5C,IAAIC,EAAiC,GACjCC,EAA0B5d,aAAE6d,QAAQJ,EAAY,QAMpD,OALAzd,aAAEe,KAAK6c,GAAyB,SAAUhI,EAAO3a,GAC3C2a,EAAMtf,SAAWonB,GACnBC,EAA+B/mB,KAAKqE,MAGjC0iB,EAGT,SAASG,EAAajC,EAASkC,EAAeN,EAAYO,GACxD5gB,KAAKye,QAAUA,EACfze,KAAK2gB,cAAgBA,EACrB3gB,KAAKqgB,WAAaA,EAClBrgB,KAAK4gB,iBAAmBA,EACxB5gB,KAAK6gB,UAAYC,OAAsBC,uBAAuBV,EAAW,GAAGW,gBAG9E,SAASnhB,EAAUC,GACjB,IAAIC,EAAOC,KACXD,EAAK0e,QAAUre,IAAGC,WAAWP,EAAO2e,SACpC1e,EAAKkhB,0BAA4B7gB,IAAGC,YAAW,GAC/CN,EAAK6gB,iBAAmBxgB,IAAGC,aAC3BN,EAAKmhB,cAAgB9gB,IAAGC,aACxBN,EAAKohB,qBAAuB/gB,IAAGC,aAE/BN,EAAKqhB,qBAAuB,GAC5BrhB,EAAKwgB,+BAAiC,GAEtCxgB,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC/B,IAAI+f,EAA4BlhB,EAAKkhB,4BACrC,OAAOA,KAGTlhB,EAAKshB,oBAAsBthB,EAAK0e,QAAQ6C,WAAU,SAAU7C,GAC1D1e,EAAKqhB,qBAAuBtB,EAAyBrB,GACrD1e,EAAKwgB,+BAAiCH,EAAyBrgB,EAAKqhB,qBAAsB3C,EAAQvlB,QAElG,IAAIqoB,EAAkB,GACtB3e,aAAEe,KAAK5D,EAAKwgB,gCAAgC,SAAUI,GACpD,IAAIa,EAAmB5e,aAAEkM,OAAO/O,EAAKqhB,sBAAsB,SAAUlB,GACnE,OAAOA,EAAUriB,OAAS8iB,KAG5BY,EAAkB3e,aAAEiM,MAAM0S,EAAiB3e,aAAEqd,MAAMuB,EAAkB,UAEvEzhB,EAAK0hB,qBAAqBF,MAG5BxhB,EAAK2hB,wBAA0B3hB,EAAK6gB,iBAAiBU,WAAU,SAAUV,GACvE,IAAIM,EAAgB,GACpBte,aAAEe,KAAK5D,EAAKwgB,gCAAgC,SAAUI,GACpD,IAAIa,EAAmB5e,aAAEkM,OAAO/O,EAAKqhB,sBAAsB,SAAUlB,GACnE,OAAOA,EAAUriB,OAAS8iB,KAExBgB,EAAqB/e,aAAEqd,MAAMuB,EAAkB,MAE/CI,EAAyBhf,aAAEkM,OAAO8R,GAAkB,SAAUiB,GAChE,OAAOjf,aAAEkf,SAASH,EAAoBE,EAAgBE,gBAExDb,EAAc1nB,KAAK,IAAIknB,EAAa3gB,EAAK0e,UAAWkC,EAAea,EAAkBI,OAEvF7hB,EAAKmhB,cAActe,aAAEof,OAAOd,EAAe,iBAG7CnhB,EAAKkiB,2BAA6BphB,OAAOqhB,oBAAoBnhB,KAAI,SAAUohB,GACzEpiB,EAAKohB,qBAAqBgB,MAG5BpiB,EAAKmZ,OAGPrZ,EAAUzG,UAAUuI,QAAU,WAC5B3B,KAAKiiB,2BAA2BrgB,UAGlC/B,EAAUzG,UAAU8f,KAAO,WACzB,IAAInZ,EAAOC,KACPye,EAAU1e,EAAK0e,UACnB1e,EAAKqhB,qBAAuBtB,EAAyBrB,GACrD1e,EAAKwgB,+BAAiCH,EAAyBrgB,EAAKqhB,qBAAsB3C,EAAQvlB,QAElG,IAAIqoB,EAAkB,GACtB3e,aAAEe,KAAK5D,EAAKwgB,gCAAgC,SAAUI,GACpD,IAAIa,EAAmB5e,aAAEkM,OAAO/O,EAAKqhB,sBAAsB,SAAUlB,GACnE,OAAOA,EAAUriB,OAAS8iB,KAG5BY,EAAkB3e,aAAEiM,MAAM0S,EAAiB3e,aAAEqd,MAAMuB,EAAkB,UAEvEzhB,EAAK0hB,qBAAqBF,IAG5B1hB,EAAUzG,UAAUgpB,qBAAuB,WACzCpiB,KAAKmhB,qBAAqB,OAG5BthB,EAAUzG,UAAUipB,aAAe,WACjCxhB,OAAOyhB,cAAclgB,YAGvBvC,EAAUzG,UAAUqoB,qBAAuB,SAAUc,GACnD,IAAIxiB,EAAOC,KACXwiB,OAAuBC,SAASF,GAAcpf,MAAK,SAAUzK,GAC3DqH,EAAK6gB,iBAAiBloB,MAErBuW,QAAO,WACNlP,EAAKkhB,2BAA0B,OAItB,QAAE7d,UAAWvD,EAAWwD,SAAUA,M,0HC5HjD,SAASqf,EAAuBC,EAAa/jB,GACzC,IAAIgkB,EAA2B,MAAfD,EAAsBA,EAAYE,iBAAmB,EAEjE5N,EAAsB,MAAf0N,EAAsBA,EAAY1N,KAAO,KACpD,OAAO6N,EAAWlkB,EAAOgkB,EAAW3N,GAGxC,SAAS8N,EAAkBC,EAAUC,GASjC,OARID,GAAY,IAAMA,EAAW,MAC7BA,EAAW,IAGXC,GAAa,KAAOA,EAAY,OAChCA,EAAY,GAGTD,EAASE,QAAQ,GAAK,IAAMD,EAAUC,QAAQ,GAGzD,SAASJ,EAAWlkB,EAAOikB,EAAkB5N,GACzC,IAAIkO,EAAc,GAMlB,OAJY,MAARlO,IACAkO,EAA8B,MAAhBlO,EAAKC,QAAkBD,EAAKC,QAAU,IAGjDtW,EAAMskB,QAAQL,GAAoB,IAAMM,EAGnD,SAASC,EAA6BT,EAAaU,GAC/C,IAAIC,EAA2B,GAC3BC,MAAMC,QAAQH,KAChBC,EAA2BD,GAEY,oBAA9BA,IAETC,EAA2BD,KAE7B,IAAIxlB,EAAO8kB,EAAY9kB,KAIvB,OAHI8kB,EAAYc,eAAiBH,EAAyB7d,MAAK,SAAAie,GAAC,OAAIA,GAAK7lB,OACrEA,GAAQ,KAAJ,OAAS8kB,EAAYc,cAArB,MAED5lB,EAGX,SAAS8lB,EAA6B7O,GAClC,IAAI8O,EAAoB,GAQxB,GAPIL,MAAMC,QAAQI,KAChBA,EAAoB9O,GAEM,oBAAjBA,IAET8O,EAAoB9O,MAEjB8O,EACD,MAAO,GAGX,IAAIC,EAAeD,EAAkBE,QAAO,SAACC,EAAKC,EAAMC,EAAKC,GAKzD,OAJKH,EAAIC,EAAKnmB,QACVkmB,EAAIC,EAAKnmB,MAAQ,GAErBkmB,EAAIC,EAAKnmB,QACFkmB,IACR,IACH,OAAO5qB,OAAOgrB,QAAQN,GAAc/U,QAAO,sCAAOlQ,GAAP,kBAAkBA,EAAQ,KAAGoQ,KAAI,sCAAE9P,EAAF,iBAAkBA,KAGnF,QACXwjB,uBAAwB,SAAUC,EAAa/jB,GAC3C,OAAO8jB,EAAuBC,EAAa/jB,IAE/CmkB,kBAAmB,SAAUC,EAAUC,GACnC,OAAOF,EAAkBC,EAAUC,IAEvCG,6BAA8B,SAAUT,EAAaU,GACjD,OAAOD,EAA6BT,EAAaU,IAErDM,6BAA8B,SAAU7O,GACpC,OAAO6O,EAA6B7O,M,iMC/EtCsP,E,2FACJ,SAAMC,EAAkBC,GACtB,OAAO1H,OAAIG,KAAK,gBAAiB,CAC/BsH,WACAC,e,oBAIJ,WACEC,aAAaC,WAAW,gBACxBD,aAAaC,WAAW,uB,0BAG1B,SAAaC,GACX,OAAO7H,OAAIG,KAAK,wBAAyB,CACvC0H,Y,2BAIJ,SAAcC,EAAkBC,EAAeC,GAC7C,OAAOhI,OAAIG,KAAK,yBAA0B,CACxC2H,WACAC,QACAC,e,4BAIJ,SAAeF,EAAkBG,EAAyBC,GACxD,OAAOlI,OAAIG,KAAK,0BAA2B,CACzC2H,WACAG,kBACAC,kB,sBAIJ,SAAST,EAAkB7M,EAAe8M,GACxC9kB,QAAQulB,KAAK,8B,KAIF,MAAIX,E,YClCbY,EAAoBT,aAAaU,QAAQ,gBACzCC,EAA8BX,aAAaU,QAAQ,qBACrDE,EAAqBZ,aAAaU,QAAQ,iBAC1CE,IACFA,EAAqBC,KAAKC,MAAMF,IAIlC,IAAM7V,EAAI,wDAAV,iD,0BACS,EAAA4L,OAAS8J,EAAoB,CAAEM,UAAU,GAAS,CAAEA,UAAU,GAC9D,EAAAC,YAAcP,GAAwC,KACtD,EAAAQ,sBAAuCN,GAA4D,KACnG,EAAAO,eAAgB,EAJzB,EAAU,4DAOD,SAAsBC,GAC3BnB,aAAaoB,QAAQ,gBAAiBP,KAAKQ,UAAUF,MAR/C,0BAYD,SAAaG,GAClB7lB,KAAKkb,OAAOoK,UAAW,EACvBtlB,KAAKulB,YAAcM,EAAOC,OAC1B9lB,KAAKwlB,sBAAwBK,EAAOE,OACpCxB,aAAaoB,QAAQ,eAAgBE,EAAOC,QAC5CvB,aAAaoB,QAAQ,oBAAqBE,EAAOE,QAEjD/lB,KAAKylB,eAAgB,IAnBf,0BAuBD,WACLzlB,KAAKkb,OAAOoK,UAAW,EACvBtlB,KAAKulB,YAAc,KACnBvlB,KAAKwlB,sBAAwB,KAC7BxlB,KAAKylB,eAAgB,IA3Bf,0BA+BD,SAAaC,GAClB1lB,KAAKylB,cAAgBC,IAhCf,oBAqCD,WACL1lB,KAAKkb,OAAOoK,UAAW,EACvBtlB,KAAKulB,YAAc,KACnBvlB,KAAKwlB,sBAAwB,OAxCvB,4EA4CD,WAAY9sB,GAAZ,mGACLsH,KAAKse,QAAQC,OAAO,gBAAgB,GAD/B,SAEQ6F,EAAY4B,MAAMttB,EAAK2rB,SAAU3rB,EAAK4rB,UAAUxnB,MAC3D,SAAA+oB,GAGE,OAFA,EAAKvH,QAAQC,OAAO,wBAAyB7lB,EAAKutB,SAClD,EAAK3H,QAAQC,OAAO,eAAgBsH,GAC7B5qB,QAAQC,QAAQ2qB,MAEzB,SAAAtoB,GAGE,OAFAiC,QAAQjC,MAAMA,GACd,EAAK+gB,QAAQC,OAAO,gBACbtjB,QAAQE,OAAOoC,EAAMoe,iBAX3B,wFA5CC,6IA6DD,WAAmBnE,GAAnB,iGACQ4M,EAAY8B,aAAa1O,GAAO1a,MAC3C,SAAAwI,GACE,OAAOrK,QAAQC,QAAQoK,MAEzB,SAAA/H,GAEE,OADAiC,QAAQjC,MAAMA,GACPtC,QAAQE,OAAOoC,MAPrB,mFA7DC,8IA0ED,WAAoB7E,GAApB,iGACQ0rB,EAAY+B,cAAcztB,EAAK2rB,SAAU3rB,EAAK0tB,MAAO1tB,EAAK4rB,UAAUxnB,MAC/E,SAAAwI,GACE,OAAOrK,QAAQC,QAAQoK,MAEzB,SAAA/H,GAEE,OADAiC,QAAQjC,MAAMA,GACPtC,QAAQE,OAAOoC,MAPrB,mFA1EC,+IAuFD,WAAqB7E,GAArB,iGACQ0rB,EAAYiC,eAAe3tB,EAAK2rB,SAAU3rB,EAAK4tB,gBAAiB5tB,EAAK6tB,aAAazpB,MAC7F,SAAAwI,GACE,OAAOrK,QAAQC,QAAQoK,MAEzB,SAAA/H,GAEE,OADAiC,QAAQjC,MAAMA,GACPtC,QAAQE,OAAOoC,MAPrB,mFAvFC,oFAoGD,SAAasoB,GAClB7lB,KAAKse,QAAQC,OAAO,eAAgBsH,KArG9B,mFAyGD,oHACkBW,MAAM,GAAD,OAAIxhB,mCAAiE,CAC/FC,QAASC,mBAFN,UACCI,EADD,OAImB,MAApBA,EAAS4V,OAJR,0CAI+B,GAJ/B,iCAKE,GALF,2CAzGC,uIAkHD,8GACCkJ,EAAYqC,SADb,OAELzmB,KAAKse,QAAQC,OAAO,UACpBve,KAAKse,QAAQC,OAAO,mBAAoB,KAAM,CAAEI,MAAM,IAHjD,gDAlHC,+EAwHR,WACE,OAAO3e,KAAKkb,OAAOoK,WAzHb,wBA2HR,WACE,OAAOtlB,KAAKylB,gBA5HN,oCA+HR,WACE,OAAOzlB,KAAKwlB,wBAhIN,0BAmIR,WACE,OAAOxlB,KAAKulB,gBApIN,GAASzG,QAOjBlJ,gBADCmJ,QACD,0CAKAnJ,gBADCmJ,QACD,iCAWAnJ,gBADCmJ,QACD,iCAQAnJ,gBADCmJ,QACD,iCAMAnJ,gBADCmJ,QACD,2BAOAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,0BAiBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAaArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kCAaArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mCAaArJ,gBADCoJ,QACD,iCAKApJ,gBADCoJ,QACD,iCASApJ,gBADCoJ,QACD,4BAlHI1P,EAAI,gBADT4P,eAAO,CAAEC,YAAY,EAAMthB,KAAM,UAC5ByR,GAwISA,U,wLC9ITO,EAAU6W,eAAUC,OAAeC,QAEzC,SAAS/mB,IACL,IAAIE,EAAOC,KACPsE,EAAWuL,EAAQgX,cAAc3f,GAErCnH,EAAK+mB,eAAgB,EACrB/mB,EAAKgnB,iBAAkB,EACvBhnB,EAAKinB,cAAe,EACpBjnB,EAAKknB,YAAa,EAElBlnB,EAAKmnB,mBAAqB9mB,IAAGC,YAAW,GACxCN,EAAKonB,gBAAkB/mB,IAAGC,YAAW,GACrCN,EAAKqnB,iBAAmBhnB,IAAGC,YAAW,GACtCN,EAAKke,OAAS7d,IAAGC,aACjBN,EAAKsnB,6BAA+BjnB,IAAGC,YAAW,GAClDN,EAAKunB,2BAA6BlnB,IAAGC,YAAW,GAChDN,EAAKwnB,YAAcnnB,IAAGC,YAAW,GAEjCN,EAAKynB,UAAYpnB,IAAGC,aACpBN,EAAK0nB,kBAAoBrnB,IAAGC,aAE5BN,EAAK2nB,mBAAqBtnB,IAAGC,aAC7BN,EAAK4nB,SAAWvnB,IAAGC,aACnBN,EAAKkU,SAAW7T,IAAGC,aACnBN,EAAKoU,OAAS/T,IAAGC,aACjBN,EAAK6nB,sBAAwBxnB,IAAGC,YAAW,GAC3CN,EAAK8nB,QAAUznB,IAAGC,aAElBN,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC7B,OAAOnB,EAAKonB,mBAAqBpnB,EAAKqnB,oBAAsBrnB,EAAKmnB,wBAGrEnnB,EAAK+nB,WAAa1nB,IAAGc,cAAc,WAC/B,GAAInB,EAAK8nB,UAAU3uB,OAAS,EAAG,OAAO,KAEtC,IAAK,IAAIF,EAAI+G,EAAK8nB,UAAU3uB,OAAS,EAAGF,GAAK,EAAGA,IAC5C,GAAoC,wBAAhC+G,EAAK8nB,UAAU7uB,GAAG+uB,WAAqE,wBAA9BhoB,EAAK8nB,UAAU7uB,GAAGgvB,QAC3E,OAAOjoB,EAAK8nB,UAAU7uB,GAI9B,OAAO,QAGX+G,EAAKkoB,sBAAwB7nB,IAAGc,cAAa,WACzC,IAAIgnB,EAAe,EAEnB,GAAkC,cAA9BnoB,EAAK2nB,qBACLQ,EAAe,OACZ,GAAkC,eAA9BnoB,EAAK2nB,qBAAuC,CACnD,IAAIS,EAAO5nB,OAAWa,YAAYb,OAAW6nB,0BAA0BroB,EAAK+nB,aAAaC,YACrFM,EAAK9nB,OAAWa,YAAYb,OAAW6nB,0BAA0BroB,EAAK+nB,aAAaE,UAEvFE,EAAeG,EAAGC,KAAKH,EAAM,gBAC1B,GAAkC,eAA9BpoB,EAAK2nB,qBACZQ,EAAeK,EAAcxoB,EAAK4nB,iBAC/B,GAAkC,cAA9B5nB,EAAK2nB,qBAAsC,CAC9CS,EAAO5nB,OAAWioB,QAAQzoB,EAAKkU,YAC/BoU,EAAK9nB,OAAWioB,QAAQzoB,EAAKoU,UAEjC+T,EAAeG,EAAGC,KAAKH,EAAM,WASjC,OANID,GAAgB,EAChBnoB,EAAKwnB,aAAY,GAEjBxnB,EAAKwnB,aAAY,GAGdW,KAGXnoB,EAAK0oB,iBAAmB,SAAUC,EAAcC,GAC5C5oB,EAAKkU,SAAS1T,OAAWC,sBAAsBkoB,IAC/C3oB,EAAKoU,OAAO5T,OAAWC,sBAAsBmoB,IAC7C5oB,EAAK2nB,mBAAmB,aAExB3nB,EAAK6oB,UAGT7oB,EAAK6oB,OAAS,WACV,IAAInB,EAAoB1nB,EAAK0nB,oBACzBoB,EAAUpB,EAAkBqB,OAAOrB,EAAkBvuB,OAAS,GAElD,MAAZ2vB,IACApB,EAAoBA,EAAkB7nB,MAAM,GAAI,IAElB,eAA9BG,EAAK2nB,uBACL3nB,EAAKkU,SAAS1T,OAAWC,sBAAsBT,EAAK+nB,aAAaC,YACjEhoB,EAAKoU,OAAO5T,OAAWC,sBAAsBT,EAAK+nB,aAAaE,WAEnE,IAAM/J,EAAS,CACbsE,aAAckF,EACdiB,aAAcnoB,OAAWyC,oBAAoBjD,EAAKkU,WAAY,SAC9D0U,WAAYpoB,OAAWyC,oBAAoBjD,EAAKoU,SAAU,SAC1D4U,eAAgBhpB,EAAK4nB,WACrBG,WAAY/nB,EAAK+nB,aACjBkB,sBAAuBjpB,EAAK2nB,qBAC5BxgB,GAAInH,EAAKke,SAAS/W,GAClBmQ,OAAQtX,EAAKke,SAAS5G,OACtB/S,SAAUvE,EAAKke,SAAS3Z,UAG1BvE,EAAKsnB,8BAA6B,GAElC4B,OAA8B/lB,OAAO+a,GAAQ9a,MAAK,WAC9CpD,EAAKunB,4BAA2B,GAChCvnB,EAAKmpB,SAASjL,MACfhD,MAAK,WACJlb,EAAKunB,4BAA2B,MACjCrY,QAAO,WACNlP,EAAKsnB,8BAA6B,OAI1CtnB,EAAKopB,cAAgB/oB,IAAGc,cAAa,WACjC,MAAoC,MAA7BnB,EAAK0nB,sBAAgC1nB,EAAK6nB,yBAA2B7nB,EAAKsnB,gCAAkCtnB,EAAKwnB,iBAG5HxnB,EAAKqpB,qCAAuChpB,IAAGc,cAAa,WACxD,MAAoC,MAA7BnB,EAAK0nB,uBAGhB4B,OAAiBC,uBAAuBhlB,GAAUnB,MAAK,SAAUzK,GAC7DqH,EAAKynB,UAAU9uB,MAChBuiB,MAAK,WACJlb,EAAKwpB,aAAY,MAClBta,QAAO,WACNlP,EAAKmnB,oBAAmB,MAG5B+B,OAA8BO,cAAcllB,GAAUnB,MAAK,SAAUzK,GACjEqH,EAAKke,OAAOvlB,GACZqH,EAAK0nB,kBAAkB/uB,EAAK6pB,cAC5BxiB,EAAK2nB,mBAAmBhvB,EAAKswB,uBAC7BjpB,EAAK4nB,SAASjvB,EAAKqwB,gBACnBhpB,EAAKkU,SAAS1T,OAAWC,sBAAsB9H,EAAKgwB,eACpD3oB,EAAKoU,OAAO5T,OAAWC,sBAAsB9H,EAAKiwB,gBACnD1N,MAAK,WACJlb,EAAKwpB,aAAY,MAClBta,QAAO,WACNlP,EAAKonB,iBAAgB,MAGzBsC,OAAcC,iBAAiBplB,GAAUnB,MAAK,SAAUzK,GACpDqH,EAAK8nB,QAAQnvB,MACduiB,MAAK,WACJlb,EAAKwpB,aAAY,MAClBta,QAAO,WACNlP,EAAKqnB,kBAAiB,MAO9B,SAASmB,EAAcoB,GAEnB,OADAA,EAAOC,OAAOD,GACA,GAAPA,EAAY,GALvB9pB,EAAUzG,UAAUuI,QAAU,aAQf,QAACyB,UAAWvD,EAAWwD,SAAUA,M,mBC3KhD,IAAI5G,EAAO,8zHAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,+3DAEX7B,EAAOD,QAAU8B,G,kNCDbkgB,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAASunB,EAAQvlB,EAAU4G,EAAO4e,GACtD,IAAIC,EAAQ,CACRF,OAAQA,GAeZ,OAZIvlB,IACAylB,EAAMzlB,SAAWA,GAGjB4G,IACA6e,EAAM7e,MAAQA,GAGd4e,IACAC,EAAMD,KAAOA,GAGVlN,OAAIpe,IAAI,kBAAmBurB,IAGtCpN,EAAOvjB,UAAU4wB,SAAW,SAAS1lB,GACjC,OAAOtE,KAAKsC,MAAK,IAGrBqa,EAAOvjB,UAAU6wB,WAAa,SAAS3lB,EAAU4G,EAAO4e,GACpD,OAAO9pB,KAAKsC,MAAK,EAAOgC,EAAU4G,EAAO4e,IAG9B,UAAInN,EChCfA,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAAUgC,GAChC,IAAIwK,EAAS,CACXxK,SAAUA,GAEZ,OAAOsY,OAAIpe,IAAI,+BAAgCsQ,IAGjD6N,EAAOvjB,UAAUotB,MAAQ,WACvB,OAAO5J,OAAIpe,IAAI,iCAGjBme,EAAOvjB,UAAU6F,OAAS,SAAUirB,GAClC,OAAOtN,OAAIG,KAAK,0BAA2BmN,IAG7CvN,EAAOvjB,UAAU8J,OAAS,SAAUinB,GAClC,OAAOvN,OAAIK,IAAI,0BAA2BkN,IAG5CxN,EAAOvjB,UAAU2K,OAAS,SAAUmmB,GAClC,OAAOtN,OAAIW,IAAI,2BAA6B2M,EAAUhjB,KAGzC,UAAIyV,E,YCrBbjN,EAAS,wDAAf,iD,0BACE,EAAA0a,eAA6B,GAC7B,EAAAC,kBAAgC,GAChC,EAAAC,oBAAkC,GAClC,EAAAC,YAA2B,GACnB,EAAAC,mBAAoB,EAL9B,EAAe,4DAQN,SAAsBC,GAC3BzqB,KAAKoqB,eAAiBK,IATX,oCAaN,SAAuBA,GAC5BzqB,KAAKqqB,kBAAoBI,IAdd,sCAkBN,SAAyBA,GAC9BzqB,KAAKsqB,oBAAsBG,IAnBhB,4BAuBN,SAAeN,GACpBnqB,KAAKuqB,YAAcJ,IAxBR,yBA4BN,WACLnqB,KAAKwqB,mBAAoB,IA7Bd,0FAiCN,qHAA0BtjB,EAA1B,+BAA+BlH,KAAK0qB,gBACpCxjB,EADA,yCACWjM,QAAQE,UADnB,gCAIgBwvB,EAAgBroB,MAAK,EAAM4E,GAJ3C,cAIGxO,EAJH,OAKHsH,KAAKse,QAAQC,OAAO,wBAAyB7lB,GAL1C,kBAMIA,GANJ,4CAQH8G,QAAQulB,KAAR,MARG,kBASI9pB,QAAQE,OAAR,mDATJ,0DAjCM,mJA+CN,6HAEgBwvB,EAAgBroB,MAAK,GAFrC,OAEG5J,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,yBAA0B7lB,GAH3C,mDAKH8G,QAAQulB,KAAR,MALG,yDA/CM,0JAyDN,6HAEgB4F,EAAgBroB,MAAK,GAFrC,cAEG5J,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,yBAA0B7lB,GAH3C,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,4BAA6BL,MAAK,MANjD,yDAzDM,qJAoEN,6HAEgBotB,EAAgBroB,MAAK,GAFrC,OAEG5J,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,2BAA4B7lB,GAH7C,mDAKH8G,QAAQulB,KAAR,MALG,yDApEM,yJA8EN,WAAgCzgB,GAAhC,gHAEgBsmB,EAAiBtoB,KAAKgC,GAFtC,cAEG5L,EAFH,yBAGIA,GAHJ,yCAKI,CAAEkF,QAAS,4BAA6BL,MAAK,MALjD,yDA9EM,gJAwFN,6HAEgBqtB,EAAiBtoB,OAFjC,cAEG5J,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,iBAAkB7lB,GAHnC,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,4BAA6BL,MAAK,MANjD,yDAxFM,gJAmGN,WAAuB4sB,GAAvB,gHAEgBS,EAAiB3rB,OAAOkrB,GAFxC,cAEGzxB,EAFH,yBAGIA,GAHJ,yCAKI,CAAEkF,QAAS,8BAA+BL,MAAK,MALnD,yDAnGM,gJA6GN,WAAsB4sB,GAAtB,gHAEgBS,EAAiB1nB,OAAOinB,GAFxC,cAEGzxB,EAFH,yBAGIA,GAHJ,yCAKI,CAAEkF,QAAS,6BAA8BL,MAAK,MALlD,yDA7GM,qFAsHb,WAA2B,MACzB,iBAAOyC,KAAKse,QAAQuM,YAAY,gCAAhC,aAAO,EAAmD3jB,KAvH/C,iCA0Hb,WACE,IAAM4jB,EAAiCloB,aAAE6d,QAAQzgB,KAAKoqB,gBAAgB,SAAUW,GAC9E,OAAOA,EAASC,YAAc,IAAMD,EAASE,sBAG/C,OAAOroB,aAAEoM,IAAI8b,GAAgC,SAAUtS,GACrD,OAAO5V,aAAEof,OAAOxJ,EAAO,YAAY,QAhI1B,oCAoIb,WACE,IAAMsS,EAAiCloB,aAAE6d,QAAQzgB,KAAKqqB,mBAAmB,SAAUU,GACjF,OAAOA,EAASC,YAAc,IAAMD,EAASE,sBAG/C,OAAOroB,aAAEoM,IAAI8b,GAAgC,SAAUtS,GACrD,OAAO5V,aAAEof,OAAOxJ,EAAO,YAAY,QA1I1B,gCA8Ib,WACE,OAAO5V,aAAEkM,OAAO9O,KAAKkrB,uBAAuB,SAAUH,GACpD,MAA6B,YAAtBA,EAASI,cAhJP,iCAoJb,WACE,OAAOvoB,aAAEkM,OAAO9O,KAAKkrB,uBAAuB,SAAUH,GACpD,MAA6B,aAAtBA,EAASI,cAtJP,uCA0Jb,WACE,OAAOnrB,KAAKorB,sBAAsBlyB,SA3JvB,sCA6Jb,WACE,OAAO8G,KAAKqrB,qBAAqBnyB,SA9JtB,4BAiKb,WACE,OAAO8G,KAAKqqB,oBAlKD,8BAqKb,WACE,OAAOrqB,KAAKsqB,sBAtKD,wBAyKb,WACE,+BAAWtqB,KAAKsqB,qBAAhB,eAAwCtqB,KAAKqqB,sBA1KlC,sBA6Kb,WACE,OAAOrqB,KAAKuqB,gBA9KD,GAASzL,QAQtBlJ,gBADCmJ,QACD,0CAKAnJ,gBADCmJ,QACD,2CAKAnJ,gBADCmJ,QACD,6CAKAnJ,gBADCmJ,QACD,mCAKAnJ,gBADCmJ,QACD,gCAKAnJ,gBADCoJ,QACD,wCAcApJ,gBADCoJ,QACD,wCAUApJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+CAWArJ,gBADCoJ,QACD,0CAUApJ,gBADCoJ,QACD,8CAUApJ,gBADCoJ,QACD,oCAWApJ,gBADCoJ,QACD,qCAUApJ,gBADCoJ,QACD,oCA7GItP,EAAS,gBADdwP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,eAC5B6R,GAkLSA,U,oCC1Lf,gBAEIiN,EAAS,aAIbA,EAAOvjB,UAAU2V,OAAS,WACtB,OAAO6N,OAAIpe,IAAI,gBAGJ,WAAIme,G,qCCVnB,oDAII2O,EAAgB,aAIpB,SAASC,EAAQzc,EAAQ/J,GACvB,IAAIymB,EAAWxpB,EAAEypB,WAEbC,EAAU,KAkBd,OAhBA9O,OAAIpe,IAAIuG,EAAK+J,GAAQ3L,MAAK,SAASmC,GACjC,IAAIqmB,EAAqBrmB,EAASqmB,mBAElCD,EAAUpmB,EACNqmB,EACFJ,EAAQI,GAAoBxoB,MAAK,SAASyoB,GACxChpB,aAAE2U,OAAOmU,EAAQhzB,KAAMkzB,EAAkBlzB,MACzC8yB,EAAStwB,QAAQwwB,MAGnBF,EAAStwB,QAAQwwB,MAElBzQ,MAAK,WACNuQ,EAASrwB,OAAO0wB,cAGXL,EAASxuB,UAGlBsuB,EAAclyB,UAAU0yB,YAAc,SAAUC,EAAY9X,EAAUE,EAAQ6X,EAAaC,EACzFC,EAAUC,EAAcC,GACxB,IAAIrnB,EAAMsK,OAAMgd,QAAQ,mBAAqB,oBAAsB,gBAE/Dvd,EAAS,CACXwd,cAAeP,EACfC,YAAaA,GAA4B,SACzC/X,SAAUA,EACVE,OAAQA,EACR8X,eAAgBA,EAChBC,SAAUA,EACVC,aAAcA,EACdC,eAAgBA,GAElB,OAAOb,EAAQzc,EAAQ/J,IAGzBumB,EAAclyB,UAAUmzB,iBAAmB,SAAUC,EAAavY,EAAUE,EAAQ6X,EAAaG,EAAcC,GAC7G,IAAIrnB,EAAM,qBAEN+J,EAAS,CACX2d,eAAgBD,EAChBR,YAAaA,GAA4B,SACzC/X,SAAUA,EACVE,OAAQA,EACRgY,aAAcA,EACdC,eAAgBA,GAGlB,OAAOb,EAAQzc,EAAQ/J,IAGzBumB,EAAclyB,UAAUszB,kCAAoC,SAASC,GACnE,IAAI5nB,EAAM,kCACN+J,EAAS,CACX2d,eAAgBE,EAAQF,eACxBxY,SAAU0Y,EAAQ1Y,SAClBE,OAAQwY,EAAQxY,QAGlB,OAAOoX,EAAQzc,EAAQ/J,IAGzBumB,EAAclyB,UAAUwzB,+BAAiC,SAASD,GAChE,IAAI5nB,EAAM,+BACN+J,EAAS,CACX2d,eAAgBE,EAAQF,eACxBxY,SAAU0Y,EAAQ1Y,SAClBE,OAAQwY,EAAQxY,QAGlB,OAAOoX,EAAQzc,EAAQ/J,IAGzBumB,EAAclyB,UAAUyzB,qBAAuB,SAASF,GACtD,IAAI5nB,EAAM,2BACN+J,EAAS,CACXxK,SAAUqoB,EAAQroB,SAClB2P,SAAU0Y,EAAQ1Y,SAClBE,OAAQwY,EAAQxY,QAGlB,OAAOoX,EAAQzc,EAAQ/J,IAGzBumB,EAAclyB,UAAU0zB,yBAA2B,SAASL,GAC1D,IAAI1nB,EAAM,wCAA0C0nB,EAChD3d,EAAS,GAIb,OAAOyc,EAAQzc,EAAQ/J,IAGzBumB,EAAclyB,UAAU2zB,2BAA6B,SAASN,GAC5D,IAAI1nB,EAAM,6DAA+D0nB,EACrE3d,EAAS,GAIb,OAAOyc,EAAQzc,EAAQ/J,IAGzBumB,EAAclyB,UAAU4zB,wBAA0B,SAASP,GACzD,IAAI1nB,EAAM,0DAA4D0nB,EAClE3d,EAAS,GAIb,OAAOyc,EAAQzc,EAAQ/J,IAGV,WAAIumB,I,4FC1Hf3O,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAASgC,EAAU2oB,GACvC,IAAIne,EAAS,CACTxK,SAAUA,EACV2oB,WAAYA,GAGhB,OAAOrQ,OAAIpe,IAAI,qBAAsBsQ,IAGzC6N,EAAOvjB,UAAU8zB,mBAAqB,WACpC,OAAOtQ,OAAIpe,IAAI,kCAGjBme,EAAOvjB,UAAU8J,OAAS,SAAShD,GAC/B,OAAO0c,OAAIK,IAAI,iBAAmB/c,EAAYgH,GAAIhH,IAGtDyc,EAAOvjB,UAAU+zB,gBAAkB,SAASC,GAC1C,OAAOxQ,OAAIG,KAAK,yBAA0BqQ,IAG5CzQ,EAAOvjB,UAAUi0B,iBAAmB,SAASC,GAC3C,OAAO1Q,OAAIG,KAAK,0BAA2BuQ,IAG7C3Q,EAAOvjB,UAAUm0B,gBAAkB,SAASH,GAC1C,OAAOxQ,OAAIK,IAAI,0BAA4BmQ,EAAqBlmB,GAAIkmB,IAGtEzQ,EAAOvjB,UAAUo0B,iBAAmB,SAASF,GAC3C,OAAO1Q,OAAIK,IAAI,2BAA6BqQ,EAAsBpmB,GAAIomB,IAGxE3Q,EAAOvjB,UAAUq0B,gBAAkB,SAASvmB,GAC1C,OAAO0V,OAAIW,IAAI,0BAA4BrW,IAG7CyV,EAAOvjB,UAAUs0B,iBAAmB,SAASxmB,GAC3C,OAAO0V,OAAIW,IAAI,2BAA6BrW,IAG/B,WAAIyV,G,uBC/CnB/hB,EAAOD,QAAU,IAA0B,4B,sHCIvCkF,EAAY,SAASK,EAAaytB,EAAWC,GAC7C,IAAI7tB,EAAOC,KACXD,EAAKG,YAAcA,EACnBH,EAAK8tB,cAAgB3tB,IAAcgH,GACnCnH,EAAK4tB,UAAYA,EAEjB5tB,EAAK+tB,UAAY1tB,IAAGC,aACpBN,EAAKguB,YAAc3tB,IAAGC,aACtBN,EAAKiuB,kBAAoB5tB,IAAGC,aAC5BN,EAAKI,UAAYC,IAAGC,aAEpB,IAAI4tB,EAAsBrrB,aAAEN,KAAKsrB,GAC7B,SAASG,GACL,OAAOA,EAAYG,cAAgBP,EAAUzmB,MAGrDnH,EAAKouB,gBAAkB/tB,IAAGc,cAAa,WACnC,IAAI6sB,EAAchuB,EAAKguB,cACvB,OAAOnrB,aAAEwrB,SAASL,EAAYM,iBAGlCtuB,EAAKuuB,WAAWL,IAGpBpuB,EAAUzG,UAAUk1B,WAAa,SAASL,GACtC,IAAIluB,EAAOC,KAEP+tB,EAAc,CACdF,cAAe9tB,EAAK8tB,cACpBK,YAAanuB,EAAK4tB,UAAUzmB,GAC5BmnB,aAAcJ,EAAsBA,EAAoBI,aAAe,MAG3EtuB,EAAK+tB,YAAUG,GACfluB,EAAKguB,YAAYA,GACjBhuB,EAAKiuB,kBAAkBD,EAAYM,cACnC,IAAIE,EAAyBxuB,EAAKG,cAAcsuB,YAChDzuB,EAAKI,WAAWyC,aAAEwrB,SAASL,EAAYM,gBAAkBE,IAG7D1uB,EAAUzG,UAAUuI,QAAU,SAAS8sB,KAGvC5uB,EAAUzG,UAAUyI,aAAe,SAASC,EAAIhH,GAC5C,IAAIiH,EAAWC,EAAElH,EAAEmH,eAAeC,QAAQ,iBAC1ClC,KAAKG,WAAU,GAEf,IAAIkC,EAASN,EAASO,KAAK,oBAC3BD,EAAOE,QACPF,EAAOG,UAGX3C,EAAUzG,UAAUqJ,cAAgB,SAASX,EAAIhH,GAC7CkF,KAAKG,WAAU,IAGnBN,EAAUzG,UAAUuJ,KAAO,WACvB,IAAI5C,EAAOC,KACP+tB,EAAcnrB,aAAEC,MAAM9C,EAAKguB,eAC3BC,EAAoBjuB,EAAKiuB,oBACzBA,GACAD,EAAYM,aAAeK,WAAWV,GACjCprB,aAAEwrB,SAASL,EAAYM,gBACxBN,EAAYM,aAAe,GAE/BM,OAA8B1vB,OAAO8uB,GAAa5qB,MAAK,SAASzK,GAC5DqH,EAAKuuB,WAAW51B,OAEbqH,EAAK+tB,aACZa,OAA8B5qB,OAAOgqB,GAAa5qB,MAAK,WACnDpD,EAAKuuB,WAAW,UAKbzuB,W,2DC/Ef,4BAEI+uB,EAA+B,aAInCA,EAA6Bx1B,UAAUoF,IAAM,SAAS8F,GAClD,OAAOsY,OAAIpe,IAAI,0BAA4B8F,IAG/CsqB,EAA6Bx1B,UAAUy1B,WAAa,WAChD,OAAOjS,OAAIpe,IAAI,2BAGnBowB,EAA6Bx1B,UAAU01B,aAAe,SAAUlQ,GAC5D,OAAOhC,OAAIG,KAAK,yBAA0B6B,IAG9CgQ,EAA6Bx1B,UAAU21B,2BAA6B,SAAUC,GAC1E,IAAIlgB,EAAS,CACTmgB,gBAAgB,EAChBD,UAAWA,GAGXxD,EAAWxpB,EAAEypB,WAQjB,OANA7O,OAAIpe,IAAI,8BAA+BsQ,GAAQ3L,MAAK,SAAUmC,GAC1DkmB,EAAStwB,QAAQoK,EAAS,OAC3B2V,MAAK,WACJuQ,EAASrwB,OAAO0wB,cAGbL,EAASxuB,WAGpB4xB,EAA6Bx1B,UAAUuc,OAAS,SAAUrR,EAAU4qB,GAChE,IAAIC,EAAU,CACV7qB,SAAUA,EACV4qB,UAAWA,GAGf,OAAOtS,OAAIG,KAAK,0BAA4BzY,EAAW,UAAW6qB,IAGtEP,EAA6Bx1B,UAAUg2B,SAAW,SAAS9qB,GACvD,OAAOsY,OAAIG,KAAK,0BAA4BzY,EAAW,cAG3DsqB,EAA6Bx1B,UAAU8J,OAAS,SAAU0b,GACtD,OAAOhC,OAAIK,IAAI,0BAA4B2B,EAAO1X,GAAI0X,IAG1DgQ,EAA6Bx1B,UAAUi2B,kBAAoB,SAAS/qB,GAChE,OAAOsY,OAAIG,KAAK,0BAA4BzY,EAAW,qBAG3DsqB,EAA6Bx1B,UAAUk2B,oBAAsB,SAAShrB,GAClE,OAAOsY,OAAIG,KAAK,0BAA4BzY,EAAW,uBAG3DsqB,EAA6Bx1B,UAAUm2B,cAAgB,SAASjrB,GAC5D,OAAOsY,OAAIG,KAAK,0BAA4BzY,EAAW,mBAG3DsqB,EAA6Bx1B,UAAUo2B,eAAiB,SAASlrB,GAC7D,OAAOsY,OAAIG,KAAK,0BAA4BzY,EAAW,oBAG3DsqB,EAA6Bx1B,UAAUq2B,iBAAmB,SAASnrB,GAC/D,OAAOsY,OAAIG,KAAK,0BAA4BzY,EAAW,sBAG3DsqB,EAA6Bx1B,UAAUs2B,aAAe,SAAUprB,GAC5D,OAAOsY,OAAIW,IAAI,0BAA4BjZ,IAG/CsqB,EAA6Bx1B,UAAUu2B,gBAAkB,SAAUrrB,EAAUsrB,GACzE,IAAIT,EAAU,CACV7qB,SAAUA,EACVsrB,UAAWA,GAEf,OAAOhT,OAAIG,KAAK,0BAA4BzY,EAAW,mBAAoB6qB,IAG/EP,EAA6Bx1B,UAAUy2B,kBAAoB,SAAUvrB,EAAUsrB,GAC3E,IAAIT,EAAU,CACV7qB,SAAUA,EACVsrB,UAAWA,GAEf,OAAOhT,OAAIG,KAAK,0BAA4BzY,EAAW,qBAAsB6qB,IAGjFP,EAA6Bx1B,UAAU02B,aAAe,SAASxrB,EAAU4pB,GACrE,IAAIiB,EAAU,CACV7qB,SAAUA,EACV4pB,YAAaA,GAEjB,OAAOtR,OAAIG,KAAK,0BAA4BzY,EAAW,gBAAiB6qB,IAG5EP,EAA6Bx1B,UAAU22B,gBAAkB,SAASzrB,EAAU4pB,GACxE,IAAIiB,EAAU,CACV7qB,SAAUA,EACV4pB,YAAaA,GAEjB,OAAOtR,OAAIG,KAAK,0BAA4BzY,EAAW,mBAAoB6qB,IAG/EP,EAA6Bx1B,UAAU42B,eAAiB,SAAS1rB,GAC7D,OAAOsY,OAAIpe,IAAI,0BAA4B8F,EAAW,oBAG1DsqB,EAA6Bx1B,UAAU62B,kBAAoB,SAAS3rB,EAAU4rB,GAC1E,IAAIx3B,EAAO,CACP4L,SAAUA,EACV4rB,YAAaA,GAEjB,OAAOtT,OAAIK,IAAI,2CAA4CvkB,IAG/Dk2B,EAA6Bx1B,UAAU+2B,6BAA+B,SAAS7rB,GAC3E,OAAOsY,OAAIpe,IAAI,0BAA4B8F,EAAW,kCAG3C,WAAIsqB,I,yCC3HnB,IAAInyB,EAAO,s2EAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,kzCAEX7B,EAAOD,QAAU8B,G,kJCGXuT,EAAkB,wDAAxB,iD,0BACU,EAAAogB,4BAA6B,EAC7B,EAAAC,oBAA2C,GAFrD,EAAwB,qDAKf,SAAeC,GACpBtwB,KAAKowB,4BAA6B,EAClCpwB,KAAKqwB,oBAAsBC,IAPP,yBAWf,WACLtwB,KAAKowB,4BAA6B,IAZd,gGAgBf,2GACD13B,EAAO,GADN,kBAGU63B,OAAuBxhB,SAHjC,OAGHrW,EAHG,0DAKH8G,QAAQulB,KAAR,MALG,QAOL/kB,KAAKse,QAAQC,OAAO,iBAAkB7lB,GAPjC,yDAhBe,sIA2Bf,iGACAsH,KAAKowB,2BADL,yCAEIpwB,KAAKqwB,qBAFT,uBAIGrwB,KAAKwwB,4BAJR,gCAKIxwB,KAAKqwB,qBALT,gDA3Be,uFAoCtB,WACE,OAAOrwB,KAAKqwB,sBArCQ,mCAuCtB,WACE,OAAOrwB,KAAKqwB,oBAAoBn3B,WAxCZ,GAAS4lB,QAK/BlJ,gBADCmJ,QACD,mCAMAnJ,gBADCmJ,QACD,gCAKAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,8CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2BA3BIjP,EAAkB,gBADvBkP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,wBAC5BmS,GA4CSA,U,uBClDfpV,EAAOD,QAAU,IAA0B,iC,mBCC3C,IAAI8B,EAAO,4+BAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,oTAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,ukDAEX7B,EAAOD,QAAU8B,G,kNCQX+T,EAAY,wDAAlB,iD,0BACU,EAAAigB,qBAA6C,GAC7C,EAAAC,2BAA4C,GAC5C,EAAAC,qCAAsD,GAHhE,EAAkB,wDAKhB,WACE,OAAO3wB,KAAKywB,uBANE,qCAShB,WACE,OAAOzwB,KAAK0wB,6BAVE,+CAahB,WACE,OAAO1wB,KAAK2wB,uCAdE,6BAiBhB,WAA4B,WAC1B,OAAO,SAACC,GAAwC,MAC9C,iBAAO,EAAKF,2BAA2BpuB,MAAK,SAAAyS,GAAQ,OAAIA,EAASlX,OAAS+yB,YAA1E,QAA8F,MAnBlF,2BAuBhB,WAA0B,WACxB,OAAO,SAAC1pB,GAA2B,MACjC,iBAAO,EAAKwpB,2BAA2BpuB,MAAK,SAAAyS,GAAQ,OAAIA,EAAS7N,KAAOA,YAAxE,QAA+E,MAzBnE,iCA6BhB,WAAgC,WAC9B,OAAO,SAACA,GAAyC,MAC/C,iBAAO,EAAKupB,qBAAqBnuB,MAAK,SAAAyS,GAAQ,OAAIA,EAASzQ,WAAa4C,YAAxE,aAAO,EAAsE4N,gBA/BjE,wCAmChB,WAAuC,WACrC,OAAO,SAACxQ,EAAkBzG,GAAyC,MAC3DgzB,EAAe,UAAG,EAAKJ,qBAAqBnuB,MAAK,SAAAyS,GAAQ,OAAIA,EAASzQ,WAAaA,YAApE,aAAG,EAA4EwQ,aACpG,GAAI,OAAC+b,QAAD,IAACA,KAAiB33B,OACtB,OAAO23B,EAAgBvuB,MAAK,SAAAyS,GAAQ,OAAIA,EAAS+b,cAAgBjzB,QAvCrD,qGA4CT,WAAqCyG,GAArC,kHAEuCysB,OAAmBC,QAAQ1sB,OAAUxG,GAAW,GAAM,GAF7F,cAEGgX,EAFH,gBAGgBic,OAAmBE,2BAA2B3sB,GAH9D,OAGG4sB,EAHH,OAIHpc,EAAaqc,SAAQ,SAAAxO,GACnBA,EAAYuO,KAAOA,EAAKvO,EAAYzb,OAEtClH,KAAKse,QAAQC,OAAO,2BAA4B,CAAEzJ,aAAcA,EAAcxQ,SAAUA,IAPrF,qDASH9E,QAAQulB,KAAR,MATG,0DA5CS,iKA0DT,WAAuCzgB,GAAvC,gHAEgBysB,OAAmBC,QAAQ1sB,EAAU,KAAM,MAAM,GAFjE,OAEG5L,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,mCAAoC7lB,GAHrD,mDAKH8G,QAAQulB,KAAR,MALG,yDA1DS,kKAoET,WAAwCzgB,GAAxC,gHAEiDysB,OAAmBK,iCAAiC9sB,GAFrG,cAEG+sB,EAFH,OAGHrxB,KAAKse,QAAQC,OAAO,gCAAiC8S,GAHlD,kBAIIA,GAJJ,mCAMH7xB,QAAQulB,KAAR,MANG,yDApES,gGA+ET,SAAyB4H,GAC9B,IAAM2E,EAAqBtxB,KAAKywB,qBAAqBtS,WAAU,SAAAS,GAAM,OAAIA,EAAOta,WAAaqoB,EAAQroB,YACjGgtB,GAAsB,EAAGpiB,aAAIkF,IAAIpU,KAAKywB,qBAAsBa,EAAoB3E,GAC/E3sB,KAAKywB,qBAAqBj3B,KAAKmzB,KAlFtB,8CAsFT,SAAiC7X,GACtC9U,KAAK0wB,2BAA6B5b,IAvFpB,2CA2FT,SAA8Buc,GACnCrxB,KAAK2wB,qCAAuCU,MA5F9B,GAASvS,QA4CzBlJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mDAcArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,qDAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,sDAWArJ,gBADCmJ,QACD,6CAOAnJ,gBADCmJ,QACD,qDAKAnJ,gBADCmJ,QACD,kDA3FIvO,EAAY,gBADjB0O,eAAO,CAAEC,YAAY,EAAMthB,KAAM,kBAC5B2S,GAiGSA,U,wPC1GX+gB,EAAkB,aAItBA,EAAgBn4B,UAAU2V,OAAS,WAC/B,OAAO6N,OAAIpe,IAAI,eAGnB+yB,EAAgBn4B,UAAUskB,IAAM,SAAU8T,GACtC,OAAO5U,OAAIG,KAAK,aAAcyU,IAGlCD,EAAgBn4B,UAAU8J,OAAS,SAAUsuB,GACzC,OAAO5U,OAAIK,IAAI,aAAcuU,IAGjCD,EAAgBn4B,UAAUwkB,OAAS,SAAU6T,GACzC,OAAO7U,OAAIW,IAAI,cAAgBkU,IAGpB,UAAIF,E,YCfbphB,EAAS,wDAAf,iD,0BACU,EAAAuhB,YAA4B,GAE5B,EAAAC,sBAAwB,EAHlC,EAAe,qDAON,SAAeC,GACpB5xB,KAAK0xB,YAAcE,IARR,kCAYN,SAAqBH,GAAmB,WAC7CzxB,KAAK6xB,mBAAqBJ,GAAejc,SAAStG,aAAI4iB,SAAStzB,IAAI,uBAAyBwB,KAAK0xB,YAAY,GAAGxqB,GAChHlH,KAAK2xB,sBAAwB3xB,KAAK0xB,YAAYvT,WAAU,SAAAqT,GAAS,OAAIA,EAAUtqB,KAAO,EAAK2qB,sBACvF7xB,KAAK2xB,sBAAwB,IAAG3xB,KAAK2xB,sBAAwB,GACjEziB,aAAI4iB,SAAS1d,IAAI,oBAAqBpU,KAAK6xB,mBAAoB,QAhBpD,8BAoBN,SAAiBL,GACtB,IAAMtT,EAAQle,KAAK0xB,YAAYvT,WAAU,SAAA4T,GAAI,OAAIA,EAAK7qB,KAAOsqB,EAAUtqB,MACvEgI,aAAIkF,IAAIpU,KAAK0xB,YAAaxT,EAAOsT,KAtBtB,8BA0BN,SAAiBC,GACtB,IAAMvT,EAAQle,KAAK0xB,YAAYvT,WAAU,SAAAqT,GAAS,OAAIA,EAAUtqB,KAAOuqB,KACvEzxB,KAAK0xB,YAAYt3B,OAAO8jB,EAAO,GACI,IAA/Ble,KAAK2xB,wBAA6B3xB,KAAK2xB,uBAAyB,KA7BzD,qCAiCN,SAAwBH,GAC7BxxB,KAAK0xB,YAAY1xB,KAAK2xB,uBAAuBK,QAAUR,EAAUQ,UAlCtD,wBAsCN,SAAWC,GAChBjyB,KAAK0xB,YAAY1xB,KAAK2xB,uBAAuBK,QAAQx4B,KAAKy4B,KAvC/C,2BA2CN,SAAc/T,GACnBle,KAAK0xB,YAAY1xB,KAAK2xB,uBAAuBK,QAAQ53B,OAAO8jB,EAAO,KA5CxD,2BAgDN,SAAcxlB,GACnBS,OAAOwc,OAAO3V,KAAK0xB,YAAY1xB,KAAK2xB,uBAAuBK,QAAQt5B,EAAKwlB,OAAQxlB,EAAKw5B,cAjD1E,gCAqDN,SAAmBT,GACxBzxB,KAAKse,QAAQC,OAAO,uBAAwBkT,KAtDjC,sFA0DN,WAAsBA,GAAtB,0GAEGF,EAAgB3T,OAAO6T,GAF1B,OAGHzxB,KAAKse,QAAQC,OAAO,mBAAoBkT,GAHrC,wDAKI,CAAE7zB,QAAS,0BAA2BL,MAAK,MAL/C,wDA1DM,gGAoEN,SAAyB40B,GAC9B,IAAM9a,EAASrX,KAAKse,QAAQuM,YAAY,eACpCuH,EAA0C,GAE9CpyB,KAAK0xB,YAAYP,SAAQ,SAAAK,GACU,MAA7BA,EAAUna,SAAWA,IACvBma,EAAUW,SAAV,UAAqBA,EAAS7vB,MAAK,SAAAoX,GAAI,OAAIA,EAAKxS,KAAOsqB,EAAUtqB,aAAjE,aAAqB,EAAiDirB,UAExEC,EAA0B54B,KAAKg4B,MAEjCY,EAA4BA,EAA0BrkB,MAAK,SAACC,EAAQC,GAAT,OAAoBD,EAAEmkB,SAAWlkB,EAAEkkB,YAG9F,IAAME,EAAkD9N,aAAaU,QAAQ,yBAC7E,GAAwC,MAApCoN,EAA0C,CAC5C,IAAMC,EAAwBF,EAA0BtjB,QAAO,SAAA3Q,GAAC,OAAIA,EAAEkZ,SAAWA,KAAQrI,KAAI,SAAC7Q,EAAGnF,GAAJ,MAAW,CAAEkO,GAAI/I,EAAE+I,GAAIirB,SAAUn5B,MAC9HurB,aAAaoB,QAAQ,wBAAyBP,KAAKQ,UAAU0M,IAG/DtyB,KAAKse,QAAQC,OAAO,iBAAkB6T,KAvF3B,wFA2FN,mIAEoCb,EAAgBxiB,SAFpD,OAIH,IAFM6iB,EAFH,OAIM54B,EAAI,EAAGA,EAAI44B,EAAW14B,OAAQF,IACrC,IAASkB,EAAI,EAAGA,EAAI03B,EAAW54B,GAAGg5B,QAAQ94B,OAAQgB,IAE1Cq4B,EADwC,gBAA1CX,EAAW54B,GAAGg5B,QAAQ93B,GAAGq4B,aACRvyB,KAAKse,QAAQuM,YAAY,qCAAqC,mBAC9B,gBAA1C+G,EAAW54B,GAAGg5B,QAAQ93B,GAAGq4B,aACfvyB,KAAKse,QAAQuM,YAAY,qCAAqC,mBAE9D7qB,KAAKse,QAAQuM,YAAY,qCAAqC+G,EAAW54B,GAAGg5B,QAAQ93B,GAAGq4B,cAE5GrjB,aAAIkF,IAAIwd,EAAW54B,GAAGg5B,QAAQ93B,GAAI,OAAQq4B,GAI9CvyB,KAAKse,QAAQC,OAAO,iBAAkBqT,GAjBnC,yDAoBI,CAAEh0B,QAAS,+BAAgCL,MAAK,MApBpD,yDA3FM,kJAoHN,WAAyBM,GAAzB,gGACC20B,EAAe,CACnBtrB,GAAI,EACJrJ,KAAMA,GAAQ,gBACdm0B,QAAS,IAJN,kBAQ4BT,EAAgB7T,IAAI8U,GARhD,cAQGC,EARH,gBASGzyB,KAAKse,QAAQlc,SAAS,qBATzB,gCAUIqwB,GAVJ,2CAYI,CAAE70B,QAAS,0BAA2BL,MAAK,MAZ/C,0DApHM,gJAqIN,WAAsBi0B,GAAtB,0GAEGD,EAAgBruB,OAAOsuB,GAF1B,OAGHxxB,KAAKse,QAAQC,OAAO,mBAAoBiT,GAHrC,wDAKI,CAAE5zB,QAAS,6BAA8BL,MAAK,MALlD,wDArIM,sJA+IN,WAA4Bi0B,GAA5B,0GAEGD,EAAgBruB,OAAOsuB,GAF1B,OAGHxxB,KAAKse,QAAQC,OAAO,0BAA2BiT,GAH5C,wDAKI,CAAE5zB,QAAS,0CAA2CL,MAAK,MAL/D,wDA/IM,0IAyJN,WAAgB00B,GAAhB,gGACCT,EAAYxxB,KAAK0yB,gBACvBlB,EAAUQ,QAAQx4B,KAAKy4B,GAFlB,kBAK4BV,EAAgBruB,OAAOsuB,GALnD,cAKGmB,EALH,OAMH3yB,KAAKse,QAAQC,OAAO,aAAc0T,GAN/B,kBAQIU,GARJ,2CAUI,CAAE/0B,QAAS,2BAA4BL,MAAK,MAVhD,0DAzJM,6IAwKN,WAAmB20B,GAAnB,4FACChU,EAAQle,KAAK0yB,gBAAgBV,QAAQ7T,WAAU,SAAA8T,GAAM,OAAIA,EAAO/qB,KAAOgrB,EAAWhrB,QAEpFgX,GAAS,GAHR,wBAIGsT,EAAYxxB,KAAK0yB,gBACvBlB,EAAUQ,QAAQ9T,GAAS/kB,OAAOwc,OAAO6b,EAAUQ,QAAQ9T,GAAQgU,GALhE,kBAQKX,EAAgBruB,OAAOsuB,GAR5B,OASDxxB,KAAKse,QAAQC,OAAO,gBAAiB,CAAEL,QAAOgU,eAT7C,2DAWM,CAAEt0B,QAAS,0BAA2BL,MAAK,MAXjD,qCAcI,CAAEK,QAAS,mCAdf,0DAxKM,6IA2LN,WAAmBsJ,GAAnB,4FACCgX,EAAQle,KAAK0yB,gBAAgBV,QAAQ7T,WAAU,SAAA8T,GAAM,OAAIA,EAAO/qB,KAAOA,OAEzEgX,GAAS,GAHR,wBAIGsT,EAAYxxB,KAAK0yB,gBACvBlB,EAAUQ,QAAQ53B,OAAO8jB,EAAO,GAL7B,kBAQKqT,EAAgBruB,OAAOsuB,GAR5B,OASDxxB,KAAKse,QAAQC,OAAO,gBAAiBL,GATpC,2DAWM,CAAEtgB,QAAS,0BAA2BL,MAAK,MAXjD,qCAcI,CAAEK,QAAS,mCAdf,0DA3LM,oJA+MN,uHAEGoC,KAAKse,QAAQlc,SAAS,qBAFzB,UAIEpC,KAAK0xB,YAAYx4B,OAJnB,gCAKK8G,KAAKse,QAAQlc,SAAS,sBAL3B,OAQHpC,KAAKse,QAAQC,OAAO,wBARjB,yDAUI,CAAE3gB,QAAS,iCAAkCL,MAAK,MAVtD,yDA/MM,+FA8NN,SAAyBq1B,GAC9B,OAAO5yB,KAAK0xB,YAAY1xB,KAAK2xB,uBAAuBK,QAAQljB,QAAO,SAAAmjB,GAAM,aAAI,UAAAA,EAAOj2B,YAAP,eAAa62B,eAAgBD,OA/N/F,kCAkOb,WAA0B,MACxB,iBAAO5yB,KAAK0xB,YAAY1xB,KAAK2xB,8BAA7B,aAAO,EAA8CK,UAnO1C,yBAsOb,WACE,OAAOhyB,KAAK0xB,YAAY1xB,KAAK2xB,uBAAuBK,QAAQljB,QAAO,SAAAmjB,GAAM,OAAIA,EAAOa,YAvOzE,sBA0Ob,WACE,OAAO9yB,KAAK0xB,cA3OD,2BA8Ob,WAEE,OAAOtM,KAAKC,MAAMD,KAAKQ,UAAU5lB,KAAK0xB,YAAY1xB,KAAK2xB,2BAhP5C,yBAmPb,WAAiB,WACf,OAAO,SAACzqB,GACN,IAAMsqB,EAAY,EAAKE,YAAYpvB,MAAK,SAAAkvB,GAAS,OAAIA,EAAUtqB,KAAOA,KAEtE,GAAKsqB,EACA,OAAOA,EADI,MAAM,IAAIh1B,MAAM,8BAAgC0K,QAvPvD,GAAS4X,QAOtBlJ,gBADCmJ,QACD,mCAKAnJ,gBADCmJ,QACD,yCAQAnJ,gBADCmJ,QACD,qCAMAnJ,gBADCmJ,QACD,qCAOAnJ,gBADCmJ,QACD,4CAKAnJ,gBADCmJ,QACD,+BAKAnJ,gBADCmJ,QACD,kCAKAnJ,gBADCmJ,QACD,kCAKAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAKArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,oCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,6CAuBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,sCAyBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAiBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,oCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,0CAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,8BAeArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAmBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAoBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,wCAeArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,6CA9NI9O,EAAS,gBADd+O,eAAO,CAAEC,YAAY,EAAMthB,KAAM,eAC5BsS,GA6PSA,U,sMClQXwM,EAAS,aAIbA,EAAOvjB,UAAU2V,OAAS,WACxB,OAAO6N,OAAIpe,IAAI,0BAGjBme,EAAOvjB,UAAU2K,OAAS,SAAUmD,GAClC,OAAO0V,OAAIW,IAAJ,gCAAiCrW,KAG3B,UAAIyV,ECRbtL,EAAQ,wDAAd,iD,0BACU,EAAA0hB,UAAuB,GADjC,EAAc,mDAIL,SAAaC,GAClBhzB,KAAK+yB,UAAYC,IALP,yBASL,SAAYC,GACjBjzB,KAAK+yB,UAAUv5B,KAAKy5B,KAVV,4BAcL,SAAeA,GACpB,IAAMC,EAAYlzB,KAAK+yB,UAAU5U,WAAU,SAAAgV,GAAI,OAAIF,EAAQzb,QAAU2b,EAAK3b,UACvD,IAAf0b,GAAkBlzB,KAAK+yB,UAAU34B,OAAO84B,EAAW,KAhB7C,oFAqBL,6HAEoBE,EAAerkB,SAFnC,OAEGikB,EAFH,OAGHhzB,KAAKse,QAAQC,OAAO,eAAgByU,GAHjC,yDAKI,CAAEp1B,QAAS,2BAA4BL,MAAK,MALhD,yDArBK,6IA+BL,WAAoB2J,GAApB,0GAEGksB,EAAervB,OAAOmD,GAFzB,+DAII,CAAEtJ,QAAS,2BAA4BL,MAAK,MAJhD,wDA/BK,8EAuCZ,WACE,OAAOyC,KAAK+yB,YAxCF,yBA0CZ,WACE,OAAO/yB,KAAK+yB,UAAUjkB,QAAO,SAAAukB,GAAE,OAAIA,EAAG7b,OAAuB,OAAd6b,EAAGhc,YA3CxC,6BA6CZ,WAA4B,WAC1B,OAAO,SAACG,GACN,OAAO,EAAKub,UAAUzwB,MAAK,SAAA6wB,GAAI,OAAIA,EAAK3b,QAAUA,UA/C1C,GAASsH,QAIrBlJ,gBADCmJ,QACD,iCAKAnJ,gBADCmJ,QACD,gCAKAnJ,gBADCmJ,QACD,mCAOAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kCA/BI5N,EAAQ,gBADb6N,eAAO,CAAEC,YAAY,EAAMthB,KAAM,cAC5BwT,GAoDSA,U,qBCzDf,IAAI5U,EAAO,snDAEX7B,EAAOD,QAAU8B,G,wJCAjB,SAAS62B,EAAaC,GAClB,OAAOA,EAAIntB,QAAQ,8BAA+B,QAGtD,SAASotB,EAAWD,EAAKjxB,EAAM8D,GAC3B,OAAOmtB,EAAIntB,QAAQ,IAAIqtB,OAAOH,EAAahxB,GAAO,KAAM8D,GAG5D,SAASstB,EAAWH,GAChB,OAAQA,EAAM,IAAIntB,QAAQ,UAAW,QAAQA,QAAQ,UAAW,OAGpE,SAASutB,EAAmBJ,GACxB,OAAK3wB,aAAEgxB,SAASL,IAETA,EAAIntB,QAAQ,MAAO,IAAIlN,OAAS,EAG3C,SAAS26B,EAAqBN,GAC1B,MAAO,0BAA0BO,KAAKP,GAG1C,SAASQ,EAAeR,EAAK30B,GACzB,OAA6C,IAAtC20B,EAAIrrB,cAAchC,QAAQtH,GAIrC,SAAS4J,EAAkB4C,GACvB,IAAI4oB,EAAQ,CAAC,IAAK,KAAM,KAAM,MAC9B,GAAa,GAAT5oB,EAAY,MAAO,MACvB,IAAIpS,EAAIwc,SAASye,KAAKC,MAAMD,KAAKE,IAAI/oB,GAAS6oB,KAAKE,IAAI,OAEvD,OAAQ/oB,EAAQ6oB,KAAKG,IAAI,IAAMp7B,IAAIkqB,QAAQ,GAAK,IAAM8Q,EAAMh7B,GAGhE,SAAS6P,EAAS0qB,EAAK30B,EAAOy1B,GAM1B,OALIA,IACAd,EAAMA,EAAIrrB,cACVtJ,EAAQA,EAAMsJ,eAGXqrB,EAAI3zB,OAAOhB,EAAM1F,UAAY0F,EAGxC,SAAS01B,EAAatF,GAClB,IAAIuF,GAAa,UAAYvF,GAAWpvB,OAAO,GAC/C,MAAO,MAAQ20B,EAGnB,SAASC,EAAIjB,EAAKkB,GAEd,OADAlB,EAAMA,EAAImB,WACHnB,EAAIr6B,OAASu7B,EAAMD,EAAI,IAAMjB,EAAKkB,GAAOlB,EAGpD,SAAS1b,EAAiB8c,EAAMC,GAC5B,IAAIC,EAAWF,IAASC,EACxB,OAAIC,GAIU,OAATF,GAA4B,OAATC,GAIwC,IAAzDD,EAAKG,cAAcC,cAAcH,EAAKE,eAGlC,QACXtB,WAAY,SAASD,EAAKjxB,EAAM8D,GAC5B,OAAOotB,EAAWD,EAAKjxB,EAAM8D,IAEjCstB,WAAY,SAASH,GACjB,OAAOG,EAAWH,IAEtBI,mBAAoB,SAASJ,GACzB,OAAOI,EAAmBJ,IAE9BM,qBAAsB,SAASN,GAC3B,OAAOM,EAAqBN,IAEhCQ,eAAgB,SAASR,EAAK30B,GAC1B,OAAOm1B,EAAeR,EAAK30B,IAE/B4J,kBAAmB,SAAS4C,GACxB,OAAO5C,EAAkB4C,IAE7BvC,SAAU,SAAS0qB,EAAK30B,EAAOy1B,GAC3B,OAAOxrB,EAAS0qB,EAAK30B,EAAOy1B,IAEhCC,aAAc,SAAStF,GACnB,OAAOsF,EAAatF,IAExBwF,IAAK,SAASjB,EAAKkB,GACf,OAAOD,EAAIjB,EAAKkB,IAEpB5c,iBAAkB,SAAU8c,EAAMC,GAC9B,OAAO/c,EAAiB8c,EAAMC,M,qBClGtC,IAAIn4B,EAAO,wqCAEX7B,EAAOD,QAAU8B,G,uBCHjB7B,EAAOD,QAAU,IAA0B,yD,0HCIrCq6B,EAAa,wDAAnB,iD,0BACU,EAAAC,qBAAuB,CAC7B,CACEld,MAAO,KACPnZ,MAAO,KACP4gB,KAAM0V,OAAkBC,IAE1B,CACEpd,MAAO,UACPnZ,MAAO,UACP4gB,KAAM0V,OAAkBE,SAE1B,CACErd,MAAO,SACPnZ,MAAO,QACP4gB,KAAM0V,OAAkBG,OAE1B,CACEtd,MAAO,eACPnZ,MAAO,eACP4gB,KAAM0V,OAAkBI,cAE1B,CACEvd,MAAO,yBACPnZ,MAAO,eACP4gB,KAAM0V,OAAkBK,eAzB9B,EAAmB,wDA6BjB,WACE,OAAOv1B,KAAKi1B,yBA9BG,GAASnW,QAAtBkW,EAAa,gBADlB9V,eAAO,CAAEC,YAAY,EAAMthB,KAAM,eAC5Bm3B,GAkCSA,U,qBCtCfp6B,EAAOD,QAAU,0+F,kCCAjB,W,mBCCA,IAAI8B,EAAO,meAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,onGAEX7B,EAAOD,QAAU8B,G,oJCDb+4B,EAAY,aAIhBA,EAAUp8B,UAAUq8B,QAAU,SAAS1L,GACrC,OAAOnN,OAAIpe,IAAJ,WAAoBurB,IAG7ByL,EAAUp8B,UAAUs8B,OAAS,SAAS3L,GACpC,OAAOnN,OAAIpe,IAAJ,WAAoBurB,IAG7ByL,EAAUp8B,UAAUu8B,QAAU,SAAS5L,GACrC,OAAOnN,OAAIpe,IAAJ,YAAqBurB,IAGf,UAAIyL,ECbbtkB,EAAG,oOAGA,WAAgB6Y,GAAhB,0GAEUyL,EAAUC,QAAQ1L,GAF5B,iFAII,CAAEnsB,QAAS,+BAAgCL,MAAK,MAJpD,wDAHA,yIAYA,WAAewsB,GAAf,0GAEUyL,EAAUE,OAAO3L,GAF3B,iFAII,CAAEnsB,QAAS,+BAAgCL,MAAK,MAJpD,wDAZA,0IAqBA,WAAgBwsB,GAAhB,0GAEUyL,EAAUG,QAAQ5L,GAF5B,iFAII,CAAEnsB,QAAS,+BAAgCL,MAAK,MAJpD,wDArBA,+DAASuhB,QAGhBlJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,8BASArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,6BASArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,8BArBI/N,EAAG,gBADRgO,eAAO,CAAEC,YAAY,EAAMthB,KAAM,SAC5BqT,GA8BSA,U,qBClCf,IAAIzU,EAAO,w0FAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,o9BAEX7B,EAAOD,QAAU8B,G,qBCHjB7B,EAAOD,QAAU,8lB,qBCCjB,IAAI8B,EAAO,4xBAEX7B,EAAOD,QAAU8B,G,gGCEXoT,EAAU6W,eAAUC,OAAeC,QAEzC,SAASgP,EAAiBhX,GACtB,IAAIiX,EAAgBC,mBAAmBlX,EAAO/gB,MAE1Ck4B,EAAU/wB,WAA2C4Z,EAAO1X,GAAK,IAAM2uB,EAAgB,IAC3F,OAAOE,EAGI,QACXC,aAAc,SAASpX,GACnB,OAAOgX,EAAiBhX,GAAU/O,EAAQgX,gBAE9CoP,qBAAsB,SAASrX,GAC3B,IAAImX,EAAUH,EAAiBhX,GAAU/O,EAAQgX,eACjD,OAAOkP,EAAU,kBAErBG,0BAA2B,SAAStX,GAChC,IAAImX,EAAUH,EAAiBhX,GAAU/O,EAAQgX,eACjD,OAAOkP,EAAU,iBAErBI,qBAAsB,SAASvX,GAC3B,MAAO5Z,wBAEXoxB,sBAAuB,WACnB,MAAOpxB,uB,oCC9Bf,4BAGIqxB,EAAmB,aAIvBA,EAAiBj9B,UAAUkwB,uBAAyB,SAAUhlB,GAC1D,IAAIwK,EAAS,CACTxK,SAAUA,EACVgyB,kBAAkB,GAGtB,OAAO1Z,OAAIpe,IAAI,mBAAoBsQ,IAGvCunB,EAAiBj9B,UAAUm9B,eAAiB,SAAUjyB,GAClD,IAAIwK,EAAS,CACTxK,SAAUA,EACVgyB,kBAAkB,GAGtB,OAAO1Z,OAAIpe,IAAI,mBAAoBsQ,IAGvCunB,EAAiBj9B,UAAU8J,OAAS,SAAUgd,GAC1C,OAAOtD,OAAIK,IAAI,cAAeiD,GAAW/c,MAAK,SAAUzK,GACpDmI,OAAO21B,iBAAiBp0B,SAAS1J,OAIzC29B,EAAiBj9B,UAAUq9B,iBAAmB,SAAUlU,GACtD,IAAIzT,EAAS,CACXyT,aAAcA,GAGhB,OAAO3F,OAAIpe,IAAI,mBAAoBsQ,IAGrCunB,EAAiBj9B,UAAUs9B,cAAgB,SAASpyB,GAClDsY,OAAI+Z,aAAa,8BAAgCryB,EAAU,QAG9C,WAAI+xB,G,qBC1CnB,IAAI55B,EAAO,iiCAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,mjIAEX7B,EAAOD,QAAU8B,G,4JCMXiU,EAAe,wDAArB,iD,0BACU,EAAAkmB,MAAoC,KACpC,EAAAC,iBAA4C,KAC5C,EAAAC,YAAgD,KAChD,EAAAC,aAAkC,KAJ5C,EAAqB,+CAOZ,SAASr+B,GACdsH,KAAK42B,MAAQl+B,IARI,mCAYZ,SAAsBA,GAC3BsH,KAAK62B,iBAAmBn+B,IAbP,4BAiBZ,SAAeA,GACpBsH,KAAK82B,YAAcp+B,IAlBF,8BAsBZ,SAAiBA,GACtBsH,KAAK+2B,aAAer+B,IAvBH,yBA2BZ,WACLsH,KAAK42B,MAAQ,KACb52B,KAAK62B,iBAAmB,KACxB72B,KAAK82B,YAAc,OA9BF,iFAkCZ,WAAiB/M,GAAjB,8FACDrxB,EAAO,GADN,kBAGUs+B,OAAuBC,KAAKlN,GAHtC,OAGHrxB,EAHG,iEAKH8G,QAAQulB,KAAR,MALG,kBAMI9pB,QAAQE,UANZ,QAQL6E,KAAKse,QAAQC,OAAO,WAAY7lB,GAR3B,yDAlCY,sJA8CZ,WAA4BqxB,GAA5B,8FACDrxB,EAAO,GADN,kBAGUs+B,OAAuBpW,iBAAiBmJ,GAHlD,OAGHrxB,EAHG,iEAKH8G,QAAQulB,KAAR,MALG,kBAMI9pB,QAAQE,UANZ,QAQL6E,KAAKse,QAAQC,OAAO,wBAAyB7lB,GARxC,yDA9CY,iJA0DZ,WAAuBqxB,GAAvB,8FACDrxB,EAAO,GADN,kBAGUs+B,OAAuBE,WAAWnN,GAH5C,OAGHrxB,EAHG,iEAKH8G,QAAQulB,KAAR,MALG,kBAMI9pB,QAAQE,UANZ,QAQL6E,KAAKse,QAAQC,OAAO,iBAAkB7lB,GARjC,yDA1DY,kJAsEZ,WAAwBwO,GAAxB,8FACDxO,EAAO,GADN,kBAGUs+B,OAAuBG,YAAYjwB,GAH7C,OAGHxO,EAHG,0DAKH8G,QAAQulB,KAAR,MALG,QAOL/kB,KAAKse,QAAQC,OAAO,mBAAoB7lB,GAPnC,yDAtEY,0EAgFnB,WACE,OAAOsH,KAAK42B,QAjFK,2BAoFnB,WACE,OAAO52B,KAAK62B,mBArFK,sBAwFnB,WACE,OAAO72B,KAAK82B,cAzFK,uBA2FnB,WACE,OAAO92B,KAAK+2B,iBA5FK,GAASjY,QAO5BlJ,gBADCmJ,QACD,6BAKAnJ,gBADCmJ,QACD,0CAKAnJ,gBADCmJ,QACD,mCAKAnJ,gBADCmJ,QACD,qCAKAnJ,gBADCmJ,QACD,gCAOAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+BAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,0CAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,qCAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,sCAtEIvO,EAAe,gBADpBwO,eAAO,CAAEC,YAAY,EAAMthB,KAAM,qBAC5B6S,GAgGSA,U,wECvGXiM,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAASgC,GAC7B,IAAIwK,EAAS,CACTxK,SAAUA,GAEd,OAAOsY,OAAIpe,IAAI,cAAesQ,IAGlC6N,EAAOvjB,UAAU2V,OAAS,WACtB,OAAO6N,OAAIpe,IAAI,eAGnBme,EAAOvjB,UAAUg+B,eAAiB,WAC9B,OAAOxa,OAAIpe,IAAI,kBAGnBme,EAAOvjB,UAAU8J,OAAS,SAAS2V,GAC/B,OAAO+D,OAAIK,IAAI,aAAcpE,IAGjC8D,EAAOvjB,UAAU2f,eAAiB,SAAU1B,GACxC,IAAI8X,EAAU,CACV9X,OAAQA,GAEZ,OAAOuF,OAAIG,KAAK,wBAAyBoS,IAG7CxS,EAAOvjB,UAAU4f,YAAc,SAAU3B,GACrC,IAAI8X,EAAU,CACV9X,OAAQA,GAEZ,OAAOuF,OAAIG,KAAK,qBAAsBoS,IAG1CxS,EAAOvjB,UAAU2H,IAAM,SAAS8X,GAC5B,OAAO+D,OAAIG,KAAK,cAAelE,IAGnC8D,EAAOvjB,UAAU2K,OAAS,SAAU8U,GAChC,OAAO+D,OAAIW,IAAI,UAAY1E,EAAK3R,KAGpCyV,EAAOvjB,UAAUi+B,WAAa,SAAUnI,GACpC,OAAOtS,OAAIG,KAAK,qBAAuBmS,IAG3CvS,EAAOvjB,UAAUk+B,YAAc,WAC3B,OAAO1a,OAAIpe,IAAI,wBAGJ,WAAIme,G,iHCpDnB,SAAS9c,EAAU03B,EAAOC,GACtB,IAAIz3B,EAAOC,KACXD,EAAKw3B,MAAQA,EACbx3B,EAAK03B,UAAY13B,EAAKw3B,MAAM15B,KAAKuK,MAAM,KAAK,GAE5CrI,EAAK23B,cAAgBt3B,IAAGc,cAAa,WACjC,IAAIyhB,EAAc6U,IAClB,QAAK7U,GAEE/f,aAAE+0B,IAAIhV,EAAYuO,MAAM,SAAS0G,GACpC,OAAOA,EAAiB/5B,OAASkC,EAAKw3B,MAAM15B,WAKzCgC,QCfXA,EAAY,SAAShC,EAAMg6B,EAAQL,GACnCx3B,KAAKnC,KAAOA,EACZ,IAAIi6B,EAAgBl1B,aAAEof,OAAO6V,EAAQ,QACrC73B,KAAK63B,OAASj1B,aAAEoM,IAAI8oB,GAAe,SAASP,GACxC,OAAO,IAAIQ,EAAQR,EAAOC,OAInB33B,U,mBCVf,IAAIpD,EAAO,60NAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,w8GAEX7B,EAAOD,QAAU8B,G,wKCDbu7B,EAAiB,aAIrBA,EAAe5+B,UAAUkJ,KAAO,SAAS21B,EAAclW,GACnD,IAAIjT,EAAS,CACTmpB,aAAcA,EACdlW,YAAaA,GAGjB,OAAOnF,OAAIpe,IAAI,iBAAkBsQ,IAGtB,UAAIkpB,ECVbxoB,EAAQ,uOAEL,WAAmB9W,GAAnB,gHAEmCs/B,EAAe11B,KAAK5J,EAAKu/B,aAAcv/B,EAAKqpB,aAF/E,UAEGzc,EAFH,OAIEA,EAAS4yB,aAJX,yCAIgCj9B,QAAQE,OAAO,iBAJ/C,gCAKSmK,GALT,qFAOIrK,QAAQE,OAAR,0CAPJ,0DAFK,+DAAS2jB,QAErBlJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAFIzP,EAAQ,gBADb0P,eAAO,CAAEC,YAAY,EAAMthB,KAAM,cAC5B2R,GAcSA,U,wKCdTD,EAAY,wDAAlB,iD,0BACU,EAAA4oB,qBAAuC,GACvC,EAAAC,iBAAwC,GACxC,EAAAC,YAAsC,GAHhD,EAAkB,wDAMT,SAAkBC,GACvBt4B,KAAKm4B,qBAAqB3+B,KAAK8+B,KAPjB,kCAWT,SAAqBC,GAC1Bv4B,KAAKo4B,iBAAiB5+B,KAAK++B,KAZb,mCAgBT,SAAsBC,GAC3Bx4B,KAAKq4B,YAAY7+B,KAAKg/B,KAjBR,6FAsBT,6HAE+BC,OAAmBC,aAFlD,cAEGJ,EAFH,OAGHt4B,KAAKse,QAAQC,OAAO,oBAAqB+Z,GAHtC,kBAIIA,GAJJ,yCAMI,CAAE16B,QAAS,4BAA6BL,MAAK,MANjD,yDAtBS,sJAiCT,WAA6Bo7B,GAA7B,gHAEsBF,OAAmBD,WAAWG,GAFpD,cAEGH,EAFH,OAGHx4B,KAAKse,QAAQC,OAAO,wBAAyBia,GAH1C,kBAIIA,GAJJ,yCAMI,CAAE56B,QAAS,4BAA6BL,MAAK,MANjD,yDAjCS,qJA4CT,6HAE2Bk7B,OAAmBn2B,OAF9C,cAEGi2B,EAFH,OAGHv4B,KAAKse,QAAQC,OAAO,uBAAwBga,GAHzC,kBAIIA,GAJJ,yCAMI,CAAE36B,QAAS,4BAA6BL,MAAK,MANjD,yDA5CS,kJAuDT,WAAyBq7B,GAAzB,gHAE2BH,OAAmB/a,IAAIkb,GAFlD,cAEGL,EAFH,OAGHv4B,KAAKse,QAAQC,OAAO,uBAAwBga,GAHzC,kBAIIA,GAJJ,yCAMI,CAAE36B,QAAS,iCAAkCL,MAAK,MANtD,yDAvDS,mJAkET,WAAyB2J,GAAzB,gHAE0BuxB,OAAmBI,kBAAkB3xB,GAF/D,cAEG4xB,EAFH,yBAGIA,GAHJ,yCAKI,CAAEl7B,QAAS,gCAAiCL,MAAK,MALrD,yDAlES,0IA4ET,WAAgBq7B,GAAhB,gHAEqBH,OAAmBM,UAAUH,GAFlD,cAEGG,EAFH,yBAGIA,GAHJ,yCAKI,CAAEn7B,QAAS,uBAAwBL,MAAK,MAL5C,yDA5ES,+FAqFhB,WACE,OAAOyC,KAAKm4B,uBAtFE,8BAyFhB,WACE,OAAOn4B,KAAKo4B,mBA1FE,+BA6FhB,WACE,OAAOp4B,KAAKq4B,gBA9FE,GAASvZ,QAMzBlJ,gBADCmJ,QACD,sCAKAnJ,gBADCmJ,QACD,yCAKAnJ,gBADCmJ,QACD,0CAMAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,yCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,8BA5EI1P,EAAY,gBADjB2P,eAAO,CAAEC,YAAY,EAAMthB,KAAM,kBAC5B0R,GAkGSA,U,qBCtGf,IAAI9S,EAAO,6qCAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,+lEAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,k0BAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,wuHAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,q1CAEX7B,EAAOD,QAAU8B,G,uBCFjB,IAAIu8B,EAA2C,EAAQ,QACnDC,EAA6B,EAAQ,SACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QAErCC,EAAkCT,EAAyCC,GAC3ES,EAAkCV,EAAyCE,GAC3ES,EAAkCX,EAAyCG,GAC3ES,EAAkCZ,EAAyCI,GAC3ES,EAAkCb,EAAyCK,GAC3ES,EAAkCd,EAAyCM,GAC3ES,EAAkCf,EAAyCO,GAC3ES,EAAkChB,EAAyCQ,GAC3E/8B,EAAO,uvEAAoxEg9B,EAAkC,ofAAggBC,EAAkC,0kBAAwlBC,EAAkC,qlCAAimCC,EAAkC,s+HAAogIC,EAAkC,wmCAA0nCC,EAAkC,k+EAAo/EC,EAAkC,kxCAA4xCC,EAAkC,qpBAEtnbp/B,EAAOD,QAAU8B,G,6LClBbw9B,EAAqB,aAIzBA,EAAmB7gC,UAAU8gC,qBAAuB,SAASC,GACzD,OAAOvd,OAAIpe,IAAI,2BAA6B27B,IAGhDF,EAAmB7gC,UAAUghC,uBAAyB,SAASC,GAC3D,OAAOzd,OAAIpe,IAAI,6BAA+B67B,IAGlDJ,EAAmB7gC,UAAUkhC,iBAAmB,SAASH,GACrD,OAAIv3B,aAAE2C,YAAY40B,GACPvd,OAAIpe,IAAI,kBAERoe,OAAIpe,IAAI,uBAAyB27B,IAIhDF,EAAmB7gC,UAAUmhC,kBAAoB,WAC7C,OAAO3d,OAAIpe,IAAI,oBAGnBy7B,EAAmB7gC,UAAUohC,mBAAqB,SAASC,GACvD,OAAO7d,OAAIW,IAAI,iBAAkBkd,IAGrCR,EAAmB7gC,UAAUshC,oBAAsB,SAASD,GACxD,OAAO7d,OAAIW,IAAI,kBAAmBkd,IAGtCR,EAAmB7gC,UAAUuhC,sBAAwB,SAASC,GAC1D,IAAI9rB,EAAS,CACT8rB,WAAYA,GAEhB,OAAOhe,OAAIpe,IAAI,sBAAuBsQ,IAG1CmrB,EAAmB7gC,UAAUyhC,sBAAwB,WACjD,OAAOje,OAAIG,KAAK,4BAGpBkd,EAAmB7gC,UAAU0hC,sBAAwB,SAAS7e,GAC1D,OAAOW,OAAI+Z,aAAa,4CAA8C1a,IAG1Ege,EAAmB7gC,UAAU2hC,gBAAkB,SAAS9e,GACpD,OAAOW,OAAI+Z,aAAa,sCAAwC1a,IAGrD,UAAIge,ECpDfe,EAAoB,aAIxBA,EAAkB5hC,UAAUoF,IAAM,SAAUy8B,GACxC,OAAOre,OAAIpe,IAAI,oBAAsBy8B,IAGzCD,EAAkB5hC,UAAU2jB,KAAO,SAAUke,EAAWC,GACpD,OAAOte,OAAIG,KAAK,UAAYke,EAAWC,IAG5B,UAAIF,ECRfG,G,wCAAe,SAAUV,EAAcvf,GACvC,IAAInb,EAAOC,KAEXD,EAAKq7B,yBAA2B,CAAC,CAAE94B,KAAM,QAAS+4B,KAAM,WAAc,CAAE/4B,KAAM,sBAAuB+4B,KAAM,yBAC3Gt7B,EAAKu7B,SAAW,CAAEC,SAAU,EAAGh+B,MAAO,EAAGi+B,QAAS,GAClDz7B,EAAK06B,aAAeA,EAEpB16B,EAAK07B,eAAiBr7B,IAAGC,WAAWo6B,EAAagB,gBACjD17B,EAAKm7B,WAAa96B,IAAGC,WAAWo6B,EAAaS,YAC7Cn7B,EAAK27B,QAAUt7B,IAAGC,WAAWo6B,EAAaiB,SAC1C37B,EAAKU,UAAYL,IAAGC,WAAWo6B,EAAah6B,WAC5CV,EAAK0E,aAAerE,IAAGC,WAAWo6B,EAAah2B,cAC/C1E,EAAK47B,WAAav7B,IAAGC,WAAWo6B,EAAakB,YAC7C57B,EAAKmb,OAAS9a,IAAGC,WAAW6a,GAC5Bnb,EAAK67B,OAASx7B,IAAGC,WAAWo6B,EAAamB,QAEzC77B,EAAK8pB,OAASzpB,IAAGC,YAAW,GAE5Bo6B,EAAaoB,iBAA4D,kBAAlCpB,EAAaoB,iBAAgC,KAAOpB,EAAaoB,iBACxG97B,EAAK87B,iBAAmBz7B,IAAGC,WAAW+kB,KAAKC,MAAMoV,EAAaoB,mBAE9D97B,EAAK+7B,SAAW17B,IAAGC,WAAW6a,IAAWnb,EAAKu7B,SAASE,QAAUf,EAAaqB,SAAW,KAGzF/7B,EAAKg8B,oBAAsB37B,IAAGc,cAAa,WACvC,IAAIy6B,EAAa57B,EAAK47B,aAMtB,OAJA/4B,aAAEe,KAAK5D,EAAKq7B,0BAA0B,SAAU1hB,GAC5CiiB,EAAaA,EAAWv1B,QAAQsT,EAAKpX,KAAMoX,EAAK2hB,SAG7CM,KAGX57B,EAAKi8B,wBAA0B57B,IAAGc,cAAa,WAC3C,IAAI+6B,EAAiB,IACjBC,EAAQn8B,EAAK07B,iBACbA,EAAiB,EAErB,GAAI74B,aAAE2C,YAAY22B,GAAQ,CACtB,IAAIC,EAAY1B,EAAa0B,UAE7B,IAAKv5B,aAAE2C,YAAY42B,GAAY,CAC3BA,EAAY56B,IAAO46B,GACnB,IAAIC,EAAU76B,IAAOC,MACjB8mB,EAAO8T,EAAQ9T,KAAK6T,EAAW,WAAW,GAC9CV,EAAiBnT,QAIrBmT,EAAiBS,EAAQD,EAE7B,OAAOR,KAGX17B,EAAKs8B,UAAYj8B,IAAGc,cAAa,WAC7B,IAAIm7B,EAAY,GACZf,EAAWv7B,EAAKu7B,SAUpB,OARIpgB,IAAWogB,EAASC,SACpBc,EAAY,iBACLnhB,IAAWogB,EAAS/9B,MAC3B8+B,EAAY,qBACLnhB,IAAWogB,EAASE,UAC3Ba,EAAY,uBAGTA,KAGXt8B,EAAKwc,WAAanc,IAAGc,cAAa,WAC9B,IAAIqb,EAAa,GACb+e,EAAWv7B,EAAKu7B,SAUpB,OARIpgB,IAAWogB,EAASC,SACpBhf,EAAa,WACNrB,IAAWogB,EAAS/9B,MAC3Bgf,EAAa,SACNrB,IAAWogB,EAASE,UAC3Bjf,EAAa,WAGVA,KAGXxc,EAAKivB,UAAY5uB,IAAGc,cAAa,WAC7B,IAAIg6B,EAAan7B,EAAKm7B,aAEtB,OAAOA,EAAW9yB,MAAM,KAAK,MAGjCrI,EAAKu8B,sBAAwBl8B,IAAGc,cAAa,WACzC,IAAIg6B,EAAan7B,EAAKm7B,aACtB,OAAIA,EAAWhzB,cAAcW,SAAS,QAC3B,sCAAwCqyB,EAE5C,4CAA8CA,KAGzDn7B,EAAKw8B,mBAAqBn8B,IAAGc,cAAa,WACtC,IAAIw6B,EAAU37B,EAAK27B,UACnB,MAAO,sCAAwCA,OAIvDP,EAAa/hC,UAAUojC,YAAc,WACjC,IAAIz8B,EAAOC,KAEXD,EAAK06B,aAAaoB,iBAAmBj5B,aAAE65B,QAAQ18B,EAAK87B,oBAAsB,GAAK97B,EAAK87B,mBACpFh7B,OAAO27B,YAAYp6B,SAASrC,IAGhCo7B,EAAa/hC,UAAUsjC,aAAe,WAClC,IAAI38B,EAAOC,KACP4F,QAAQ,uCACR/E,OAAO67B,aAAat6B,SAASrC,IAIrCo7B,EAAa/hC,UAAU0hC,sBAAwB,WAC3C,IAAI/6B,EAAOC,KACX28B,EAAmB7B,sBAAsB/6B,EAAKm7B,eAGlDC,EAAa/hC,UAAU2hC,gBAAkB,WACrC,IAAIh7B,EAAOC,KACX28B,EAAmB5B,gBAAgBh7B,EAAK27B,YAG5CP,EAAa/hC,UAAUwjC,aAAe,WAClC58B,KAAK6pB,QAAQ7pB,KAAK6pB,WAGPsR,Q,YCjIf,SAASt7B,IACL,IAAIE,EAAOC,KACXD,EAAK88B,OACL98B,EAAK+8B,uBAAyB,aAC9B/8B,EAAKg9B,iBAAmB,gBAExBh9B,EAAKi9B,WAAa,CAAEC,eAAgB,iBAAkBC,aAAc,gBACpEn9B,EAAKo9B,eAAiB,CAAEC,IAAK,EAAGzV,SAAU,EAAG0V,UAAW,GAExDt9B,EAAKu9B,oBAAsBl9B,IAAGC,aAC9BN,EAAKw9B,qBAAuBn9B,IAAGC,YAAW,GAC1CN,EAAKy9B,yBAA2Bp9B,IAAGC,YAAW,GAC9CN,EAAK09B,qBAAuBr9B,IAAGC,YAAW,GAC1CN,EAAK29B,aAAet9B,IAAGC,YAAW,GAElCN,EAAK49B,uBAAyBv9B,IAAGC,WAAWN,EAAKo9B,eAAeC,KAChEr9B,EAAK69B,gBAAkBx9B,IAAGC,WAAWkB,IAAOC,MAAMkH,OAAO3I,EAAKg9B,mBAC9Dh9B,EAAK89B,eAAiBz9B,IAAGC,WAAW,IAEpCN,EAAKs6B,WAAaj6B,IAAGC,WAAW,GAChCN,EAAK+9B,YAAc19B,IAAGC,WAAW,GACjCN,EAAKg+B,cAAgB39B,IAAGC,WAAW,GACnCN,EAAKi+B,wBAA0B59B,IAAGC,WAAW,GAC7CN,EAAKk+B,0BAA4B79B,IAAGC,WAAW,GAE/CN,EAAKm+B,kBAAoB99B,IAAGwK,gBAAgB,IAC5C7K,EAAKo+B,eAAiB/9B,IAAGwK,gBAAgB,IACzC7K,EAAKq+B,cAAgBh+B,IAAGwK,gBAAgB,IACxC7K,EAAKs+B,eAAiBj+B,IAAGwK,gBAAgB,CAAC,EAAG,EAAG,EAAG,GAAI,KACvD7K,EAAKu+B,aAAel+B,IAAGwK,gBAAgB,CAAC,EAAG,EAAG,GAAI,GAAI,KACtD7K,EAAKw+B,mBAAqBn+B,IAAGwK,gBAAgBhI,aAAE47B,MAAM,EAAG,KAExDz+B,EAAK0+B,4BAA8Br+B,IAAGC,YAAW,GACjDN,EAAK2+B,mBAAqBt+B,IAAGC,aAC7BN,EAAK4+B,2BAA6Bv+B,IAAGC,YAAW,GAEhDN,EAAK6+B,aAEL7+B,EAAK8+B,wBAA0Bz+B,IAAGc,cAAa,WAC3C,IAAIw9B,EAAqB3+B,EAAK2+B,qBAC1BI,EAA2Bl8B,aAAEkM,OAAO4vB,GAAoB,SAASK,GACjE,OAAOA,EAAkBC,iBAGzBH,EAA0Bj8B,aAAEoM,IAAI8vB,GAA0B,SAASC,GACnE,IAAI9sB,EAAQ,CACRgtB,IAAKF,EAAkB/P,UACvBgQ,cAAeD,EAAkBC,cACjCE,mBAAoBH,EAAkBG,oBAI1C,OADAjtB,EAAMktB,mBAAqBJ,EAAkBI,mBACtCltB,KAGX,OAAOrP,aAAEof,OAAO6c,GAAyB,SAASO,GAC9C,OAAOA,EAAuBD,mBAAmBjmC,UAClDuS,aAGP1L,EAAKs/B,cAAgBj/B,IAAGc,aAAa,CACjCo+B,KAAM,WACF,IAAIpB,EAAoBn+B,EAAKm+B,oBACzBE,EAAgBr+B,EAAKw/B,wBACrB1B,EAAiB99B,EAAK89B,iBACtB2B,EAAU58B,aAAEiM,MAAMqvB,EAAmBE,GAWzC,MATuB,KAAnBP,IACA2B,EAAU58B,aAAEkM,OAAO0wB,GACf,SAAU/E,GACN,OAA6D,IAAtDA,EAAazL,YAAY9oB,QAAQ23B,OAIpD99B,EAAK0/B,gBAAgBD,GAEdA,GAEXE,MAAO,SAAU9gC,OAGrBmB,EAAKw/B,sBAAwBn/B,IAAGc,cAAa,WACzC,IAAI4B,EAAO/C,EAAK4/B,mBACZvB,EAAgBr+B,EAAKq+B,gBAEzB,OAAOx7B,aAAEkM,OAAOsvB,GAAe,SAAUwB,GACrC,OAAOA,EAAanF,aAAaoF,eAAiB/8B,QAI1D/C,EAAKy8B,YAAc,SAAU/B,GACzB,IAAIuC,EAAaj9B,EAAKi9B,WAClB1B,EAAWb,EAAaa,SACxBpgB,EAASuf,EAAavf,SACtB0gB,EAASnB,EAAamB,SACtBV,EAAaT,EAAaS,aAE1BD,EAAsB,WAAVW,EAAsBoB,EAAWE,aAAeF,EAAWC,eAEvE/hB,IAAWogB,EAAS/9B,MACpBo/B,EAAmBnC,mBAAmBC,EAAaA,cAAct3B,MAAK,WAClEpD,EAAKq+B,cAAcr6B,OAAO02B,GAC1B16B,EAAK+/B,yBAAyB7E,EAAWC,MAEtChgB,IAAWogB,EAASE,SAC3BmB,EAAmBjC,oBAAoBD,EAAaA,cAAct3B,MAAK,WACnEpD,EAAKo+B,eAAep6B,OAAO02B,GAC3B16B,EAAK+/B,yBAAyB7E,EAAWC,OAKrDn7B,EAAKggC,mBAAqB,SAAUtF,GAChCkC,EAAmBnC,mBAAmBC,EAAaA,cAAct3B,MAAK,WAClEpD,EAAKq+B,cAAcr6B,OAAO02B,OAIlC16B,EAAKigC,aAAe,WAChBjgC,EAAK6+B,cAGT7+B,EAAKkgC,iBAAmBp/B,OAAO27B,YAAYz7B,KAAI,SAAU05B,GACrD16B,EAAKy8B,YAAY/B,MAGrB16B,EAAKmgC,kBAAoBr/B,OAAO67B,aAAa37B,KAAI,SAAU05B,GACvD16B,EAAKggC,mBAAmBtF,MAG5B16B,EAAKogC,4BAA8BpgC,EAAK69B,gBAAgBtc,WAAU,WAC9DvhB,EAAKm6B,0BAGTn6B,EAAKqgC,mCAAqCrgC,EAAK49B,uBAAuBrc,WAAU,WAC5EvhB,EAAKm6B,0BAGTn6B,EAAKsgC,uBAAyBtgC,EAAKs6B,WAAW/Y,WAAU,WACpD,IAAI6b,EAAiBp9B,EAAK49B,yBAEtBR,IAAmBp9B,EAAKo9B,eAAexV,UACvC5nB,EAAKm6B,0BAIbn6B,EAAKugC,sBAAwBvgC,EAAKo+B,eAAe7c,WAAU,SAAS6c,GAChE,IAAIvD,EAAah4B,aAAEoM,IAAImvB,GAAgB,SAAS1D,GAC5C,OAAOA,EAAazL,eAExBjvB,EAAK46B,sBAAsBC,MAG/B76B,EAAKwgC,yBAA2BngC,IAAGc,cAAa,WAC5C,IAAIg9B,EAAoBn+B,EAAKm+B,oBACzBsC,EAA+B59B,aAAEoM,IAAIkvB,GAAmB,SAASuC,GACjE,IAAI5E,EAAmB4E,EAAiB5E,mBACpC6E,EAA2B99B,aAAEN,KAAKu5B,GAAkB,SAAS8E,GAC7D,MAAqC,8BAA9BA,EAAgBC,aAE3B,OAAOF,EAA2BA,EAAyBG,SAAW,KAE1E,OAAOj+B,aAAEkhB,OAAO0c,GAA8B,SAASM,EAAMC,GAAO,OAAOD,EAAOC,IAAQ,MAG9FhhC,EAAKihC,sBAAwB5gC,IAAGc,cAAa,WACzC,IAAIg9B,EAAoBn+B,EAAKm+B,oBACzB+C,EAA2Br+B,aAAEkhB,OAAOoa,GAAmB,SAAS4C,EAAML,GAAoB,OAAOK,EAAOL,EAAiBhG,aAAagB,iBAAmB,GAC7J,OAAOyF,OAAoBC,aAAaF,MAG5ClhC,EAAKqhC,6BAA+BhhC,IAAGc,cAAa,WAChD,IAAIg9B,EAAoBn+B,EAAKm+B,oBACzBmD,EAAqCz+B,aAAEoM,IAAIkvB,GAAmB,SAASuC,GACvE,IAAI5E,EAAmB4E,EAAiB5E,mBACpC6E,EAA2B99B,aAAEN,KAAKu5B,GAAkB,SAAS8E,GAC7D,MAAqC,8BAA9BA,EAAgBC,aAE3B,OAAOF,EAA2BA,EAAyBY,eAAiB,KAE5EL,EAA2Br+B,aAAEkhB,OAAOud,GAAoC,SAASP,EAAMC,GAAO,OAAOD,EAAOC,IAAQ,GACxH,OAAOG,OAAoBC,aAAaF,MAIhDphC,EAAUzG,UAAUqmC,gBAAkB,SAAUD,GAC5CA,EAAQzxB,MAAK,SAAUC,EAAGC,GACtB,OAAOwH,KAAK4P,MAAMpX,EAAExN,aAAegV,KAAK4P,MAAMrX,EAAEvN,iBAIxDZ,EAAUzG,UAAUumC,iBAAmB,WACnC,IAAI5/B,EAAOC,KACP49B,EAAkB79B,EAAK69B,kBACvB2D,EAAgBhgC,IAAOq8B,EAAiB79B,EAAKg9B,kBAAkBr0B,OAAO3I,EAAK+8B,wBAE/E,OAAOyE,GAGX1hC,EAAUzG,UAAUwlC,WAAa,WAC7B,IAAI7+B,EAAOC,KACPg9B,EAAaj9B,EAAKi9B,WAEtBj9B,EAAKw6B,oBACLx6B,EAAKu6B,mBACLv6B,EAAKm6B,uBAELn6B,EAAKyhC,2BAA2BzhC,EAAKi+B,wBAAyBhB,EAAWE,cACzEn9B,EAAKyhC,2BAA2BzhC,EAAKk+B,0BAA2BjB,EAAWC,iBAG/Ep9B,EAAUzG,UAAUooC,2BAA6B,SAAUC,EAAiBxG,GAExEyG,EAAYljC,IAAIy8B,GAAW93B,MAAK,SAAUzK,GACtC+oC,EAAgB/oC,OAIxBmH,EAAUzG,UAAU0mC,yBAA2B,SAAU6B,EAAazG,GAClE,IAAIn7B,EAAOC,KACPg9B,EAAaj9B,EAAKi9B,WAEtB2E,EAAc/+B,aAAEg/B,OAAOD,IAAgB/+B,aAAE2C,YAAYo8B,GAAe3E,EAAWC,eAAiB0E,EAEhGD,EAAY3kB,KAAK4kB,EAAazG,GAAY/3B,MAAK,SAAUzK,QAI7DmH,EAAUzG,UAAUyoC,yBAA2B,WAC3C,IAAIC,EAAU9hC,KAAK+hC,eAAe,GAClC/hC,KAAK49B,gBAAgBkE,GACrB9hC,KAAK29B,uBAAuB39B,KAAKm9B,eAAeC,MAGpDv9B,EAAUzG,UAAU4oC,qBAAuB,WACvC,IAAIF,EAAU9hC,KAAK+hC,cAAc,GACjC/hC,KAAK49B,gBAAgBkE,GACrB9hC,KAAK29B,uBAAuB39B,KAAKm9B,eAAeC,MAGpDv9B,EAAUzG,UAAU2oC,cAAgB,SAAUE,GAC1C,IAAIliC,EAAOC,KACPkiC,EAAcniC,EAAK69B,kBACnBkE,EAAUvgC,IAAO2gC,EAAaniC,EAAKg9B,kBAGvC,OADA+E,EAAUA,EAAQ/gC,IAAIkhC,EAAW,QAAQv5B,OAAO3I,EAAKg9B,kBAC9C+E,GAGXjiC,EAAUzG,UAAU+oC,mBAAqB,WACrC,IAAIpiC,EAAOC,KACPoiC,EAAOriC,EAAK29B,eACZ2E,EAAmC,IAAvBtiC,EAAKg+B,gBACrBh+B,EAAK29B,cAAc0E,GAEdA,EAGDE,cAAcviC,EAAK88B,QAFnB98B,EAAK88B,OAAS0F,YAAYxiC,EAAKigC,aAAcqC,IAMrDxiC,EAAUzG,UAAUmhC,kBAAoB,WACpC,IAAIx6B,EAAOC,KAEX28B,EAAmBpC,oBAAoBp3B,MAAK,SAAUzK,GAClD,IAAIylC,EAAiBv7B,aAAEoM,IAAItW,GAAM,SAAU8pC,GACvC,OAAO,IAAIrH,EAAaqH,EAAe,MAG3CziC,EAAK0/B,gBAAgBtB,GACrBp+B,EAAKo+B,eAAeA,OAI5Bt+B,EAAUzG,UAAUkhC,iBAAmB,WACnC,IAAIv6B,EAAOC,KACX28B,EAAmBrC,mBAAmBn3B,MAAK,SAAUzK,GACjD,IAAI0lC,EAAgBx7B,aAAEoM,IAAItW,GAAM,SAAU+pC,GACtC,OAAO,IAAItH,EAAasH,EAAa,MAEzC1iC,EAAK0/B,gBAAgBrB,GACrBr+B,EAAKq+B,cAAcA,MACpBnjB,MAAK,eACLhM,QAAO,WACNlP,EAAK09B,sBAAqB,OAIlC59B,EAAUzG,UAAU8gC,qBAAuB,WACvC,IAAIn6B,EAAOC,KACP29B,EAAyB59B,EAAK49B,yBAC9B+E,EAAa,GAIjB,GAFA3iC,EAAKy9B,0BAAyB,GAE1BG,IAA2B59B,EAAKo9B,eAAeC,IAAK,CACpD,IAAIt6B,EAAO/C,EAAK69B,kBAChB96B,EAAOvB,IAAOuB,EAAM/C,EAAKg9B,kBAAkBr0B,OAAO3I,EAAK+8B,wBACvD4F,EAAa/F,EAAmBzC,qBAAqBp3B,QAClD,GAAI66B,IAA2B59B,EAAKo9B,eAAexV,SAAU,CAChE,IAAI0S,EAAat6B,EAAKs6B,aACtBqI,EAAa/F,EAAmBvC,uBAAuBC,GAG3DqI,EAAWv/B,MAAK,SAAUzK,GACtBqH,EAAKm+B,kBAAkBt7B,aAAEoM,IAAItW,GAAM,SAAU+hC,GACzC,OAAO,IAAIU,EAAaV,EAAc,UAE3Cxf,MAAK,eACLhM,QAAO,WACNlP,EAAKy9B,0BAAyB,OAItC39B,EAAUzG,UAAUuhC,sBAAwB,SAASC,GACjD,IAAI76B,EAAOC,KAGXD,EAAK0+B,6BAA4B,GACjC1+B,EAAK2+B,mBAAmB,IACE,IAAtB9D,EAAW1hC,QAEfyjC,EAAmBhC,sBAAsBC,GAAYz3B,MAAK,SAASzK,GAC/DqH,EAAK2+B,mBAAmBhmC,MACzBuW,QAAO,WACNlP,EAAK0+B,6BAA4B,OAIzC5+B,EAAUzG,UAAUyhC,sBAAwB,WACxC,IAAI96B,EAAOC,KACN4F,QAAQ,qDAIb7F,EAAK4+B,4BAA2B,GAChChC,EAAmB9B,wBAAwB13B,MAAK,WAC5CpD,EAAK6+B,gBACN3vB,QAAO,WACNlP,EAAK4+B,4BAA2B,QAIxC9+B,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKigC,iBAAiBr+B,SACtB5B,KAAKkgC,kBAAkBt+B,SACvB5B,KAAKmgC,4BAA4Bx+B,UACjC3B,KAAKogC,mCAAmCz+B,UACxC3B,KAAKsgC,sBAAsB3+B,WAGhB,QAAEyB,UAAWvD,EAAWwD,SAAUA,M,qBCzWjD,IAAI5G,EAAO,kjEAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIu8B,EAA2C,EAAQ,QACnDC,EAA6B,EAAQ,QAErCQ,EAAkCT,EAAyCC,GAC3Ex8B,EAAO,sxCAA2yCg9B,EAAkC,0UAEx1C7+B,EAAOD,QAAU8B,G,kCCPjB,4BAGIkgB,EAAS,aAIbA,EAAOvjB,UAAU2V,OAAS,WACtB,OAAO6N,OAAIpe,IAAI,kBAGnBme,EAAOvjB,UAAU6F,OAAS,SAAS0jC,GAC/B,OAAO/lB,OAAIG,KAAK,gBAAiB4lB,GAAax/B,MAAK,SAASzK,GACxDmI,OAAO+hC,mBAAmBxgC,SAAS1J,OAI3CikB,EAAOvjB,UAAU8J,OAAS,SAAUy/B,GAChC,OAAO/lB,OAAIK,IAAI,iBAAmB0lB,EAAYz7B,GAAIy7B,GAAax/B,MAAK,SAASzK,GACzEmI,OAAOgiC,mBAAmBzgC,SAAS1J,OAI3CikB,EAAOvjB,UAAU2K,OAAS,SAAS4+B,GAC/B,OAAO/lB,OAAIW,IAAI,iBAAmBolB,EAAYz7B,IAAI/D,MAAK,WACnDtC,OAAOiiC,mBAAmB1gC,SAASugC,OAI3ChmB,EAAOvjB,UAAU2pC,iBAAmB,SAASnkB,EAAQ+jB,GACjD,IAAIK,EAAM,CACN1+B,SAAUsa,EAAO1X,GACjB+7B,cAAeN,EAAYz7B,IAE/B,OAAO0V,OAAIG,KAAK,0BAA2BimB,GAAK7/B,MAAK,SAASzK,GAC1DmI,OAAOgiC,mBAAmBzgC,SAAS1J,OAI3CikB,EAAOvjB,UAAU8pC,sBAAwB,SAAStkB,EAAQ+jB,GACtD,IAAIK,EAAM,CACN1+B,SAAUsa,EAAO1X,GACjB+7B,cAAeN,EAAYz7B,IAE/B,OAAO0V,OAAIG,KAAK,6BAA8BimB,GAAK7/B,MAAK,SAASzK,GAC7DmI,OAAOgiC,mBAAmBzgC,SAAS1J,OAG5B,WAAIikB,G,qBChDnB/hB,EAAOD,QAAU,IAA0B,oC,qBCA3C,IAAIqU,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,WAAY,OACZ,cAAe,OACf,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,QAAS,OACT,aAAc,OACd,gBAAiB,OACjB,WAAY,OACZ,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,QAIf,SAASm0B,EAAeC,GACvB,IAAIl8B,EAAKm8B,EAAsBD,GAC/B,OAAO/oC,EAAoB6M,GAE5B,SAASm8B,EAAsBD,GAC9B,IAAI/oC,EAAoBgE,EAAE2Q,EAAKo0B,GAAM,CACpC,IAAItoC,EAAI,IAAI0B,MAAM,uBAAyB4mC,EAAM,KAEjD,MADAtoC,EAAE2B,KAAO,mBACH3B,EAEP,OAAOkU,EAAIo0B,GAEZD,EAAeG,KAAO,WACrB,OAAOnqC,OAAOmqC,KAAKt0B,IAEpBm0B,EAAejoC,QAAUmoC,EACzBzoC,EAAOD,QAAUwoC,EACjBA,EAAej8B,GAAK,Q,iPCtRdoK,EAAO,wDAAb,iD,0BACU,EAAAiyB,uBAAsC,GACtC,EAAAC,kBAAwC,GACxC,EAAAC,qBAA6C,GAC7C,EAAAC,mBAAyC,KACzC,EAAAC,iBAAsC,GACtC,EAAAC,yBAAsD,GACtD,EAAAC,oBAA0C,GAC1C,EAAAC,iBAA6D,GARvE,EAAa,0DAWX,WACE,OAAO9jC,KAAKujC,yBAZH,4BAeX,WACE,OAAOvjC,KAAKwjC,oBAhBH,+BAmBX,WACE,OAAOxjC,KAAKyjC,uBApBH,2BAuBX,WACE,OAAOzjC,KAAK2jC,mBAxBH,mCA2BX,WACE,OAAO3jC,KAAK4jC,2BA5BH,6BA+BX,WACE,OAAO5jC,KAAK0jC,qBAhCH,iCAmCX,WACE,IAAK1jC,KAAKwjC,kBAAkBtqC,OAAQ,OAAOqI,MAAS2S,QAAQ,QAAQxL,OAAO,cAC3E,IAAMq7B,EAAa/jC,KAAKwjC,kBAAkBx0B,KAAI,SAAA0K,GAAI,OAAKnY,IAAOmY,EAAKjZ,WAAWujC,aAC9E,OAAOziC,IAAO0yB,KAAKgQ,IAAL,MAAAhQ,KAAI,eAAQ8P,KAAar7B,OAAO,gBAtCrC,8BAyCX,WACE,OAAO1I,KAAK6jC,sBA1CH,2BA6CX,WACE,OAAO7jC,KAAK8jC,mBA9CH,4FAmDJ,WAA4B/Z,GAA5B,gHAEoCma,OAAcC,oBAAoBpa,GAFtE,cAEGrxB,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,yBAA0B7lB,GAH3C,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,qCAAsCL,MAAK,MAN1D,yDAnDI,2JA8DJ,WAAiCwsB,GAAjC,oGAEC/pB,KAAKokC,sBAAsBlrC,OAF5B,iEAGgBgrC,OAAcG,yBAAyBta,GAHvD,cAGGrxB,EAHH,OAIHsH,KAAKse,QAAQC,OAAO,8BAA+B7lB,GAJhD,kBAKIA,GALJ,2CAOI,CAAEkF,QAAS,0CAA2CL,MAAK,MAP/D,0DA9DI,4JA0EJ,WAAkCwsB,GAAlC,gHAEgBma,OAAcG,yBAAyBta,GAFvD,OAEGrxB,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,8BAA+B7lB,GAHhD,yDAKI,CAAEkF,QAAS,2CAA4CL,MAAK,MALhE,yDA1EI,yJAoFJ,WAA+B+G,GAA/B,gHAEgB4/B,OAAcI,uBAAuBhgC,GAFrD,cAEG5L,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,4BAA6B7lB,GAH9C,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,mDAAoDL,MAAK,MANxE,yDApFI,qJA+FJ,6HAEgB2mC,OAAcK,qBAF9B,cAEG7rC,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,wBAAyB7lB,GAH1C,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,oCAAqCL,MAAK,MANzD,yDA/FI,4JA0GJ,6HAEgB2mC,OAAcM,6BAF9B,cAEG9rC,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,gCAAiC7lB,GAHlD,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,4CAA6CL,MAAK,MANjE,yDA1GI,sJAqHJ,WAA6B+G,GAA7B,gHAE6B4/B,OAAcO,kBAAkBngC,GAF7D,cAEG5L,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,0BAA2B7lB,GAH5C,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,+BAAgCL,MAAK,MANpD,yDArHI,sJAgIJ,WAA4BovB,GAA5B,0GAEGuX,OAAcQ,sBAAsB/X,GAFvC,+DAII,CAAE/uB,QAAS,gCAAiCL,MAAK,MAJrD,wDAhII,wJAyIJ,WAA8B+G,GAA9B,gHAEoC4/B,OAAcS,mBAAmBrgC,GAFrE,cAEG5L,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,2BAA4B7lB,GAH7C,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,wCAAyCL,MAAK,MAN7D,yDAzII,yJAoJJ,WAA+BovB,GAA/B,0GAEGuX,OAAcU,yBAAyBjY,GAF1C,+DAII,CAAE/uB,QAAS,6BAA8BL,MAAK,MAJlD,wDApJI,yJA6JJ,WAA+BwsB,GAA/B,gHAEgBma,OAAcW,uBAAuB9a,GAFrD,cAEGrxB,EAFH,yBAGIA,GAHJ,yCAKI,CAAEkF,QAAS,uCAAwCL,MAAK,MAL5D,yDA7JI,8JAuKJ,WAAoCwsB,GAApC,gHAEgBma,OAAcY,4BAA4B/a,GAF1D,cAEGrxB,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,uBAAwB7lB,GAHzC,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,6CAA8CL,MAAK,MANlE,yDAvKI,0JAkLJ,WAAgC+G,GAAhC,gHAEgB4/B,OAAca,wBAAwBzgC,GAFtD,cAEG5L,EAFH,yBAGIA,GAHJ,yCAKI,CAAEkF,QAAS,yCAA0CL,MAAK,MAL9D,yDAlLI,iJA4LJ,WAAuBwsB,GAAvB,gHAEgBma,OAAcc,eAAejb,EAAMzlB,SAAUylB,EAAMkb,WAFnE,cAEGvsC,EAFH,yBAGIA,GAHJ,yCAKI,CAAEkF,QAAS,+BAAgCL,MAAK,MALpD,yDA5LI,mGAuMJ,SAA4B7E,GACjC,GAAKA,EAAKwsC,qCAAwCxsC,EAAKsqB,UAAatqB,EAAKuqB,WAAcvqB,EAAKysC,WAAczsC,EAAK0sC,UAA/G,CAIA,IAHA,IAAMC,EAAoC,GACpClhB,EAAUhrB,OAAOgrB,QAAQzrB,EAAKwsC,qCAE3BlsC,EAAI,EAAGA,EAAImrB,EAAQjrB,OAAQF,IAAK,CACvC,IAAMkG,EAAMilB,EAAQnrB,GAAG,GACjB4F,EAAQulB,EAAQnrB,GAAG,GAEnBgqB,EAAWtqB,EAAKsqB,SAAS9jB,GACzB+jB,EAAYvqB,EAAKuqB,UAAU/jB,GAC3BimC,EAAYzsC,EAAKysC,UAAUjmC,EAAIkH,QAAQ,IAAK,KAC5Cg/B,EAAY1sC,EAAK0sC,UAAUlmC,GAC3BomC,EAA2B,CAC/B7kC,UAAWc,IAAOrC,GAAK8kC,UACvBuB,YAAa3mC,EACb4mC,OAAQ,CAACxiB,EAAUC,GACnBkiB,UAAWA,EACXC,UAAWA,GAEbC,EAAqB7rC,KAAK8rC,GAE5BtlC,KAAKujC,uBAAyB8B,KA7NrB,2CAiOJ,WACLrlC,KAAKujC,uBAAyB,KAlOrB,oCAsOJ,SAAuB7qC,GAC5BsH,KAAKwjC,kBAAoB9qC,EAAKqV,MAAK,SAACC,EAAqBC,GACvD,IAAMw3B,EAAQ,IAAIhwB,KAAKzH,EAAEvN,WAAWilC,UAC9BC,EAAQ,IAAIlwB,KAAKxH,EAAExN,WAAWilC,UACpC,OAAOD,EAAQE,OA1OR,uCA+OJ,SAA0BjtC,GAC/BsH,KAAKyjC,qBAAuB/qC,IAhPnB,mCAoPJ,SAAsBA,GAC3BsH,KAAK2jC,iBAAmBjrC,IArPf,2CAyPJ,SAA8BA,GACnCsH,KAAK4jC,yBAA2BlrC,EAAKqV,MAAK,SAACC,EAAGC,GAC5C,OAAID,EAAEnQ,KAAOoQ,EAAEpQ,MACL,EAENmQ,EAAEnQ,KAAOoQ,EAAEpQ,KACN,EAEF,OAjQA,qCAsQJ,SAAwBnF,GAC7BsH,KAAK0jC,mBAAqBhrC,IAvQjB,sCA2QJ,SAAyBA,GAC9BsH,KAAK6jC,oBAAsBnrC,IA5QlB,kCAgRJ,SAAqBA,GAC1BsH,KAAK8jC,iBAAmBprC,MAjRf,GAASomB,QAmDpBlJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,0CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+CAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gDAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,6CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,yCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iDAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,0CASArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,4CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,6CASArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,6CAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kDAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,8CAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,qCAWArJ,gBADCmJ,QACD,gDA0BAnJ,gBADCmJ,QACD,kDAKAnJ,gBADCmJ,QACD,2CASAnJ,gBADCmJ,QACD,8CAKAnJ,gBADCmJ,QACD,0CAKAnJ,gBADCmJ,QACD,kDAaAnJ,gBADCmJ,QACD,4CAKAnJ,gBADCmJ,QACD,6CAKAnJ,gBADCmJ,QACD,yCAhRIzN,EAAO,gBADZ4N,eAAO,CAAEC,YAAY,EAAMthB,KAAM,aAC5ByT,GAqRSA,U,8CClSf,SAASs0B,EAAY5pC,GACnB,OAAQA,GACN,IAAK,QACH,MAAO,siCAGT,IAAK,MACH,MAAO,koBACT,IAAK,MACH,MAAO,skBACT,QACE,MAAO,IAIb,SAAS6pC,EAAe7pC,GACtB,OAAQA,GACN,IAAK,QACH,MAAO,sGACT,IAAK,MACH,MAAO,oGACT,QACE,MAAO,IAIb,SAAS8pC,EAA8B9pC,GACrC,OAAQA,GACN,IAAK,QACH,MAAO,4EACT,IAAK,MACH,MAAO,+DACT,IAAK,MACH,MAAO,kEACT,QACE,MAAO,IAIb,SAAS+kB,EAAuB/kB,GAC9B,OAAQA,GACN,IAAK,QACH,OAAO,EACT,IAAK,MACH,OAAO,EACT,IAAK,MACH,OAAO,EACT,QACE,OAAO,GAIE,QACb4pC,YAAa,SAAU5kB,GACrB,OAAKA,EACE4kB,EAAY5kB,EAAenjB,KAAKqK,eADX,IAG9B29B,eAAgB,SAAU7kB,GACxB,OAAKA,EACE6kB,EAAe7kB,EAAenjB,KAAKqK,eADd,IAG9B49B,8BAA+B,SAAUC,GACvC,OAAOD,EAA8BC,EAAmB79B,gBAE1D6Y,uBAAwB,SAAUC,GAChC,OAAOD,EAAuBC,EAAenjB,KAAKqK,kB,qNC1DtD,SAASrI,EAAUmmC,GACf,IAAIjmC,EAAOC,KACXD,EAAK2E,YAActE,IAAGC,YAAW,GACjCN,EAAKkmC,gBAAkBD,EAAME,SAC7BnmC,EAAK+U,aAAelS,aAAEof,OAAOpf,aAAEwZ,OAAOrc,EAAKkmC,kBAAkB,SAAStjB,GAClE,OAAOA,EAAY9kB,KAAKqK,iBAG5BnI,EAAKomC,uBAAyB/lC,IAAGC,aACjCN,EAAKy3B,uBAAyBp3B,IAAGc,cAAa,WAC1C,IAAIilC,EAAyBpmC,EAAKomC,yBAClC,OAAKA,EAEEpmC,EAAKkmC,gBAAgB3jC,MAAK,SAAAohB,GAAC,OAAIA,EAAExc,KAAOi/B,KAFX,QAKxC,IAAIC,EAAUxjC,aAAEod,QAAQpd,aAAEqd,MAAMlgB,EAAK+U,aAAc,SAE/CuxB,EAAazjC,aAAE0jC,KAAKF,GAAS,SAAS7O,GACtC,OAAOA,EAAM15B,QAGb0oC,EAAoB3jC,aAAEof,OAAOqkB,EAAY,QACzCG,EAAc5jC,aAAE6d,QAAQ8lB,GAAmB,SAAShP,GACpD,OAAOA,EAAM15B,KAAKuK,MAAM,KAAK,MAEjCrI,EAAK0mC,WAAa7jC,aAAEoM,IAAIw3B,GAAa,SAAS3O,EAAQh6B,GAClD,OAAO,IAAI6oC,OAAW7oC,EAAMg6B,EAAQ93B,EAAKy3B,2BAIjD33B,EAAUzG,UAAUutC,iBAAmB,WACnC,OAAO/f,OAAMxkB,SAAS,8BAG1BvC,EAAUzG,UAAUwtC,eAAiB,WACjC,IAAI7mC,EAAOC,KACXD,EAAK2E,aAAY,GAEjB,IAAImiC,EAAK,IAAIC,SACT/gC,EAAQ/D,EAAE,uBAAuB,GAAG+D,MAAM,GAC9C8gC,EAAGE,OAAO,OAAQhhC,GAElB6gB,OAAMxkB,SAAS,0BAA2BykC,GACzC/pC,MAAK,WACFif,OAAOirB,SAIfnnC,EAAUzG,UAAUuI,QAAU,aAIf,QAAEyB,UAAWvD,EAAWwD,SAAUA,O,2CC3DjD,IAAI5G,EAAO,6+BAEX7B,EAAOD,QAAU8B,G,oJCDbwqC,EAAiB,aAIrBA,EAAe7tC,UAAU8tC,wBAA0B,WAC/C,OAAOtqB,OAAIpe,IAAI,cAGnByoC,EAAe7tC,UAAU+tC,WAAa,WAClC,OAAOvqB,OAAIpe,IAAI,mBAGnByoC,EAAe7tC,UAAUutC,iBAAmB,WACxC,IAAI5hC,EAAM,kBACV,OAAO6X,OAAI+Z,aAAa5xB,EAAK,QAGjCkiC,EAAe7tC,UAAUwtC,eAAiB,SAASrjC,GAC/C,IAAIwB,EAAM,kBACV,OAAO6X,OAAI3Y,WAAWc,EAAKxB,IAGhB,UAAI0jC,ECjBb52B,EAAQ,wDAAd,iD,0BACU,EAAA+2B,sBAAuC,GACvC,EAAAC,oBAA0C,GAFpD,EAAc,uHAKL,6HAEgBC,EAAeJ,0BAF/B,cAEGxuC,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,6BAA8B7lB,GAH/C,kBAIIA,GAJJ,mCAMH8G,QAAQulB,KAAR,MANG,yDALK,qJAgBL,6HAEgBuiB,EAAeH,aAF/B,cAEGzuC,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,0BAA2B7lB,GAH5C,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,oCAAqCL,MAAK,MANzD,yDAhBK,uFA2BL,WACL,IACE,OAAO+pC,EAAeX,mBACtB,MAAOppC,GACPiC,QAAQulB,KAAKxnB,MA/BL,qFAoCL,WAAqBgG,GAArB,0GAEG+jC,EAAeV,eAAerjC,GAFjC,yDAIH/D,QAAQulB,KAAR,MAJG,wDApCK,kGA6CL,SAA2BwiB,GAChCvnC,KAAKonC,sBAAwBG,IA9CnB,qCAkDL,SAAwBC,GAC7BxnC,KAAKqnC,oBAAsBG,IAnDjB,wBAsDZ,WACE,OAAOxnC,KAAKonC,wBAvDF,mCA0DZ,WACE,OAAOpnC,KAAKqnC,wBA3DF,GAASvoB,QAKrBlJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,4CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,0CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,qCASArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mCASArJ,gBADCmJ,QACD,+CAKAnJ,gBADCmJ,QACD,4CAlDI1O,EAAQ,gBADb6O,eAAO,CAAEC,YAAY,EAAMthB,KAAM,cAC5BwS,GA+DSA,U,uBCtEfzV,EAAOD,QAAU,IAA0B,gD,4HCIrCsW,EAAQ,wDAAd,iD,0BACU,EAAAw2B,QAAU,GACV,EAAAC,eAAiC,CACvC95B,KAAM,qBACN+5B,MAAO,QACPvqC,QAAS,IACTwqC,MAAM,EACNC,aAAa,GAPjB,EAAc,mDAWL,SAAa5pB,GAA+B,WAE3C6pB,EAAoB1iB,KAAKC,MAAMD,KAAKQ,UAAU5lB,KAAK0nC,iBACnDK,EAAiB5uC,OAAOwc,OAAOmyB,EAAmB7pB,GAExDje,KAAKse,QAAQC,OAAO,yBACpBxgB,YAAW,kBAAM,EAAKugB,QAAQC,OAAO,sBAAuBwpB,QAjBlD,mBAqBL,WACL/nC,KAAKse,QAAQC,OAAO,2BAtBV,iCA0BL,SAAoBN,GACzBje,KAAKynC,QAAUxpB,IA3BL,mCA+BL,WACLje,KAAKynC,QAAU,CAAEG,MAAM,EAAOxqC,SAAU,KAhC9B,mBAmCZ,WACE,OAAO4C,KAAKynC,YApCF,GAAS3oB,QAWrBlJ,gBADCoJ,QACD,iCAUApJ,gBADCoJ,QACD,0BAKApJ,gBADCmJ,QACD,wCAKAnJ,gBADCmJ,QACD,0CA/BI9N,EAAQ,gBADbiO,eAAO,CAAEC,YAAY,EAAMthB,KAAM,cAC5BoT,GAwCSA,U,oCC5Cf,W,iKCMA,SAASpR,EAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,OAA4BzpC,MACxDuB,EAAKG,YAAcJ,EAAOI,YAC1BH,EAAKmoC,YAAcnoC,EAAKioC,qBAAqBE,YAC7CnoC,EAAKooC,OAAS/nC,IAAGc,cAAa,WAC1B,IAAIhB,EAAcH,EAAKG,cACvB,OAAOA,EAAYioC,UAGvB,IAAIA,EAASpoC,EAAKooC,SAClBpoC,EAAKqoC,gBAAkBhoC,IAAGC,WAAW8nC,EAASA,EAAOtqC,KAAO,IAC5DkC,EAAKsoC,gBAAkBjoC,IAAGC,WAAW8nC,EAASA,EAAOnsC,KAAO,IAC5D+D,EAAKuoC,qBAAuBloC,IAAGC,aAAW8nC,GAASA,EAAOI,iBAE1DxoC,EAAKI,UAAYC,IAAGC,YAAW,GAGnCR,EAAUzG,UAAUuI,QAAU,aAG9B9B,EAAUzG,UAAUyI,aAAe,SAASC,EAAIhH,GAC5C,IAAIiH,EAAWC,EAAElH,EAAEmH,eAAeC,QAAQ,iBAC1ClC,KAAKG,WAAU,GAEf,IAAIkC,EAASN,EAASO,KAAK,oBAC3BD,EAAOE,QACPF,EAAOG,UAGX3C,EAAUzG,UAAUqJ,cAAgB,SAASX,EAAIhH,GAC7CkF,KAAKG,WAAU,IAGnBN,EAAUzG,UAAUuJ,KAAO,WACvB,IAAI5C,EAAOC,KACPE,EAAc0C,aAAEC,MAAM9C,EAAKG,eAC/BA,EAAYioC,OAASjoC,EAAYioC,QAAU,GAC3CjoC,EAAYioC,OAAOtqC,KAAOkC,EAAKqoC,kBAC/BloC,EAAYioC,OAAOnsC,KAAO+D,EAAKsoC,kBAC/BnoC,EAAYioC,OAAOI,gBAAkBxoC,EAAKuoC,uBAE1CrlC,OAAiCC,OAAOhD,GAAaiD,MAAK,SAASqlC,GAC/DzoC,EAAKG,YAAYsoC,GACjBzoC,EAAK0C,oBAIE,QAAEW,UAAWvD,EAAWwD,SAAUA,O,oKCjD7CxD,EAAY,SAAUoS,EAAOw2B,GAC7B,IAAI1oC,EAAOC,KACXD,EAAK2oC,yBAAsB5qC,EAC3BiC,EAAK0oC,aAAeA,EACpB1oC,EAAKmH,GAAK9G,IAAGC,aACbN,EAAKlC,KAAOuC,IAAGC,aAAakX,OAAO,CAC/BzB,UAAU,EACV2B,WAAY,CACRC,OAAO,EACPC,UAAW,SAAUC,EAAK9X,EAAQoS,GACG,MAA5BnS,EAAK2oC,qBAAiCngC,OAAasP,iBAAiBD,EAAK7X,EAAK2oC,oBAAoB7qC,MAEnGqU,GAAS,GAETA,GAAUnS,EAAK0oC,aAAa3wB,OAAOF,KAG3Cha,QAAS,oDAGjBmC,EAAK0e,QAAUre,IAAGwK,gBAAgB,IAClC7K,EAAKmX,MAAQ9W,IAAGwK,gBAAgB,IAEhC7K,EAAKuY,SAASrG,GAGdlS,EAAKwY,OAASnY,IAAGqX,WAAWe,MAAMzY,GAClCA,EAAK0Y,QAAUrY,IAAGsY,UAAS,WACvB,OAAgC,IAAzB3Y,EAAKwY,SAASrf,WAI7B2G,EAAUzG,UAAUkf,SAAW,SAAUrG,GACrC,IAAIlS,EAAOC,KACXD,EAAK2oC,oBAAsBz2B,EAEvBA,GAEAlS,EAAKmH,GAAG+K,EAAM/K,IACdnH,EAAKlC,KAAKoU,EAAMpU,MAChBkC,EAAK0e,QAAQxM,EAAMwM,SACnB1e,EAAKmX,MAAMjF,EAAMiF,SAGjBnX,EAAKmH,QAAGpJ,GACRiC,EAAKlC,UAAKC,GACViC,EAAK0e,QAAQ,IACb1e,EAAKmX,MAAM,MAInBrX,EAAUzG,UAAUuvC,uBAAyB,WACzC,OAAO3oC,KAAK0oC,qBAGhB7oC,EAAUzG,UAAUuJ,KAAO,WACvB,IAKI3F,EALA+C,EAAOC,KACP4oC,EAAchmC,aAAEC,MAAM9C,EAAK2oC,sBAAwB,GAavD,OAXAE,EAAY/qC,KAAOkC,EAAKlC,OAIpBb,EADA4rC,EAAY1hC,GACF2hC,OAAiB3lC,OAAO0lC,GAExBC,OAAiB5pC,OAAO2pC,GAEtC5rC,EAAQmG,MAAK,SAAUzK,GACnBqH,EAAKuY,SAAS5f,MAEXsE,GAGX6C,EAAUzG,UAAUwkB,OAAS,WACzB,OAAOirB,OAAiBjrB,OAAO5d,KAAK0oC,sBAGzB7oC,QC5EXA,G,wCAAY,WACZ,IAAIE,EAAOC,KACXD,EAAK+oC,MAAQ1oC,IAAGwK,gBAAgB,IAChC7K,EAAKkZ,UAAY7Y,IAAGC,YAAW,GAC/BN,EAAKxC,MAAQ6C,IAAGC,aAEhBN,EAAKmZ,OAELnZ,EAAKoZ,iBAAmBtY,OAAOkoC,2BAA2BhoC,KAAI,SAAUsY,GACpEtZ,EAAK+oC,MAAMtvC,KAAK6f,MAGpBtZ,EAAKuZ,iBAAmBzY,OAAOmoC,2BAA2BjoC,KAAI,SAAUyY,EAASC,GAC7E1Z,EAAK+oC,MAAM1iC,QAAQoT,EAASC,MAGhC1Z,EAAKkpC,iBAAmBpoC,OAAOqoC,2BAA2BnoC,KAAI,SAAU8Y,GACpE9Z,EAAK+oC,MAAM/kC,QAAO,SAAU2V,GACxB,OAAOA,EAAKxS,KAAO2S,EAAY3S,WAK3CrH,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmZ,iBAAiBvX,SACtB5B,KAAKsZ,iBAAiB1X,UAG1B/B,EAAUzG,UAAU8f,KAAO,WACvB,IAAInZ,EAAOC,KACXD,EAAKxC,WAAMO,GACXiC,EAAK+oC,MAAM,IACX/oC,EAAKkZ,WAAU,GAEfsX,OAAuBxhB,SAClB5L,MAAK,SAAUzK,GACZqH,EAAK+oC,MAAMpwC,MAEduiB,MAAK,SAAU1d,GACZiC,QAAQjC,MAAMA,GACdwC,EAAKxC,MAAM,2BAEd0R,QAAO,WACJlP,EAAKkZ,WAAU,OAI3BpZ,EAAUzG,UAAU0gB,QAAU,WAC1B,OAAO9Z,KAAK8oC,OAGhBjpC,EAAUzG,UAAU6f,UAAY,WAC5B,OAAOjZ,KAAKiZ,WAGhBpZ,EAAUzG,UAAU0e,OAAS,SAAUja,GACnC,IAAIkc,EAAQnX,aAAEN,KAAKtC,KAAK8oC,SAAS,SAAUzqC,GACvC,OAAOkK,OAAasP,iBAAiBha,EAAMQ,EAAER,SAEjD,YAAiBC,IAAVic,GAGIla,QC7Df,SAASA,IACL,IAAIE,EAAOC,KAEXD,EAAKqD,UAAY,KACjBrD,EAAKxC,MAAQ6C,IAAGC,aAChBN,EAAKia,YAAc5Z,IAAGC,WAAW,IACjCN,EAAKopC,WAAa/oC,IAAGC,YAAW,GAChCN,EAAKqpC,gBAAkB,IAAIC,EAE3BtpC,EAAKupC,4BAA8BzoC,OAAO0oC,qBAAqBxoC,KAAI,WAC/DhB,EAAKqa,aACLra,EAAKqD,UAAY,IAAIomC,EAAc,KAAMzpC,EAAKqpC,iBAC9CrpC,EAAKia,YAAY,UAGrBja,EAAK0pC,+BAAiC5oC,OAAO6oC,wBAAwB3oC,KAAI,SAAU6nC,GAC/E7oC,EAAKqa,aACLra,EAAKqD,UAAY,IAAIomC,EAAcZ,EAAa7oC,EAAKqpC,iBACrDrpC,EAAKia,YAAY,aAGrBja,EAAK4pC,6BAA+B9oC,OAAO+oC,sBAAsB7oC,KAAI,SAAU6nC,GAC3E7oC,EAAKqa,aACLra,EAAKqD,UAAY,IAAIomC,EAAcZ,EAAa7oC,EAAKqpC,iBACrDrpC,EAAKopC,YAAW,MAGpBppC,EAAK8pC,+BAAiChpC,OAAOipC,wBAAwB/oC,KAAI,SAAU6nC,GAC/E7oC,EAAKqa,aACLra,EAAKqD,UAAY,IAAIomC,EAAcZ,EAAa7oC,EAAKqpC,iBACrDrpC,EAAKia,YAAY,aAIzBna,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKspC,4BAA4B1nC,SACjC5B,KAAKypC,+BAA+B7nC,SACpC5B,KAAK2pC,6BAA6B/nC,SAClC5B,KAAK6pC,+BAA+BjoC,UAGxC/B,EAAUzG,UAAU4hB,YAAc,WAC9Bhb,KAAKga,YAAY,KAGrBna,EAAUzG,UAAU2wC,UAAY,WAC5B/pC,KAAKmpC,YAAW,IAGpBtpC,EAAUzG,UAAUghB,WAAa,WAC7Bpa,KAAKzC,MAAM,OAGfsC,EAAUzG,UAAUiiB,YAAc,SAAU9d,GACpCA,GAASA,EAAMoe,cAAgBpe,EAAMoe,aAAa/d,QAClDoC,KAAKzC,MAAMA,EAAMoe,aAAa/d,SAE9BoC,KAAKzC,MAAM,sBAEfsD,OAAOmpC,WAAW5nC,SAAS7E,IAG/BsC,EAAUzG,UAAU6wC,kBAAoB,WACpC,IAAIlqC,EAAOC,KACXD,EAAKqD,UAAUT,OACVQ,MAAK,WACFtC,OAAOkoC,2BAA2B3mC,SAASrC,EAAKqD,UAAUslC,qBAC1D3oC,EAAKib,iBACNC,MAAK,SAAS1d,GACbwC,EAAKsb,YAAY9d,OAI7BsC,EAAUzG,UAAU8wC,kBAAoB,WACpC,IAAInqC,EAAOC,KACPmqC,EAAkBpqC,EAAKqD,UAAUslC,oBACrC3oC,EAAKqD,UAAUT,OACVQ,MAAK,SAAUzK,GACZmI,OAAOmoC,2BAA2B5mC,SAAS+nC,EAAiBzxC,GAC5DqH,EAAKib,iBACNC,MAAK,SAAU1d,GACdwC,EAAKsb,YAAY9d,OAI7BsC,EAAUzG,UAAUgxC,kBAAoB,WACpC,IAAIrqC,EAAOC,KACXD,EAAKqD,UAAUwa,SACVza,MAAK,WACFtC,OAAOqoC,2BAA2B9mC,SAASrC,EAAKqD,UAAUslC,qBAC1D3oC,EAAKib,iBACNC,MAAK,SAAU1d,GACdwC,EAAKsb,YAAY9d,OAId,QAAE6F,UAAWvD,EAAWwD,SAAUA,M,qBCtGjD,IAAI5G,EAAO,4TAEX7B,EAAOD,QAAU8B,G,oCCHjB,W,qBCCA,IAAIA,EAAO,giBAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,umIAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,onFAEX7B,EAAOD,QAAU8B,G,8QCSjB,SAASoD,EAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,OAA4BzpC,MACxDuB,EAAK6e,OAAS7e,EAAKioC,qBAAqBppB,OACxC7e,EAAKsqC,oBAAsBtqC,EAAKioC,qBAAqBqC,oBACrDtqC,EAAKkZ,UAAYlZ,EAAKioC,qBAAqB/uB,UAC3ClZ,EAAKuqC,6BAA+BvqC,EAAKioC,qBAAqBsC,6BAE9DvqC,EAAK2E,YAActE,IAAGC,YAAW,GACjCN,EAAKwqC,wBAA0BnqC,IAAGC,YAAW,GAE7CN,EAAKyqC,eAAiBpqC,IAAGC,aAEzBN,EAAK0qC,kBAAoBrqC,IAAGC,aAC5BN,EAAK2qC,kBAAoB,WACrB3qC,EAAK0qC,kBAAkB,OACzBtrC,KAAKY,GAEPA,EAAK4qC,sBAAwBvqC,IAAGC,YAAW,GAE3C,IAAIuqC,EAAMrpC,IAAOC,MACbqpC,EAAatpC,IAAOC,IAAI,CAACopC,EAAIE,OAAQF,EAAIG,QAAS,IAAIhqC,IAAI,EAAG,UACjEhB,EAAKirC,WAAa5qC,IAAGC,WAAW,CAC5B4T,SAAU42B,EAAWhoC,QAAQ9B,KAAK,EAAG,UACrCoT,OAAQ02B,IAGZ9qC,EAAKkrC,mBAAqB7qC,IAAGC,WAAWE,OAAWC,sBAAsBT,EAAKirC,aAAa/2B,WAC3FlU,EAAKmrC,iBAAmB9qC,IAAGC,WAAWE,OAAWC,sBAAsBT,EAAKirC,aAAa72B,SAEzFpU,EAAKorC,gBAAkB/qC,IAAGwK,gBAAgB,IAC1C,IAAIwgC,EAAmB,WACFrrC,EAAKirC,aAEtBjrC,EAAK4qC,uBAAsB,GAC3B1nC,OAAiCX,KAAKvC,EAAKioC,qBAAqBnhB,cAAc3f,IAAI/D,KAAKpD,EAAKorC,iBAAiBl8B,QAAO,WAChHlP,EAAK4qC,uBAAsB,OAGnCS,IAEArrC,EAAKsrC,sBAAwBjrC,IAAGc,cAAa,WACzC,IAAIiqC,EAAkBprC,EAAKorC,kBAC3B,OAAOvoC,aAAEof,OAAOmpB,EAAiB,gBAGrCprC,EAAKurC,yBAA2BlrC,IAAGc,cAAa,WAC5C,IAAImqC,EAAwBtrC,EAAKsrC,wBACjC,OAAOzoC,aAAEkM,OAAOu8B,GACZ,SAASnrC,GACL,MAA4B,cAArBA,EAAYlE,WAI/B+D,EAAKwrC,8BAAgCnrC,IAAGc,cAAa,WACjD,IAAI8pC,EAAajrC,EAAKirC,aAClBQ,EAAezrC,EAAKurC,2BACxB,OAAO1oC,aAAEkM,OAAO08B,GACZ,SAAStrC,GACL,IAAIO,EAAYc,IAAOC,IAAItB,EAAYO,WACvC,OAAOA,GAAauqC,EAAW/2B,UAAYxT,EAAYuqC,EAAW72B,aAI9E,IAAIs3B,EAAkB,SAAST,GAC3B,IAAIU,EAAe,CACfhzC,KAAM,IAIV,OAFAgzC,EAAahzC,KAAKsyC,EAAW/2B,SAAS+vB,WAAa,EACnD0H,EAAahzC,KAAKsyC,EAAW72B,OAAO6vB,WAAa,EAC1C0H,GAGX3rC,EAAK4rC,sBAAwBvrC,IAAGC,YAAW,GAC3CN,EAAK6rC,aAAexrC,IAAGC,aACvB,IAAIwrC,EAAmB,WACnB,IAAIb,EAAajrC,EAAKirC,aAClBX,EAAsBtqC,EAAKsqC,sBAC3BC,EAA+BvqC,EAAKuqC,+BACpCqB,EAAwB5rC,EAAK4rC,wBAEjC,IAAIrB,IAAgCqB,EAApC,CAEA,IAAI13B,EAAW1T,OAAWyC,oBAAoBgoC,EAAW/2B,UACrDE,EAAS5T,OAAWyC,oBAAoBgoC,EAAW72B,QAEvD,GAAIk2B,EACAtqC,EAAK4rC,uBAAsB,GAC3BG,OAAchgB,YAAYue,EAAoBnjC,GAAI+M,EAAUE,EAAQ,OAAQ,eACvEhR,MAAK,SAASyoC,GACX,GAAIhpC,aAAE0gC,KAAKsI,EAAalzC,MAAMQ,OAAS,EACnC6G,EAAK6rC,aAAaA,OACf,CACH,IAAIF,EAAeD,EAAgBT,GACnCjrC,EAAK6rC,aAAaF,OAGzBz8B,QAAO,WACJlP,EAAK4rC,uBAAsB,UAEhC,CACH,IAAID,EAAeD,EAAgBT,GACnCjrC,EAAK6rC,aAAaF,MAI1B3rC,EAAKgsC,kBAAoBC,OAAU/V,uBACnCl2B,EAAKksC,gCAAkC7rC,IAAGc,cAAa,WACnD,IAAI0d,EAAS7e,EAAK6e,SAClB,QAAKA,IAEEA,EAAOstB,cACVttB,EAAOutB,gBACPvtB,EAAOwtB,UACPxtB,EAAOytB,kBACPztB,EAAO0tB,qBACP1tB,EAAO2tB,qBACP3tB,EAAO4tB,wBACP5tB,EAAO6tB,4BACP7tB,EAAO8tB,+BACP9tB,EAAO+tB,6BACP/tB,EAAOguB,gCAGf7sC,EAAK8sC,uBAAyBzsC,IAAGc,cAAa,WAC1C,IAAI4rC,EAAmB/sC,EAAKioC,qBAAqB8E,mBAC7CC,EAAkBhtC,EAAKioC,qBAAqB+E,kBAChD,QAASnqC,aAAE65B,QAAQqQ,IAAqBlqC,aAAE65B,QAAQsQ,OAGtDhtC,EAAKitC,cAAgB5sC,IAAGc,cAAa,WACjC,IAAI0d,EAAS7e,EAAK6e,SAClB,QAAKA,GAEEA,EAAOquB,WAAW/zC,OAAS,KAGtC6G,EAAKmtC,kBAAoB9sC,IAAGc,cAAa,WACrC,IAAI+qC,EAAkClsC,EAAKksC,kCACvCY,EAAyB9sC,EAAK8sC,yBAC9BG,EAAgBjtC,EAAKitC,gBACzB,OAAQf,IAAoCY,IAA2BG,KAG3EjtC,EAAKotC,qBAAuBtsC,OAAOusC,cAAcrsC,KAAI,SAASssC,GAC1DttC,EAAK8nB,QAAQ9jB,QAAO,SAASokC,GACzB,OAAOA,EAAOjhC,KAAOmmC,EAAcnmC,MAEvCnH,EAAK8nB,QAAQruB,KAAK6zC,MAGtBttC,EAAKutC,0BAA4BzsC,OAAO6b,mBAAmB3b,KAAI,SAASynC,GACpE,IAAI2C,EAAkBprC,EAAKorC,kBACvBoC,EAAiB3qC,aAAEN,KAAK6oC,GACxB,SAASjrC,GACL,OAAOA,EAAYgH,KAAOshC,EAAmBthC,MAGrDnH,EAAKorC,gBAAgB/kC,QAAQmnC,EAAgB/E,MAGjDzoC,EAAKytC,0BAA4B3sC,OAAOmc,mBAAmBjc,KAAI,SAAS0sC,GACpE1tC,EAAKorC,gBAAgB3xC,KAAKi0C,MAG9B1tC,EAAK2tC,0BAA4B7sC,OAAO2c,mBAAmBzc,KAAI,SAAS4sC,GACpE5tC,EAAKorC,gBAAgBpnC,QAAO,SAAS9D,GACjC,OAAOA,EAAkBiH,KAAOymC,EAAmBzmC,SAI3DnH,EAAK6tC,oCAAsC7tC,EAAKuqC,6BAA6BhpB,WAAU,WACnFuqB,OAGJ9rC,EAAK8tC,kBAAoB9tC,EAAKirC,WAAW1pB,WAAU,WAC/CuqB,OAGJ9rC,EAAK+tC,0BAA4B/tC,EAAKkrC,mBAAmB3pB,WAAU,SAASwgB,GACxE,IAAIkJ,EAAajrC,EAAKirC,aACtBA,EAAW/2B,SAAW1T,OAAWioB,QAAQsZ,GACzC/hC,EAAKirC,WAAWA,MAGpBjrC,EAAKguC,wBAA0BhuC,EAAKmrC,iBAAiB5pB,WAAU,SAASwgB,GACpE,IAAIkJ,EAAajrC,EAAKirC,aACtBA,EAAW72B,OAAS5T,OAAWioB,QAAQsZ,GACvC/hC,EAAKirC,WAAWA,MAGpBjrC,EAAKiuC,YAAc5tC,IAAGc,cAAa,WAC/B,IAAI8pC,EAAajrC,EAAKirC,aACtB,OAAOA,EAAW/2B,SAAS62B,UAG/B/qC,EAAKkuC,yBAA2BptC,OAAOqtC,kBAAkBntC,KAAI,SAASotC,GAClEpuC,EAAK0qC,kBAAkB0D,MAG3BpuC,EAAKquC,iCAAmChuC,IAAGc,cAAa,WACpD,IAAIsqC,EAAezrC,EAAKurC,2BACpB0C,EAAcjuC,EAAKiuC,cACnBK,EAAiCzrC,aAAEkM,OAAO08B,GAC1C,SAAStrC,GACL,IAAIO,EAAYc,IAAOC,IAAItB,EAAYO,WACvC,OAAOutC,IAAgBvtC,EAAUqqC,QAAU5qC,EAAYioC,QAAUjoC,EAAYioC,OAAOmG,mBAG5F,OAAOD,EAA+Bn1C,OAAS,KAIvD2G,EAAUzG,UAAUm1C,yBAA2B,WAC3C,IAAIxuC,EAAOC,KACXD,EAAK2E,aAAY,GACjB,IAAIJ,EAAWvE,EAAKioC,qBAAqBnhB,cAAc3f,GAEnD2/B,EAAK,IAAIC,SACT/gC,EAAQ/D,EAAE,qBAAqB,GAAG+D,MAAM,GAC5C8gC,EAAGE,OAAO,OAAQhhC,GAElByoC,OAAqBC,aAAanqC,EAAUuiC,GACvC1jC,MAAK,WACF3D,QAAQ20B,IAAI,wBAEfllB,QAAO,WACJlP,EAAK2E,aAAY,MAEpBuW,MAAK,SAAS3V,GACX,IAAIopC,EAAeppC,EAASopC,aACxBC,EAAevpB,KAAKC,MAAM,IAAMqpB,EAAe,KACnD3uC,EAAKyqC,eAAemE,OAIhC9uC,EAAUzG,UAAUw1C,wBAA0B,WAC1C,IAAItqC,EAAWtE,KAAKgoC,qBAAqBnhB,cAAc3f,GACnD8mC,EAAchuC,KAAKguC,cACvB,OAAOQ,OAAqBK,UAAUvqC,EAAU0pC,IAGpDnuC,EAAUzG,UAAU01C,wBAA0B,WAC1C,IAAIxqC,EAAWtE,KAAKgoC,qBAAqBnhB,cAAc3f,GACnD8mC,EAAchuC,KAAKguC,cACvB,OAAOQ,OAAqBO,UAAUzqC,EAAU0pC,IAGpDnuC,EAAUzG,UAAU41C,eAAiB,WACjC,IAAIzE,EAA0BvqC,KAAKuqC,0BAE/BA,GACAvqC,KAAKgoC,qBAAqB9uB,OAG9BlZ,KAAKuqC,yBAAyBA,IAGlC1qC,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmtC,qBAAqBvrC,SAC1B5B,KAAKstC,0BAA0B1rC,SAC/B5B,KAAKwtC,0BAA0B5rC,SAC/B5B,KAAK0tC,0BAA0B9rC,SAC/B5B,KAAKiuC,yBAAyBrsC,SAC9B5B,KAAK4tC,oCAAoCjsC,UACzC3B,KAAK6tC,kBAAkBlsC,UACvB3B,KAAK8tC,0BAA0BnsC,UAC/B3B,KAAK+tC,wBAAwBpsC,WAGjC9B,EAAUzG,UAAU61C,sBAAwB,WACxC,IAAIjE,EAAahrC,KAAKgrC,aACtBA,EAAW/2B,SAAW+2B,EAAW/2B,SAASlT,KAAK,EAAG,UAClDiqC,EAAW72B,OAAS62B,EAAW72B,OAAOpT,KAAK,EAAG,UAC9Cf,KAAKgrC,WAAWA,GAChBhrC,KAAKirC,mBAAmB1qC,OAAWC,sBAAsBwqC,EAAW/2B,WACpEjU,KAAKkrC,iBAAiB3qC,OAAWC,sBAAsBwqC,EAAW72B,UAGtEtU,EAAUzG,UAAU81C,kBAAoB,WACpC,IAAIlE,EAAahrC,KAAKgrC,aACtBA,EAAW/2B,SAAW+2B,EAAW/2B,SAASlT,IAAI,EAAG,UACjDiqC,EAAW72B,OAAS62B,EAAW72B,OAAOpT,IAAI,EAAG,UAC7Cf,KAAKgrC,WAAWA,GAChBhrC,KAAKirC,mBAAmB1qC,OAAWC,sBAAsBwqC,EAAW/2B,WACpEjU,KAAKkrC,iBAAiB3qC,OAAWC,sBAAsBwqC,EAAW72B,UAGvD,QAAE/Q,UAAWvD,EAAWwD,SAAUA,O,0GCzS7CsZ,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAASurB,GAC7B,IAAI/e,EAAS,CACT+e,cAAeA,GAGnB,OAAOjR,OAAIpe,IAAI,gCAAiCsQ,IAGpD6N,EAAOvjB,UAAU6F,OAAS,SAASkwC,GAC/B,OAAOvyB,OAAIG,KAAK,2BAA4BoyB,IAGhDxyB,EAAOvjB,UAAU2K,OAAS,SAASorC,GAC/B,OAAOvyB,OAAIW,IAAI,4BAA8B4xB,EAAuBthB,cAAgB,IAAMshB,EAAuBjhB,aAAa/qB,MAAK,WAC/HtC,OAAOuuC,8BAA8BhtC,SAAS+sC,OAIvC,WAAIxyB,G,qBCxBnB,IAAIlgB,EAAO,ysDAEX7B,EAAOD,QAAU8B,G,0LCDb4yC,EAA2B,aAE/BA,EAAyBj2C,UAAU2V,OAAS,WAC1C,OAAO6N,OAAIpe,IAAI,yBAGjB6wC,EAAyBj2C,UAAUoF,IAAM,SAAU8wC,GACjD,OAAO1yB,OAAIpe,IAAJ,+BAAgC8wC,KAGzCD,EAAyBj2C,UAAUskB,IAAM,SAAU6xB,GACjD,OAAO3yB,OAAIG,KAAK,uBAAwBwyB,IAG1CF,EAAyBj2C,UAAU8J,OAAS,SAAUqsC,GACpD,OAAO3yB,OAAIK,IAAJ,+BAAgCsyB,EAAgCroC,IAAMqoC,IAG/EF,EAAyBj2C,UAAUwkB,OAAS,SAAU0xB,GACpD,OAAO1yB,OAAIW,IAAJ,+BAAgC+xB,KAG1B,UAAID,EClBbG,EAAkB,wDAAxB,iD,0BACU,EAAA1xB,iBAAkB,EAClB,EAAAC,SAAuC,GAFjD,EAAwB,4GAKf,6HAEkB0xB,EAAyB/xB,IAAI,CAAEe,QAAS,KAF1D,cAEGR,EAFH,OAGHje,KAAKse,QAAQC,OAAO,oBAAqBN,GAHtC,kBAIIA,GAJJ,yCAMI,CAAErgB,QAAS,8BAA+BL,MAAK,MANnD,yDALe,4IAgBf,WAAmB0gB,GAAnB,0FACAA,EADA,0EAGyBwxB,EAAyBvsC,OAAO+a,GAHzD,OAGGyxB,EAHH,OAIH1vC,KAAKse,QAAQC,OAAO,oBAAqBmxB,GAJtC,yDAMI,CAAE9xC,QAAS,iCAAkCL,MAAK,MANtD,yDAhBe,mJA2Bf,WAAyB2J,GAAzB,0GAEGuoC,EAAyB7xB,OAAO1W,GAFnC,OAGHlH,KAAKse,QAAQC,OAAO,uBAAwBrX,GAHzC,wDAKI,CAAEtJ,QAAS,iCAAkCL,MAAK,MALtD,wDA3Be,8IAqCf,WAAoB2J,GAApB,+FACDlH,KAAK8d,gBADJ,gCAEG9d,KAAKse,QAAQlc,SAAS,kBAFzB,UAKC6b,EAASje,KAAK+d,SAASzb,MAAK,SAAA2b,GAAM,OAAIA,EAAO/W,KAAOA,MAEtD+W,EAPC,iBAQMjlB,EAAI,EARV,YAQaA,EAAIilB,EAAOQ,QAAQvlB,QARhC,iCASoB8G,KAAKse,QAAQlc,SAAS,cAAe6b,EAAOQ,QAAQzlB,GAAGkO,GAAI,CAAEyX,MAAM,IATvF,OASKC,EATL,OAUGA,IAAQX,EAAOQ,QAAQzlB,GAAK4lB,GAV/B,QAQwC5lB,IARxC,gDAaIilB,GAbJ,aAeO,CAAErgB,QAAS,yBAflB,iDArCe,+IAwDf,6HAE+C6xC,EAAyB1gC,SAFxE,OAEGiP,EAFH,OAGHhe,KAAKse,QAAQC,OAAO,qBAAsBP,GAHvC,yDAKI,CAAEpgB,QAAS,kCAAmCL,MAAK,MALvD,yDAxDe,wFAkEf,SAAkB0gB,GACvBje,KAAK+d,SAASvkB,KAAKykB,GACnBje,KAAK8d,iBAAkB,IApEH,+BAwEf,SAAkBG,GACvB,IAAMC,EAAQle,KAAK+d,SAASI,WAAU,SAAAC,GAAW,OAAIA,EAAYlX,KAAO+W,EAAO/W,MAE3EgX,GAAS,IACXle,KAAK+d,SAASG,GAASD,EACvBje,KAAK8d,iBAAkB,KA7EL,kCAkFf,SAAqB5W,GAC1B,IAAMgX,EAAQle,KAAK+d,SAASI,WAAU,SAAAF,GAAM,OAAIA,EAAO/W,KAAOA,KAE1DgX,GAAS,IACXle,KAAK+d,SAAS3jB,OAAO8jB,EAAO,GAC5Ble,KAAK8d,iBAAkB,KAvFL,gCA4Ff,SAAmBE,GACxBhe,KAAK+d,SAAWC,EAChBhe,KAAK8d,iBAAkB,MA9FH,GAASgB,QAK/BlJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kCAmBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mCAUArJ,gBADCmJ,QACD,sCAMAnJ,gBADCmJ,QACD,sCAUAnJ,gBADCmJ,QACD,yCAUAnJ,gBADCmJ,QACD,uCA5FIywB,EAAkB,gBADvBtwB,eAAO,CAAEC,YAAY,EAAMthB,KAAM,qCAC5B2xC,GAkGSA,U,oCCxGf,gBAEIG,EAAuB,aAI3BA,EAAqBv2C,UAAUw2C,sBAAwB,SAASl3C,GAC5D,OAAOkkB,OAAI+Z,aAAa,wCAAyC,OAAQj+B,IAG7Ei3C,EAAqBv2C,UAAUq1C,aAAe,SAASnqC,EAAUf,GAC7D,IAAIwB,EAAM,0BAA4BT,EACtC,OAAOsY,OAAI3Y,WAAWc,EAAKxB,IAG/BosC,EAAqBv2C,UAAUy2C,UAAY,SAAS/yB,GAChD,IAAI/X,EAAM,6BAA+B+X,EACzC,OAAOF,OAAI+Z,aAAa5xB,EAAK,QAGjC4qC,EAAqBv2C,UAAU02C,UAAY,SAAShzB,GAChD,IAAI/X,EAAM,6BAA+B+X,EACzCF,OAAI+Z,aAAa5xB,EAAK,QAG1B4qC,EAAqBv2C,UAAUy1C,UAAY,SAASvqC,EAAUwmC,GAC1D,IAAI/lC,EAAM,6BAA+BT,EAAW,IAAMwmC,EAC1DluB,OAAI+Z,aAAa5xB,EAAK,QAG1B4qC,EAAqBv2C,UAAU21C,UAAY,SAASzqC,EAAUwmC,GAC1D,IAAI/lC,EAAM,6BAA+BT,EAAW,IAAMwmC,EAC1DluB,OAAI+Z,aAAa5xB,EAAK,QAG1B4qC,EAAqBv2C,UAAU22C,YAAc,SAASjzB,GAClD,IAAI/X,EAAM,+BAAiC+X,EAC3C,OAAOF,OAAI+Z,aAAa5xB,EAAK,QAGlB,WAAI4qC,G,oCCxCnB,W,mBCCA,IAAIlzC,EAAO,qLAEX7B,EAAOD,QAAU8B,G,qCCHjB,4BAEIuzC,EAAqC,aAIzCA,EAAmC52C,UAAUowB,cAAgB,SAASllB,GAClE,IAAIwK,EAAS,CACTxK,SAAUA,GAGVknB,EAAWxpB,EAAEypB,WAMjB,OALA7O,OAAIpe,IAAI,qCAAsCsQ,GAAQ3L,MAAK,SAAUmC,GACjEkmB,EAAStwB,QAAQoK,EAAS,OAC3B2V,MAAK,WACJuQ,EAASrwB,OAAO0wB,cAEbL,EAASxuB,WAGpBgzC,EAAmC52C,UAAU8J,OAAS,SAAS+sC,GAC3D,OAAOrzB,OAAIK,IAAI,gCAAiCgzB,IAGrC,WAAID,I,0DCxBnB,W,qBCCA,IAAIvzC,EAAO,oUAEX7B,EAAOD,QAAU8B,G,4LCQX6S,EAAOoX,eAAUwpB,OAAYtpB,QAC7BjX,EAAO+W,eAAUypB,OAAYvpB,QAC7B/W,EAAU6W,eAAUC,OAAeC,QAEzC,SAAS/mB,IACL,IAAIE,EAAOC,KACXD,EAAK0e,QAAUre,IAAGwK,gBAAgB,IAClC7K,EAAKqwC,WAAahwC,IAAGC,YAAW,GAChCN,EAAKswC,QAAUjwC,IAAGC,YAAW,GAC7BN,EAAKuwC,UAAYlwC,IAAGC,YAAW,GAC/BN,EAAKwwC,SAAWnwC,IAAGC,YAAW,GAC9BN,EAAKywC,YAAcpwC,IAAGC,YAAW,GACjCN,EAAK0wC,sBAAwBrwC,IAAGC,YAAW,GAE3CopB,OAAcoF,aAAa1rB,MAAK,SAASzK,GACrCqH,EAAK0e,QAAQ/lB,MACduiB,MAAK,SAAS3V,GACW,MAApBA,EAAS4V,QACTnb,EAAK0wC,uBAAsB,MAInC1wC,EAAK2wC,cAAgBtwC,IAAGc,cAAa,WACjC,IAAIud,EAAU1e,EAAK0e,UACfkyB,EAAS/tC,aAAEof,OAAOvD,GAAS,SAASG,GACpC,OAAOA,EAAO/gB,KAAKqK,iBAEvB,OAAOyoC,KAGX5wC,EAAKuX,SAAWlX,IAAGc,cAAa,WAC5B,OAAKyO,EAAKihC,WACHjhC,EAAK2H,UADgB,sBAIhCvX,EAAK8wC,UAAYzwC,IAAGc,cAAa,WAC7B,OAAKyO,EAAKihC,WACHjhC,EAAKkhC,WADgB,mBAIhC9wC,EAAKsiB,aAAgB,WACjBtiB,EAAKqwC,YAAW,GAChB1wC,OAAOoxC,QAAQC,QAGnBrxC,OAAOsxC,WAAa,WAChBjxC,EAAKqwC,YAAW,IAGpBrwC,EAAKkxC,aAAgB,SAASv4C,GAC1BmX,EAAQqhC,oBAAoBx4C,GAC5BqH,EAAKqwC,YAAW,GAChB1wC,OAAOoxC,QAAQK,UAAU,KAAM,GAAIzxC,OAAO0xC,SAASh2C,OAGvD2E,EAAKsxC,YAAe,WAChBtxC,EAAKuwC,WAAWvwC,EAAKuwC,cAGzBvwC,EAAKuxC,WAAc,WACfvxC,EAAKwwC,UAAUxwC,EAAKwwC,aAExBxwC,EAAKwxC,cAAiB,WAClBxxC,EAAKywC,aAAazwC,EAAKywC,gBAG3BzwC,EAAKyxC,OAAU,WACbliC,EAAKmiC,UAAU30C,MAAK,WAClB40C,OAAOl4C,KAAK,cAKpBqG,EAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,EAAWwD,SAAUA,M,oCCvFjD,sEAKA,SAASxD,EAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKuE,SAAWxE,EAAOwE,SACvBvE,EAAK6e,YAAS9gB,EACdiC,EAAK4xC,MAAQvxC,IAAGC,aAChBN,EAAKxC,MAAQ6C,IAAGC,WAAW,MAC3BN,EAAKkZ,UAAY7Y,IAAGC,YAAW,GAC/BN,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAC9BN,EAAK8xC,kBAGThyC,EAAUzG,UAAUy4C,gBAAkB,WAClC,IAAI9xC,EAAOC,KACXD,EAAKqa,aAELra,EAAKkZ,WAAU,GACf64B,OAAmBtzC,IAAIuB,EAAKuE,UAAUnB,MAAK,SAASzK,GAChDqH,EAAKuuB,WAAW51B,MACjBuiB,MAAK,SAAUviB,GACdqH,EAAKgyC,SAAS,wBAAyBr5C,GACvCqH,EAAKuuB,gBAAWxwB,MACjBmR,QAAO,WACNlP,EAAKkZ,WAAU,OAIvBpZ,EAAUzG,UAAU44C,gBAAkB,WAClC,IAAIjyC,EAAOC,KAEX,GADAD,EAAKqa,kBACgBtc,IAAjBiC,EAAK4xC,QAAuB,CAC5B,IAAI/yB,EAAShc,aAAEC,MAAM9C,EAAK6e,QAC1BA,EAAO+yB,MAAQ5xC,EAAK4xC,QACpB5xC,EAAK6xC,UAAS,GACdE,OAAmB5uC,OAAO0b,GAAQzb,MAAK,SAAUzK,GAC7CqH,EAAKuuB,WAAW51B,MACjBuiB,MAAK,SAAUviB,GACdqH,EAAKgyC,SAAS,wBAAyBr5C,MACxCuW,QAAO,WACNlP,EAAK6xC,UAAS,QAK1B/xC,EAAUzG,UAAUk1B,WAAa,SAAU1P,GACvC,IAAI7e,EAAOC,KACXD,EAAK6e,OAASA,EACV7e,EAAK6e,OACL7e,EAAK4xC,MAAM5xC,EAAK6e,OAAO+yB,OAEvB5xC,EAAK4xC,WAAM7zC,IAInB+B,EAAUzG,UAAUghB,WAAa,WAC7B,IAAIra,EAAOC,KACXD,EAAKxC,MAAM,OAGfsC,EAAUzG,UAAU24C,SAAW,SAAUE,EAAW10C,GAChD,IAAIwC,EAAOC,KACXD,EAAKxC,MAAM00C,GACXzyC,QAAQjC,MAAM00C,GACdzyC,QAAQjC,MAAMA,IAGlBsC,EAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,EAAWwD,SAAUA,M,sBCzEjD,IAAI5G,EAAO,8sDAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,kgBAEX7B,EAAOD,QAAU8B,G,sQCDby1C,EAA8B,aAElCA,EAA4B94C,UAAU2V,OAAS,WAC7C,OAAO6N,OAAIpe,IAAI,2BAGjB0zC,EAA4B94C,UAAUoF,IAAM,SAAU2zC,GACpD,OAAOv1B,OAAIpe,IAAJ,iCAAkC2zC,KAG3CD,EAA4B94C,UAAUskB,IAAM,SAAUy0B,GACpD,OAAOv1B,OAAIG,KAAK,yBAA0Bo1B,IAG5CD,EAA4B94C,UAAU8J,OAAS,SAAUivC,GACvD,OAAOv1B,OAAIK,IAAI,yBAA0Bk1B,IAG3CD,EAA4B94C,UAAUwkB,OAAS,SAAUu0B,GACvD,OAAOv1B,OAAIW,IAAJ,iCAAkC40B,KAG5B,UAAID,E,YCdbE,EAAqB,wDAA3B,iD,0BACU,EAAAt0B,iBAAkB,EAClB,EAAAC,SAA0C,GAC1C,EAAAs0B,oBAAmD,GACnD,EAAAC,qCAA2E,GAC3E,EAAAC,gCAA6E,GAC7E,EAAAC,gBAAsD,GANhE,EAA2B,uDAQzB,WACE,OAAOxyC,KAAKqyC,sBATW,+CAYzB,WACE,OAAOryC,KAAKsyC,uCAbW,0CAgBzB,WACE,OAAOtyC,KAAKuyC,kCAjBW,0BAoBzB,WACE,OAAOvyC,KAAKwyC,kBArBW,mFAyBlB,6HAEkBC,EAA4B/0B,IAAI,CAAEe,QAAS,KAF7D,cAEGR,EAFH,OAGHje,KAAKse,QAAQC,OAAO,oBAAqBN,GAHtC,kBAIIA,GAJJ,yCAMG,CAAErgB,QAAS,8BAA+BL,MAAK,MANlD,yDAzBkB,4IAoClB,WACL0gB,GADK,0FAGAA,EAHA,0EAKyBw0B,EAA4BvvC,OAAO+a,GAL5D,OAKGyxB,EALH,OAMH1vC,KAAKse,QAAQC,OAAO,oBAAqBmxB,GANtC,yDAQG,CAAE9xC,QAAS,iCAAkCL,MAAK,MARrD,yDApCkB,mJAiDlB,WAAyB2J,GAAzB,0GAEGurC,EAA4B70B,OAAO1W,GAFtC,OAGHlH,KAAKse,QAAQC,OAAO,uBAAwBrX,GAHzC,wDAKG,CAAEtJ,QAAS,iCAAkCL,MAAK,MALrD,wDAjDkB,8IA2DlB,WAAoB2J,GAApB,+FACDlH,KAAK8d,gBADJ,gCAEG9d,KAAKse,QAAQlc,SAAS,kBAFzB,UAKC6b,EAASje,KAAK+d,SAASzb,MAAK,SAAC2b,GAAD,OAAYA,EAAO/W,KAAOA,MAExD+W,EAPC,iBAQMjlB,EAAI,EARV,YAQaA,EAAIilB,EAAOQ,QAAQvlB,QARhC,iCASoB8G,KAAKse,QAAQlc,SAChC,cACA6b,EAAOQ,QAAQzlB,GAAGkO,GAClB,CAAEyX,MAAM,IAZT,OASKC,EATL,OAcGA,IAAQX,EAAOQ,QAAQzlB,GAAK4lB,GAd/B,QAQwC5lB,IARxC,gDAiBIilB,GAjBJ,aAkBQ,CAAErgB,QAAS,yBAlBnB,iDA3DkB,+IAiFlB,6HAGK60C,EAA4B1jC,SAHjC,OAEGiP,EAFH,OAIHhe,KAAKse,QAAQC,OAAO,qBAAsBP,GAJvC,yDAMG,CAAEpgB,QAAS,kCAAmCL,MAAK,MANtD,yDAjFkB,0JA4FlB,WAAiCm1C,GAAjC,kHAEiCxO,OAAcyO,mBAAmBD,GAFlE,cAEG34C,EAFH,OAGGrB,EAAoCg6C,EAAU1jC,KAAI,SAAC1K,GAAD,yBAEnDA,EAAWvK,EAAO+U,QAAO,SAAC4K,GAAD,OAAUA,EAAKpV,WAAaA,KAAU,OAC9Dwf,QAAO,SAACC,EAAKnM,GAAN,sBAAC,kBAAmBmM,GAAQnM,KAAQ,IACjD5X,KAAKse,QAAQC,OAAO,+BAAgC7lB,GAPjD,kBAQIA,GARJ,yCAUI,CAAEkF,QAAS,gCAAiCL,MAAK,MAVrD,yDA5FkB,yKA2GlB,WAA+Cm1C,GAA/C,gHAEoDxO,OAAc0O,6BAA6BF,GAF/F,cAEGh6C,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,+CAAgD7lB,GAHjE,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,+CAAgDL,MAAK,MANpE,yDA3GkB,oKAsHlB,WAA0Cm1C,GAA1C,gHAE2DxO,OAAc2O,yBAAyBH,GAFlG,cAEGh6C,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,yCAA0C7lB,GAH3D,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,yCAA0CL,MAAK,MAN9D,yDAtHkB,oJAiIlB,WAA0Bm1C,GAA1B,gHAEoDxO,OAAc4O,oBAAoBJ,GAFtF,cAEGh6C,EAFH,OAGHsH,KAAKse,QAAQC,OAAO,sBAAuB7lB,GAHxC,kBAIIA,GAJJ,yCAMI,CAAEkF,QAAS,yCAA0CL,MAAK,MAN9D,yDAjIkB,yFA4IlB,SAAkB0gB,GACvBje,KAAK+d,SAASvkB,KAAKykB,GACnBje,KAAK8d,iBAAkB,IA9IA,+BAkJlB,SAAkBG,GACvB,IAAMC,EAAQle,KAAK+d,SAASI,WAC1B,SAACC,GAAD,OAAiBA,EAAYlX,KAAO+W,EAAO/W,MAGzCgX,GAAS,IACXle,KAAK+d,SAASG,GAASD,EACvBje,KAAK8d,iBAAkB,KAzJF,kCA8JlB,SAAqB5W,GAC1B,IAAMgX,EAAQle,KAAK+d,SAASI,WAAU,SAACF,GAAD,OAAYA,EAAO/W,KAAOA,KAE5DgX,GAAS,IACXle,KAAK+d,SAAS3jB,OAAO8jB,EAAO,GAC5Ble,KAAK8d,iBAAkB,KAnKF,gCAwKlB,SAAmBE,GACxBhe,KAAK+d,SAAWC,EAChBhe,KAAK8d,iBAAkB,IA1KA,0CA8KlB,SAA6BplB,GAClCsH,KAAKqyC,oBAAL,iCAAgCryC,KAAKqyC,qBAAwB35C,KA/KtC,0DAmLlB,SAA6CA,GAClDsH,KAAKsyC,qCAAL,iCAAiDtyC,KAAKsyC,sCAAyC55C,KApLxE,oDAwLlB,SAAuCA,GAA+C,WAC3FS,OAAOmqC,KAAK5qC,GAAMy4B,SAAQ,SAAAjyB,GACxB,IAAM6zC,EAAYnpB,OAAO1qB,GACzB,EAAKqzC,gCAAgCQ,GAAar6C,EAAKq6C,QA3LlC,iCAgMlB,SAAoBr6C,GACzBsH,KAAKwyC,gBAAL,iCAA4BxyC,KAAKwyC,iBAAoB95C,OAjM9B,GAASomB,QAyBlClJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAaArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kCAsBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+CAeArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,6DAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,wDAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,wCAWArJ,gBADCmJ,QACD,sCAMAnJ,gBADCmJ,QACD,sCAYAnJ,gBADCmJ,QACD,yCAUAnJ,gBADCmJ,QACD,uCAMAnJ,gBADCmJ,QACD,iDAKAnJ,gBADCmJ,QACD,iEAKAnJ,gBADCmJ,QACD,2DAQAnJ,gBADCmJ,QACD,wCAhMIqzB,EAAqB,gBAD1BlzB,eAAO,CAAEC,YAAY,EAAMthB,KAAM,wCAC5Bu0C,GAqMSA,U,qBC9Mf,IAAI31C,EAAO,kMAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,+iBAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,4pFAEX7B,EAAOD,QAAU8B,G,mBCHjB7B,EAAOD,QAAU,skB,kCCAjB,gBAEIgiB,EAAS,aAIbA,EAAOvjB,UAAU2V,OAAS,WACtB,OAAO6N,OAAIpe,IAAI,iBAGJ,WAAIme,G,uBCTnB,IAAIqc,EAA2C,EAAQ,QACnDC,EAA6B,EAAQ,QAErCQ,EAAkCT,EAAyCC,GAC3Ex8B,EAAO,sEAA2Eg9B,EAAkC,KAExH7+B,EAAOD,QAAU8B,G,wKCLbu2C,EAAkB,aAItBA,EAAgB55C,UAAU2V,OAAS,WAC/B,OAAO6N,OAAIpe,IAAI,sBAGnBw0C,EAAgB55C,UAAUskB,IAAM,SAAUu1B,GACtC,OAAOr2B,OAAIG,KAAK,oBAAqBk2B,IAGzCD,EAAgB55C,UAAU8J,OAAS,SAAU+vC,GACzC,OAAOr2B,OAAIK,IAAJ,oBAA6Bg2B,IAGxCD,EAAgB55C,UAAUwkB,OAAS,SAAUs1B,GACzC,OAAOt2B,OAAIW,IAAJ,4BAA6B21B,KAGzB,UAAIF,ECjBbG,EAAS,wDAAf,iD,0BACU,EAAAr1B,iBAAkB,EAClB,EAAAC,SAA8B,GAFxC,EAAe,mEAKN,SAA6Bq1B,GAClCpzC,KAAK8d,iBAAkB,EACvB9d,KAAK+d,SAAWq1B,IAPL,iCAWN,SAAoBx0C,GACzBoB,KAAK8d,gBAAkBlf,IAZZ,+BAgBN,SAAkBqf,GACvBje,KAAK+d,SAASvkB,KAAKykB,GACnBje,KAAK8d,iBAAkB,IAlBZ,8FAsBN,2GACDs1B,EAAmB,GADlB,kBAGsBC,EAAgBtkC,SAHtC,OAGHqkC,EAHG,gEAKI,CAAEx1C,QAAS,mCAAoCL,MAAK,MALxD,QAOLyC,KAAKse,QAAQC,OAAO,+BAAgC60B,GAP/C,yDAtBM,mJAiCN,iGACApzC,KAAK8d,gBADL,yCAEI9d,KAAK+d,UAFT,uBAIG/d,KAAKse,QAAQlc,SAAS,2BAJzB,gCAKIpC,KAAK+d,UALT,gDAjCM,sJA2CN,WAA6Bu1B,GAA7B,+FACDtzC,KAAK8d,gBADJ,gCAEG9d,KAAKse,QAAQlc,SAAS,2BAFzB,UAIC6b,EAASje,KAAK+d,SAASzb,MAAK,SAAA2b,GAAM,OAAIA,EAAO/W,KAAOosC,MACtDr1B,EALC,iBAMMjlB,EAAI,EANV,YAMaA,EAAIilB,EAAOQ,QAAQvlB,QANhC,iCAOoB8G,KAAKse,QAAQlc,SAAS,cAAe6b,EAAOQ,QAAQzlB,GAAGkO,GAAI,CAAEyX,MAAM,IAPvF,OAOKC,EAPL,OAQGA,IAAQX,EAAOQ,QAAQzlB,GAAK4lB,GAR/B,QAMwC5lB,IANxC,gDAWIilB,GAXJ,aAcO,CAAErgB,QAAS,gCAdlB,iDA3CM,6IA6DN,6HAEkBy1C,EAAgB31B,IAAI,CAAEe,QAAS,GAAI80B,KAAK,EAAMC,WAAW,IAF3E,cAEGv1B,EAFH,OAGHje,KAAKse,QAAQC,OAAO,oBAAqBN,GAHtC,kBAIIA,GAJJ,yCAMI,CAAErgB,QAAS,8BAA+BL,MAAK,MANnD,yDA7DM,kJAwEN,WAAyBk2C,GAAzB,gHAEoBJ,EAAgB31B,IAAI+1B,GAFxC,cAEGnuC,EAFH,gBAGGtF,KAAKse,QAAQlc,SAAS,gBAHzB,cAIHpC,KAAKse,QAAQlc,SAAS,2BAJnB,kBAKIkD,GALJ,2CAOI,CAAE1H,QAAS,kCAAmCL,MAAK,MAPvD,0DAxEM,sJAoFN,WAA4Bk2C,GAA5B,0GAEGJ,EAAgBnwC,OAAOuwC,GAF1B,uBAGGzzC,KAAKse,QAAQlc,SAAS,gBAHzB,gEAKI,CAAExE,QAAS,iCAAkCL,MAAK,MALtD,QAOLyC,KAAKse,QAAQlc,SAAS,2BAPjB,yDApFM,sJA+FN,WAA4B8wC,GAA5B,0GAEGG,EAAgBz1B,OAAOs1B,GAF1B,uBAGGlzC,KAAKse,QAAQlc,SAAS,gBAHzB,gEAKI,CAAExE,QAAS,iCAAkCL,MAAK,MALtD,QAOLyC,KAAKse,QAAQlc,SAAS,2BAPjB,yDA/FM,oFA0GN,WACLpC,KAAKse,QAAQC,OAAO,uBAAuB,KA3GhC,mBA8Gb,WACE,OAAOve,KAAK+d,aA/GD,GAASe,QAKtBlJ,gBADCmJ,QACD,iDAMAnJ,gBADCmJ,QACD,wCAKAnJ,gBADCmJ,QACD,sCAMAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,4CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,wCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2CAkBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,0CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,0CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCA1GIk0B,EAAS,gBADdj0B,eAAO,CAAEC,YAAY,EAAMthB,KAAM,4BAC5Bs1C,GAmHSA,U,qBCvHf,IAAI12C,EAAO,wJAEX7B,EAAOD,QAAU8B,G,mICIXoT,EAAU6W,eAAUC,OAAeC,QAErC/mB,EAAY,SAAS6zC,GACrB,IAAI3zC,EAAOC,KACXD,EAAK2zC,MAAQtzC,IAAGC,WAAWqzC,GAC3B3zC,EAAKlC,KAAOuC,IAAGc,cAAa,WACxB,IAAIwyC,EAAQ3zC,EAAK2zC,QACjB,OAAKA,EACEA,EAAM71C,KADM,OAK3BgC,EAAUzG,UAAUuJ,KAAO,SAAS8rB,GAChC,IAIIzxB,EAJA+C,EAAOC,KACP2zC,EAAgB/wC,aAAEC,MAAM9C,EAAK2zC,UAAY,GACzCA,EAAQ9wC,aAAE2U,OAAOo8B,EAAellB,GAYpC,OATIilB,EAAMxsC,GACNlK,EAAU42C,OAAa1wC,OAAOwwC,IAE9BA,EAAMpvC,SAAWuL,EAAQgX,cAAc3f,GACvClK,EAAU42C,OAAa30C,OAAOy0C,IAElC12C,EAAQmG,MAAK,SAASzK,GAClBqH,EAAK2zC,MAAMh7C,MAERsE,GAGX6C,EAAUzG,UAAU2K,OAAS,WACzB,OAAO6vC,OAAa7vC,OAAO/D,KAAK0zC,UAGrB7zC,U,qBCxCf,IAAIpD,EAAO,0QAEX7B,EAAOD,QAAU8B,G,0DCFjB,WACC,aAEA,IAAIo3C,EAAQC,EAAEC,OAAO36C,UACjB46C,EAAOH,EAAMI,cAEjBJ,EAAMI,cAAgB,SAAUC,GAE/B,GAAIA,aAAiBJ,EAAEK,OACtB,OAAOH,EAAK16C,KAAK0G,KAAMk0C,GAExB,GAAKl0C,KAAKo0C,WAAYF,EAAMG,SAA5B,CAIA,IAAI35C,EAAIw5C,EAAMI,OACVC,EAAMv0C,KAAKw0C,KACX/1C,EAAIw1B,KAAKQ,IAAIR,KAAKwgB,MAAMP,EAAMQ,SAAU,GAGxCC,GAFK1gB,KAAKQ,IAAIR,KAAKwgB,MAAMP,EAAMU,UAAW,GAEhCV,EAAMS,SAEhBE,EAA2C,IAAnC5gB,KAAKG,IAAI,EAAGp0B,KAAK80C,KAAKC,WAAmB9gB,KAAK+gB,GAAK,QAI/D,GAHAH,EAAQ5gB,KAAKG,IAAIygB,EAAOF,EAAQM,UAAYN,EAAQO,WACpDz2C,GAAQo2C,EAEJF,EAAQQ,UAKP,OAAQR,EAAQQ,WACpB,IAAK,OACJ,GAAIR,EAAQS,KAAM,CACdT,EAAQU,QAA6B,IAAnBV,EAAQW,SAC5B72C,GAAyB,GAAjBk2C,EAAQW,OAAeT,GAChC,IAAIU,EAAMhB,EAAIiB,qBAAqB96C,EAAEgpB,EAAIjlB,EAAE,EAAG/D,EAAE+6C,EAAIh3C,EAAE,EAAG,EAAG/D,EAAEgpB,EAAGhpB,EAAE+6C,EAAG,IAAMh3C,GAC5E82C,EAAIG,aAAa,EAAGf,EAAQgB,WAC5BJ,EAAIG,aAAa,EAAGf,EAAQhN,OAC5B4M,EAAIqB,YACJrB,EAAIsB,UAAYN,EAChBhB,EAAIuB,IAAIp7C,EAAEgpB,EAAGhpB,EAAE+6C,EAAIh3C,EAAG,EAAa,EAAVw1B,KAAK+gB,IAAQ,GACtCT,EAAIa,KAAKT,EAAQoB,UAAY,WAE9B,MACD,IAAK,UACJ,GAAIpB,EAAQS,KAAM,CACdT,EAAQU,QAA6B,IAAnBV,EAAQW,SAC5B72C,GAAyB,GAAjBk2C,EAAQW,OAAeT,GAC5BU,EAAMhB,EAAIiB,qBAAqB96C,EAAEgpB,EAAIjlB,EAAE,EAAG/D,EAAE+6C,EAAIh3C,EAAE,EAAI,EAAEA,EAAG,EAAG/D,EAAEgpB,EAAGhpB,EAAE+6C,EAAI,EAAEh3C,EAAG,IAAMA,GACxF82C,EAAIG,aAAa,EAAGf,EAAQgB,WAC5BJ,EAAIG,aAAa,EAAGf,EAAQhN,OAC5B4M,EAAIqB,YACJrB,EAAIsB,UAAYN,EAChBhB,EAAIyB,OAAOt7C,EAAEgpB,EAAGhpB,EAAE+6C,GAClBlB,EAAI0B,OAAOv7C,EAAEgpB,EAAIjlB,EAAG/D,EAAE+6C,EAAE,EAAEh3C,GAC1B81C,EAAI0B,OAAOv7C,EAAEgpB,EAAIjlB,EAAG/D,EAAE+6C,EAAE,EAAEh3C,GAC1B81C,EAAI0B,OAAOv7C,EAAEgpB,EAAGhpB,EAAE+6C,GAClBlB,EAAIuB,IAAIp7C,EAAEgpB,EAAGhpB,EAAE+6C,EAAI,EAAEh3C,EAAIA,EAAG,EAAa,EAAVw1B,KAAK+gB,IAAQ,GAC5CT,EAAI2B,YACJ3B,EAAIa,KAAKT,EAAQoB,SAAW,WAE7B,MACD,QACKpB,EAAQU,QAA6B,IAAnBV,EAAQW,SAC7Bf,EAAIqB,YACJrB,EAAIuB,IAAIp7C,EAAEgpB,EAAGhpB,EAAE+6C,EAAGh3C,EAAqB,GAAjBk2C,EAAQW,OAAeT,EAAO,EAAa,EAAV5gB,KAAK+gB,IAAQ,GACpET,EAAIsB,UAAYlB,EAAQhN,MACxB4M,EAAIa,KAAKT,EAAQoB,UAAY,YAG1BpB,EAAQS,OACXb,EAAIqB,YACJrB,EAAIuB,IAAIp7C,EAAEgpB,EAAGhpB,EAAE+6C,EAAGh3C,GAAMk2C,EAAQU,QAA6B,IAAnBV,EAAQW,OAAiC,GAAjBX,EAAQW,OAAeT,EAAQ,GAAI,EAAa,EAAV5gB,KAAK+gB,IAAQ,GACrHT,EAAIsB,UAAYlB,EAAQgB,WAAahB,EAAQhN,MAC7C4M,EAAIa,KAAKT,EAAQoB,UAAY,iBAhD/BxB,EAAIqB,YACJrB,EAAIuB,IAAIp7C,EAAEgpB,EAAGhpB,EAAE+6C,EAAGh3C,EAAG,EAAa,EAAVw1B,KAAK+gB,IAAQ,GACrCh1C,KAAKm2C,YAAY5B,EAAKL,KAmDxB,IAAIkC,EAAStC,EAAEuC,aAAaj9C,UACxBk9C,EAAQF,EAAOG,eAEnBH,EAAOG,eAAiB,SAAU77C,GACjC,GAAIsF,gBAAgB8zC,EAAEK,OACrB,OAAOmC,EAAMh9C,KAAK0G,KAAMtF,GAEzB,IAAI+D,EAAIuB,KAAK00C,QAETC,EAAU30C,KAAK20C,QAEfE,EAA2C,IAAnC5gB,KAAKG,IAAI,EAAGp0B,KAAK80C,KAAKC,WAAmB9gB,KAAK+gB,GAAK,QAQ/D,OAPAH,EAAQ5gB,KAAKG,IAAIygB,EAAOF,EAAQM,UAAYN,EAAQO,WACpDz2C,GAAQo2C,EACRp2C,GAASuB,KAAK20C,QAAQU,OAASr1C,KAAK20C,QAAQW,OAAST,EAAQ,EAAI,EAExC,YAAtBF,EAAQQ,YACVz6C,EAAI,IAAIo5C,EAAE0C,MAAM97C,EAAEgpB,EAAGhpB,EAAE+6C,EAAI,EAAIh3C,IAEzB/D,EAAE+7C,WAAWz2C,KAAKs0C,SAAW71C,EAAIuB,KAAK02C,mBAK9C,IAAIC,EAAS7C,EAAE8C,MAAMx9C,UACjBy9C,EAAQF,EAAOG,WACnBH,EAAOG,WAAa,SAAUh8C,GAC7B,IAAIo5C,EAAQp5C,EAAEo5C,OAASp5C,EAAEuB,OAEzB,KAAM63C,aAAiBJ,EAAEuC,eAAkBnC,aAAiBJ,EAAEK,OAC7D,OAAO0C,EAAMv9C,KAAK0G,KAAMlF,GAEzB,GAAKkF,KAAK+2C,QAAW/2C,KAAK80C,KAA1B,CAIAhB,EAAEkD,SAAS1rC,KAAKxQ,GAEhB,IAAMuB,EAASvB,EAAEo5C,OAASp5C,EAAEuB,OACxB2D,KAAK+2C,OAAOE,UAAY56C,GAU5B2D,KAAK+2C,OAAOE,QAAU56C,EACtB2D,KAAKk3C,UAAUp8C,EAAE0qC,SARZxlC,KAAK80C,KAAKqC,SAASn3C,KAAK+2C,QAC3B/2C,KAAKo3C,aAELp3C,KAAKk3C,UAAUp8C,EAAE0qC,UAQpB,IAAI6R,EAASvD,EAAEwD,MAAMl+C,UACjBm+C,EAAcF,EAAOG,WACzBH,EAAOG,WAAa,WACnB,KAAMx3C,KAAKi3C,mBAAmBnD,EAAEuC,eAAiBr2C,KAAKi3C,mBAAmBnD,EAAEK,OAC1E,OAAOoD,EAAYj+C,KAAK0G,MAEzB,IAAIvB,EAAIuB,KAAKi3C,QAAQvC,QAEjBC,EAAU30C,KAAKi3C,QAAQtC,QAGvBE,EAA2C,IAAnC5gB,KAAKG,IAAI,EAAGp0B,KAAK80C,KAAKC,WAAmB9gB,KAAK+gB,GAAK,QAS/D,OARAH,EAAQ5gB,KAAKG,IAAIygB,EAAOF,EAAQM,UAAYN,EAAQO,WAGnDz2C,EADwB,YAAtBk2C,EAAQQ,UACN,IAAM12C,EAAIo2C,EAEV,GAAMp2C,EAAIo2C,EAGRf,EAAE2D,MAAMz3C,KAAKi3C,SAAWj3C,KAAKi3C,QAAQS,gBAAkB13C,KAAKi3C,QAAQS,kBAAoB,CAAC,GAAIj5C,KAzJtG,I,qBCAA,IAAIhC,EAAO,q/FAEX7B,EAAOD,QAAU8B,G,2LCQjB,SAASk7C,EAAQC,GACb,IAAI5oC,EAAM,GAKV,OAJApM,aAAEe,KAAKi0C,GACH,SAASl+B,GACL1K,EAAI0K,EAAKxS,IAAMwS,KAEhB1K,EAGX,IAAI6oC,EAAuB,WACvB,IAAI93C,EAAOC,KACXD,EAAKg2B,QAAU/wB,IACfjF,EAAK+3C,WAAa9yC,UAClBjF,EAAK8mB,cAAgBxX,OAAMgd,QAAQ,yBAEnCtsB,EAAKmoC,YAAc,CAAC,QAAS,WAC7BnoC,EAAK6e,OAASxe,IAAGC,aACjBN,EAAKsqC,oBAAsBjqC,IAAGC,aAC9BN,EAAKg4C,cAAgB33C,IAAGC,aACxBN,EAAKi4C,aAAe53C,IAAGC,aACvBN,EAAKk4C,aAAe73C,IAAGC,aACvBN,EAAKm4C,cAAgB93C,IAAGC,aAExBN,EAAKo4C,gBAAkB/3C,IAAGC,YAAW,GACrCN,EAAKuqC,6BAA+BlqC,IAAGC,YAAW,GAClDN,EAAKq4C,oBAAsBh4C,IAAGC,YAAW,GACzCN,EAAKs4C,oBAAsBj4C,IAAGC,YAAW,GACzCN,EAAKu4C,mBAAqBl4C,IAAGC,YAAW,GACxCN,EAAKw4C,mBAAqBn4C,IAAGC,YAAW,GAExCN,EAAK+sC,iBAAmB1sC,IAAGc,cAAa,WACpC,IAAI62C,EAAgBh4C,EAAKg4C,gBACzB,OAAOn1C,aAAEkM,OAAOipC,GAAe,SAASS,GACpC,OAAQA,EAAUC,oBAI1B14C,EAAKgtC,gBAAkB3sC,IAAGc,cAAa,WACnC,IAAI82C,EAAej4C,EAAKi4C,eACxB,OAAOp1C,aAAEkM,OAAOkpC,GAAc,SAASU,GACnC,OAAQA,EAASD,oBAIzB14C,EAAK44C,gBAAkBv4C,IAAGc,cAAa,WACnC,IAAI+2C,EAAel4C,EAAKk4C,eACxB,OAAOr1C,aAAEkM,OAAOmpC,GAAc,SAASW,GACnC,OAAQA,EAASH,oBAIzB14C,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC7B,IAAIi3C,EAAkBp4C,EAAKo4C,kBACvB7N,EAA+BvqC,EAAKuqC,+BACpC8N,EAAsBr4C,EAAKq4C,sBAC3BC,EAAsBt4C,EAAKs4C,sBAC3BC,EAAqBv4C,EAAKu4C,qBAC1BC,EAAqBx4C,EAAKw4C,qBAE9B,OAAOJ,GACH7N,GACA8N,GACAC,GACAC,GACAC,KAGRx4C,EAAKmZ,QAGT2+B,EAAqBz+C,UAAU8f,KAAO,WAClClZ,KAAK64C,aACL74C,KAAK84C,0BACL94C,KAAK+4C,iBACL/4C,KAAKg5C,gBACLh5C,KAAKi5C,iBACLj5C,KAAKk5C,iBAGTrB,EAAqBz+C,UAAUy/C,WAAa,WACxC,IAAI94C,EAAOC,KACXD,EAAKo4C,iBAAgB,GAErBgB,OAA6B36C,IAAIuB,EAAK8mB,cAAc3f,IAC/C/D,KAAKpD,EAAK6e,QACV3P,QAAO,WACJlP,EAAKo4C,iBAAgB,OAIjCN,EAAqBz+C,UAAU0/C,wBAA0B,WACrD,IAAI/4C,EAAOC,KACXD,EAAKuqC,8BAA6B,GAClCvZ,OAAmBqoB,qBAAqBr5C,EAAK8mB,cAAc3f,IACtD/D,KAAKpD,EAAKsqC,qBACVp7B,QAAO,WACJlP,EAAKuqC,8BAA6B,OAI9CuN,EAAqBz+C,UAAU2/C,eAAiB,WAC5C,IAAIh5C,EAAOC,KACXD,EAAKs4C,qBAAoB,GACzBgB,OAAiB/2C,KAAKvC,EAAK8mB,cAAc3f,IACpC/D,MAAK,SAASzK,GACXqH,EAAKg4C,cAAcJ,EAAQj/C,OAE9BuW,QAAO,WACJlP,EAAKs4C,qBAAoB,OAIrCR,EAAqBz+C,UAAU4/C,cAAgB,WAC3C,IAAIj5C,EAAOC,KACXD,EAAKu4C,oBAAmB,GACxBgB,OAAgBh3C,KAAKvC,EAAK8mB,cAAc3f,IACnC/D,MAAK,SAASzK,GACXqH,EAAKi4C,aAAaL,EAAQj/C,OAE7BuW,QAAO,WACJlP,EAAKu4C,oBAAmB,OAIpCT,EAAqBz+C,UAAU6/C,eAAiB,WAC5C,IAAIl5C,EAAOC,KACXD,EAAKq4C,qBAAoB,GACzBmB,OAAiBxqC,SACZ5L,MAAK,SAASzK,GACXqH,EAAKm4C,cAAcP,EAAQj/C,OAE9BuW,QAAO,WACJlP,EAAKq4C,qBAAoB,OAIrCP,EAAqBz+C,UAAU8/C,cAAgB,WAC3C,IAAIn5C,EAAOC,KACXD,EAAKw4C,oBAAmB,GACxBiB,OAAgBzqC,SACX5L,MAAK,SAASzK,GACXqH,EAAKk4C,aAAaN,EAAQj/C,OAE7BuW,QAAO,WACJlP,EAAKw4C,oBAAmB,OAIpC,IAAIkB,EAA+B,KACpB,QACXj7C,IAAK,WAID,OAHKi7C,IACDA,EAA+B,IAAI5B,GAEhC4B,K,uBCrKf,IAAIzqC,EAAM,CACT,kBAAmB,OACnB,oBAAqB,OACrB,mBAAoB,OACpB,oBAAqB,QAItB,SAASm0B,EAAeC,GACvB,IAAIl8B,EAAKm8B,EAAsBD,GAC/B,OAAO/oC,EAAoB6M,GAE5B,SAASm8B,EAAsBD,GAC9B,IAAI/oC,EAAoBgE,EAAE2Q,EAAKo0B,GAAM,CACpC,IAAItoC,EAAI,IAAI0B,MAAM,uBAAyB4mC,EAAM,KAEjD,MADAtoC,EAAE2B,KAAO,mBACH3B,EAEP,OAAOkU,EAAIo0B,GAEZD,EAAeG,KAAO,WACrB,OAAOnqC,OAAOmqC,KAAKt0B,IAEpBm0B,EAAejoC,QAAUmoC,EACzBzoC,EAAOD,QAAUwoC,EACjBA,EAAej8B,GAAK,Q,wKCvBhBwyC,EAAiB,aAGrBA,EAAetgD,UAAUugD,IAAM,WAC7B,OAAO/8B,OAAIpe,IAAI,oBAGjBk7C,EAAetgD,UAAUwgD,cAAgB,SAASt1C,GAChD,OAAOsY,OAAIpe,IAAJ,iCAAkC8F,KAG3Co1C,EAAetgD,UAAUygD,UAAY,SAASC,GAC5C,OAAOl9B,OAAIpe,IAAJ,0BAA2Bs7C,KAGpCJ,EAAetgD,UAAU2gD,YAAc,SAASC,GAC9C,OAAOp9B,OAAIG,KAAK,kBAAmBi9B,IAGrCN,EAAetgD,UAAU6gD,YAAc,SAASD,GAC9C,OAAOp9B,OAAIs9B,MAAJ,0BAA6BF,EAAW9yC,IAAM8yC,IAGvDN,EAAetgD,UAAU+gD,YAAc,SAASL,GAC9C,OAAOl9B,OAAIW,IAAJ,0BAA2Bu8B,KAGpCJ,EAAetgD,UAAUghD,sBAAwB,SAAS91C,GACxD,OAAOsY,OAAIpe,IAAJ,yCAA0C8F,KAGpC,UAAIo1C,EC3BbtoC,EAAQ,wDAAd,iD,0BACU,EAAAipC,QAA2B,GAC3B,EAAAC,uBAAuD,GAFjE,EAAc,2CAIZ,WACE,OAAOt6C,KAAKq6C,UALF,4BAQZ,WAAoB,WAClB,OAAO,SAAC/1C,GACN,OAAO,EAAK+1C,QAAQvrC,QAAO,SAAA3S,GAAK,OAAIA,EAAMmI,WAAaA,QAV/C,iCAcZ,WACE,OAAOtE,KAAKs6C,yBAfF,kFAoBL,6HAEoBZ,EAAeC,MAFnC,cAEGr0C,EAFH,OAGHtF,KAAKse,QAAQC,OAAO,sBAAuBjZ,GAHxC,kBAIIA,GAJJ,0CAMH9F,QAAQulB,KAAR,MANG,kBAOI9pB,QAAQE,OAAR,mDAPJ,yDApBK,2IAgCL,WAAkBgB,GAAlB,0GAEGu9C,EAAeK,YAAY59C,GAF9B,uBAGG6D,KAAKse,QAAQlc,SAAS,eAHzB,iEAKH5C,QAAQulB,KAAR,MALG,kBAMI9pB,QAAQE,OAAR,0CANJ,yDAhCK,4IA2CL,WAAkBgB,GAAlB,0GAEGu9C,EAAeO,YAAY99C,GAF9B,uBAGG6D,KAAKse,QAAQlc,SAAS,eAHzB,0DAKH5C,QAAQulB,KAAR,MALG,yDA3CK,4IAqDL,WAAkB+0B,GAAlB,0GAEGJ,EAAeS,YAAYL,GAF9B,uBAGG95C,KAAKse,QAAQlc,SAAS,eAHzB,0DAKH5C,QAAQulB,KAAR,MALG,yDArDK,2JAiEL,WAAiCzgB,GAAjC,gHAEoBo1C,EAAeU,sBAAsB91C,GAFzD,cAEGgB,EAFH,OAGHtF,KAAKse,QAAQC,OAAO,sCAAuCjZ,GAHxD,kBAIIA,GAJJ,0CAMH9F,QAAQulB,KAAR,MANG,kBAOI9pB,QAAQE,OAAR,mEAPJ,yDAjEK,2FA8EL,SAAoBmK,GACzBtF,KAAKq6C,QAAU/0C,IA/EL,iDAmFL,SAAoCA,GACzCtF,KAAKs6C,uBAAyBh1C,MApFpB,GAASwZ,QAoBrBlJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gCAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gCAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+CAaArJ,gBADCmJ,QACD,wCAKAnJ,gBADCmJ,QACD,wDAnFI3N,EAAQ,gBADb8N,eAAO,CAAEC,YAAY,EAAMthB,KAAM,cAC5BuT,GAwFSA,U,0GC7Ff,SAASqjC,EAAM71C,EAAO27C,GAClB,OAAO3wB,OAAOqK,KAAKwgB,MAAM71C,EAAM,IAAI27C,GAAU,KAAKA,GAGtD,SAASC,EAAkBC,EAAcC,GACrC,IAAKD,EAAc,OAAO,EAC1B,IAAME,EAAoBC,KAAKC,aAAaH,GAAQI,cAAc,OAAO,GAAGl8C,MACtEm8C,EAAmBH,KAAKC,aAAaH,GAAQI,cAAc,KAAK,GAAGl8C,MAEzE,OAAO8vB,WAAW+rB,EACbr0C,QAAQ,IAAIqtB,OAAO,KAAOknB,EAAmB,KAAM,IACnDv0C,QAAQ,IAAIqtB,OAAO,KAAOsnB,GAAmB,MAIvC,QACXtG,MAAO,SAAU71C,EAAO27C,GACpB,OAAO9F,EAAM71C,EAAO27C,IAExBC,kBAAmBA,I,qBCpBvB5/C,EAAOD,QAAU,IAA0B,gD,qBCA3CC,EAAOD,QAAU,8iB,qBCCjB,IAAI8B,EAAO,yxBAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,8lDAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,k2DAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,qhBAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,0lMAEX7B,EAAOD,QAAU8B,G,kCCHjB,0GAQA,SAASoD,IACL,IAAIE,EAAOC,KAEXD,EAAKi7C,WAAa56C,IAAGC,aACrBN,EAAKk7C,iBAAmB76C,IAAGC,aAC3BN,EAAKm7C,SAAW96C,IAAGC,WAAW,qBAC9BN,EAAKo7C,4BAA8B/6C,IAAGC,YAAW,GACjDN,EAAKq7C,mBAAqBh7C,IAAGC,YAAW,GACxCN,EAAKwpB,YAAcnpB,IAAGC,YAAW,GACjCN,EAAKs7C,kBAAoBj7C,IAAGwK,gBAAgB,IAC5C7K,EAAKu7C,gBAAkBl7C,IAAGwK,gBAAgB,IAC1C7K,EAAKw7C,gBAAkBn7C,IAAGwK,gBAAgB,IAC1C7K,EAAKy7C,UAAYp7C,IAAGwK,gBAAgB,IAEpC7K,EAAK8uB,aACL9uB,EAAK07C,eAEL17C,EAAK0e,QAAUre,IAAGc,cAAa,WAC3B,IAAIg6C,EAAWn7C,EAAKm7C,WACpB,MAAiB,oBAAbA,EACOn7C,EAAKu7C,kBACQ,oBAAbJ,EACAn7C,EAAKw7C,kBAETx7C,EAAKs7C,uBAGhBt7C,EAAK27C,YAAct7C,IAAGc,cAAa,WAC/B,OAAOnB,EAAKm7C,cAGhBn7C,EAAK47C,iBAAmB96C,OAAO+6C,kBAAkB76C,KAAI,SAAS86C,GAC1D,IAAIX,EAAWn7C,EAAKm7C,WACH,oBAAbA,EACAn7C,EAAKu7C,gBAAgBO,GACD,oBAAbX,EACPn7C,EAAKw7C,gBAAgBM,GAErB97C,EAAKs7C,kBAAkBQ,MAI/B97C,EAAK+7C,mBAAqBj7C,OAAOk7C,cAAch7C,KAAI,SAAUm6C,EAAUD,EAAkBr8B,GACrF7e,EAAKm7C,SAASA,GACdn7C,EAAKk7C,iBAAiBA,GAClBr8B,EACA7e,EAAKi7C,WAAWp8B,GAEhB7e,EAAKi7C,WAAW,IAAIgB,QAGP,eAAbd,GACAr6C,OAAOo7C,iBAAiB75C,WAGH,eAArB64C,GACAl7C,EAAK8uB,gBAIb9uB,EAAKm8C,mBAAqBr7C,OAAOs7C,4BAA4Bp7C,KAAI,SAASq7C,GACtEr8C,EAAK8uB,aAEc,eAAfutB,GAAmD,eAApBr8C,EAAKm7C,YACpCr6C,OAAOk7C,cAAc35C,SAASrC,EAAKk7C,mBAAoBl7C,EAAKm7C,eAIpEn7C,EAAKs8C,mBAAqBx7C,OAAOy7C,cAAcv7C,KAAI,WAC/ChB,EAAK8uB,gBAIbhvB,EAAUzG,UAAUy1B,WAAa,WAC7B,IAAI9uB,EAAOC,KACXm5C,OAA6BtqB,aAAa1rB,MAAK,SAAUzK,GACrDqH,EAAKw8C,WAAW7jD,MACjBuiB,MAAK,WACJlb,EAAKwpB,aAAY,MAClBta,QAAO,WACNlP,EAAKo7C,6BAA4B,OAIzCt7C,EAAUzG,UAAUmjD,WAAa,SAAS99B,GACtC,IAAI1e,EAAOC,KACPq7C,EAAoB,GACpBC,EAAkB,GAClBC,EAAkB,GACtB34C,aAAEe,KAAK8a,GAAS,SAAUG,GACtB,IAAI49B,EAAe59B,EAAO49B,aACL,eAAjBA,EACAnB,EAAkB7hD,KAAK,IAAIwiD,OAAOp9B,EAAQ7e,EAAKy7C,cACvB,WAAjBgB,GAA8C,aAAjBA,EACpClB,EAAgB9hD,KAAK,IAAIwiD,OAAOp9B,EAAQ7e,EAAKy7C,cACrB,aAAjBgB,GACPjB,EAAgB/hD,KAAK,IAAIwiD,OAAOp9B,EAAQ7e,EAAKy7C,iBAIrDz7C,EAAKs7C,kBAAkBA,GACvBt7C,EAAKu7C,gBAAgBA,GACrBv7C,EAAKw7C,gBAAgBA,IAGzB17C,EAAUzG,UAAUqiD,aAAe,WAC/B,IAAI17C,EAAOC,KACXy8C,OAAgB1tC,SAAS5L,MAAK,SAAUzK,GACpCqH,EAAKy7C,UAAU9iD,MAChBuiB,MAAK,WACJlb,EAAKwpB,aAAY,MAClBta,QAAO,WACNlP,EAAKq7C,oBAAmB,OAIhCv7C,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK87C,mBAAmBl6C,SACxB5B,KAAKk8C,mBAAmBt6C,SACxB5B,KAAKq8C,mBAAmBz6C,SACxB5B,KAAK27C,iBAAiB/5C,UAGX,QAAEwB,UAAWvD,EAAWwD,SAAUA,M,mBCnIjDzI,EAAOD,QAAU,siB,qBCCjB,IAAI8B,EAAO,s0CAEX7B,EAAOD,QAAU8B,G,8CCFjB,IAAIA,EAAO,m/LAEX7B,EAAOD,QAAU8B,G,oLCIXmT,EAAK,wDAAX,iD,0BACU,EAAA8sC,eAAgB,EAChB,EAAAC,OAAwB,GACxB,EAAAC,aAA8B,GAHxC,EAAW,oDAMF,SAAc1lC,GACnBlX,KAAK08C,eAAgB,EACrB18C,KAAK28C,OAASzlC,IARP,kCAYF,SAAqB2lC,GAC1B78C,KAAK48C,aAAeC,IAbb,yBAiBF,WACL78C,KAAK08C,eAAgB,IAlBd,mFAsBF,2GACDhkD,EAAO,GADN,kBAGUokD,OAAY/tC,SAHtB,OAGHrW,EAHG,0DAKH8G,QAAQulB,KAAR,MALG,QAOL/kB,KAAKse,QAAQC,OAAO,gBAAiB7lB,GAPhC,yDAtBE,kJAiCF,2GACDA,EAAO,GADN,kBAGUokD,OAAY1lB,iBAHtB,OAGH1+B,EAHG,0DAKH8G,QAAQulB,KAAR,MALG,QAOL/kB,KAAKse,QAAQC,OAAO,uBAAwB7lB,GAPvC,yDAjCE,sIA4CF,iGACAsH,KAAK08C,cADL,yCAEI18C,KAAK28C,QAFT,uBAIG38C,KAAK+8C,eAJR,gCAKI/8C,KAAK28C,QALT,gDA5CE,6IAsDF,WAAoBztB,GAApB,0GAEG4tB,OAAYzlB,WAAWnI,GAF1B,OAGHtI,OAAMrI,OAAO,mBAAoB,KAAM,CAAEI,MAAM,IAH5C,kDAKHnf,QAAQulB,KAAR,MALG,wDAtDE,2EA+DT,WACE,OAAO/kB,KAAK28C,SAhEL,uBAkET,WAAsB,WACpB,OAAO,SAACz1C,GACN,OAAO,EAAKy1C,OAAOr6C,MAAK,SAAA06C,GAAG,OAAIA,EAAI91C,KAAOA,QApErC,sBAuET,WACE,OAAOlH,KAAK28C,OAAOzjD,SAxEZ,uBA0ET,WACE,OAAO8G,KAAK48C,iBA3EL,GAAS99B,QAMlBlJ,gBADCmJ,QACD,kCAMAnJ,gBADCmJ,QACD,yCAKAnJ,gBADCmJ,QACD,gCAKAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2BAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kCAtDIrP,EAAK,gBADVsP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,WAC5B+R,GA+ESA,U,oFCnFX+M,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAASurB,GAC7B,IAAI/e,EAAS,CACT+e,cAAeA,GAGnB,OAAOjR,OAAIpe,IAAI,kCAAmCsQ,IAGtD6N,EAAOvjB,UAAU6F,OAAS,SAASg+C,GAC/B,OAAOrgC,OAAIG,KAAK,6BAA8BkgC,IAGlDtgC,EAAOvjB,UAAU8J,OAAS,SAAS+5C,GAC/B,OAAOrgC,OAAIK,IAAI,8BAAgCggC,EAAsB/1C,GAAI+1C,IAG7EtgC,EAAOvjB,UAAU2K,OAAS,SAASk5C,GAC/B,OAAOrgC,OAAIW,IAAI,8BAAgC0/B,EAAsB/1C,IAAI/D,MAAK,WAC1EtC,OAAOq8C,gCAAgC96C,SAAS66C,OAIzC,WAAItgC,G,gGCzBfwgC,EAAe,aAInBA,EAAa/jD,UAAUkJ,KAAO,SAASgC,GACnC,IAAIS,EAAMsK,OAAMgd,QAAQ,mBAAqB,wBAA0B,eACnEvd,EAAS,CACTxK,SAAUA,GAGd,OAAOsY,OAAIpe,IAAIuG,EAAK+J,IAGxBquC,EAAa/jD,UAAU6F,OAAS,SAASy0C,GACrC,IAAI3uC,EAAMsK,OAAMgd,QAAQ,mBAAqB,mBAAqB,UAClE,OAAOzP,OAAIG,KAAKhY,EAAK2uC,GAAOvwC,MAAK,SAASzK,GACtCmI,OAAOu8C,aAAah7C,SAAS1J,OAIrCykD,EAAa/jD,UAAU8J,OAAS,SAASwwC,GACrC,IAAI3uC,EAAMsK,OAAMgd,QAAQ,mBAAqB,oBAAsB,WAEnE,OAAOzP,OAAIK,IAAIlY,EAAM2uC,EAAMxsC,GAAIwsC,GAAOvwC,MAAK,SAASzK,GAChDmI,OAAOw8C,aAAaj7C,SAAS1J,OAIrCykD,EAAa/jD,UAAU2K,OAAS,SAAS2vC,GACrC,IAAI3uC,EAAMsK,OAAMgd,QAAQ,mBAAqB,oBAAsB,WAEnE,OAAOzP,OAAIW,IAAIxY,EAAM2uC,EAAMxsC,IAAI/D,MAAK,WAChCtC,OAAOy8C,aAAal7C,SAASsxC,OAIrCyJ,EAAa/jD,UAAUmkD,oBAAsB,SAASC,GAClD,OAAO5gC,OAAI+Z,aAAa,iBAAkB,OAAQ6mB,IAGvC,WAAIL,G,8CC3CnB,IAAI1gD,EAAO,ixIAEX7B,EAAOD,QAAU8B,G,wKCGXqT,EAAY,wDAAlB,iD,0BACU,EAAA2tC,iBAAkB,EAClB,EAAAC,iBAAkC,GAClC,EAAAC,wBAAyC,GACzC,EAAAC,oBAAqC,GACrC,EAAAC,sBAAuC,GALjD,EAAkB,sDAST,SAAgBp/B,GAAsB,WAC3Cze,KAAKy9C,iBAAkB,EACvBz9C,KAAK09C,iBAAmBj/B,EACxBze,KAAK29C,wBAA0B,GAC/B39C,KAAK49C,oBAAsB,GAC3B59C,KAAK69C,sBAAwB,GAE7Bp/B,EAAQ0S,SAAQ,SAAAvS,GACd,IAAM49B,EAAe59B,EAAO49B,aAC5B,OAAQA,GACN,IAAK,aACH,EAAKmB,wBAAwBnkD,KAAKolB,GAClC,MACF,IAAK,SACH,EAAKg/B,oBAAoBpkD,KAAKolB,GAC9B,MACF,IAAK,WACH,EAAKi/B,sBAAsBrkD,KAAKolB,GAChC,YA3BQ,yBAiCT,WACL5e,KAAKy9C,iBAAkB,IAlCT,wFAsCT,2GACD/kD,EAAO,GADN,kBAGUo5C,OAAmBjjB,aAH7B,OAGHn2B,EAHG,0DAKH8G,QAAQulB,KAAR,MALG,QAOL/kB,KAAKse,QAAQC,OAAO,kBAAmB7lB,GAPlC,yDAtCS,sIAiDT,iGACAsH,KAAKy9C,gBADL,yCAEIz9C,KAAK09C,kBAFT,uBAIG19C,KAAK89C,oBAJR,gCAKI99C,KAAK09C,kBALT,gDAjDS,oFA0DhB,WACE,OAAO19C,KAAK09C,mBA3DE,kCA6DhB,WACE,OAAO19C,KAAK29C,0BA9DE,8BAgEhB,WACE,OAAO39C,KAAK49C,sBAjEE,gCAmEhB,WACE,OAAO59C,KAAK69C,wBApEE,kCAsEhB,WACE,OAAO79C,KAAK29C,wBAAwBzkD,SAvEtB,8BAyEhB,WACE,OAAO8G,KAAK49C,oBAAoB1kD,SA1ElB,gCA4EhB,WACE,OAAO8G,KAAK69C,sBAAsB3kD,WA7EpB,GAAS4lB,QASzBlJ,gBADCmJ,QACD,oCAwBAnJ,gBADCmJ,QACD,gCAKAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,sCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2BAjDInP,EAAY,gBADjBoP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,kBAC5BiS,GAiFSA,U,qBCtFf,IAAIrT,EAAO,+oBAEX7B,EAAOD,QAAU8B,G,oCCHjB,gBAEIshD,EAAkB,aAItBA,EAAgB3kD,UAAU2V,OAAS,WAC/B,OAAO6N,OAAIpe,IAAI,eAGnBu/C,EAAgB3kD,UAAU6F,OAAS,SAAU++C,GACzC,OAAOphC,OAAIG,KAAK,aAAcihC,IAGlCD,EAAgB3kD,UAAU8J,OAAS,SAAU86C,GACzC,OAAOphC,OAAIK,IAAI,cAAgB+gC,EAAQ92C,GAAI82C,IAG/CD,EAAgB3kD,UAAU2K,OAAS,SAAUi6C,GACzC,OAAOphC,OAAIW,IAAI,cAAgBygC,EAAQ92C,KAI5B,WAAI62C,G,qBCtBnB,IAAIthD,EAAO,s1LAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,wrBAEX7B,EAAOD,QAAU8B,G,mBCHjB7B,EAAOD,QAAU,8wC,qBCAjBC,EAAOD,QAAU,IAA0B,uC,4CCC3C,IAAI8B,EAAO,krBAEX7B,EAAOD,QAAU8B,G,4FCDjB,SAASwhD,EAAyBC,GAChC,OAAQA,GACN,IAAK,QACH,MAAO,SACT,IAAK,UACH,MAAO,UACT,IAAK,KACH,MAAO,KACT,IAAK,eACH,MAAO,eACT,IAAK,oBACH,MAAO,4BACT,IAAK,sBACH,MAAO,sCACT,IAAK,0BACH,MAAO,mCACT,QACE,MAAO,IAIb,SAASC,EAA8BD,GACrC,OAAQA,GACN,IAAK,oBACH,MAAO,4BACT,IAAK,sBACH,MAAO,sCACT,IAAK,0BACH,MAAO,mCACT,QACE,MAAO,IAKb,SAASE,EAA6BF,GACpC,OAAQA,GACN,IAAK,QACH,OAAOG,EAAQ,QACjB,IAAK,UACH,OAAOA,EAAQ,QACjB,IAAK,KACH,OAAOA,EAAQ,QACjB,IAAK,eACH,OAAOA,EAAQ,QACjB,IAAK,oBACL,IAAK,sBACL,IAAK,0BACH,OAAOA,EAAQ,QACjB,QACE,OAAOA,EAAQ,SAIrB,SAASC,EAAqB1/B,GAC5B,IAAKA,EAAO2/B,sBACV,MAAO,0BAGT,IAAIn9B,EAAuBxe,aAAEkM,OAAO8P,EAAOyB,YAAY,SAAUH,GAC/D,OAAOA,EAAUC,oBAGnB,GAAoC,IAAhCiB,EAAqBloB,OACvB,MAAO,oBAGT,IAAIslD,EAAoB57C,aAAEkM,OAAOsS,GAAsB,SAAUlB,GAC/D,OAAOA,EAAUu+B,qBAEnB,GAAiC,IAA7BD,EAAkBtlD,OACpB,MAAO,sBAGT,IAAIwlD,EAAoB97C,aAAEoM,IAAIwvC,GAAmB,SAAUt+B,GACzD,OAAOA,EAAUg+B,qBAGnB,GAAIt7C,aAAEkf,SAAS48B,EAAmB,SAChC,MAAO,QAET,GAAI97C,aAAEkf,SAAS48B,EAAmB,WAChC,MAAO,UAET,GAAI97C,aAAEkf,SAAS48B,EAAmB,gBAChC,MAAO,eAET,GAAI97C,aAAEkf,SAAS48B,EAAmB,MAChC,MAAO,KAGT,KAAM,oCAAsCA,EAAkBC,KAAK,KAGrE,SAASC,EAAaV,GACpB,OAAQA,GACN,IAAK,QACH,OAAO,EACT,IAAK,UACH,OAAO,EACT,IAAK,KACH,OAAO,EACT,IAAK,eACH,OAAO,EACT,IAAK,oBACH,OAAO,EACT,IAAK,sBACH,OAAO,EACT,IAAK,0BACH,OAAO,EACT,QACE,KAAM,iCAAmCA,GAIhC,QACbD,yBAA0B,SAAUC,GAClC,OAAOD,EAAyBC,IAElCC,8BAA+B,SAAUD,GACvC,OAAOC,EAA8BD,IAEvCE,6BAA8B,SAAUF,GACtC,OAAOE,EAA6BF,IAEtCW,6BAA8B,SAAUX,GACtC,OAAOA,GAAwC,WAEjDI,qBAAsB,SAAU1/B,GAC9B,OAAO0/B,EAAqB1/B,IAE9BggC,aAAc,SAAUhgC,GACtB,OAAOggC,EAAaN,EAAqB1/B,KAE3CkgC,qBAAsB,SAAUZ,GAC9B,OAAOU,EAAaV,M,qBCxIxB,IAAIzhD,EAAO,wrGAEX7B,EAAOD,QAAU8B,G,oCCHjB,W,qBCAA7B,EAAOD,QAAU,slB,wKCMXoV,EAAS,wDAAf,iD,0BACU,EAAAgvC,mBAAoB,EACpB,EAAAC,WAAwB,GAFlC,EAAe,wDAKN,SAAkBxD,GACvBx7C,KAAK++C,mBAAoB,EACzB/+C,KAAKg/C,WAAaxD,IAPP,yBAWN,WACLx7C,KAAK++C,mBAAoB,IAZd,uFAgBN,2GACDrmD,EAAO,GADN,kBAGU+jD,OAAgB1tC,SAH1B,OAGHrW,EAHG,0DAKH8G,QAAQulB,KAAR,MALG,QAOL/kB,KAAKse,QAAQC,OAAO,oBAAqB7lB,GAPpC,yDAhBM,sIA2BN,iGACAsH,KAAK++C,kBADL,yCAEI/+C,KAAKg/C,YAFT,uBAIGh/C,KAAKi/C,mBAJR,gCAKIj/C,KAAKg/C,YALT,gDA3BM,8EAoCb,WACE,OAAOh/C,KAAKg/C,aArCD,0BAuCb,WACE,OAAOh/C,KAAKg/C,WAAW9lD,SAxCZ,uBA2Cb,WAAe,WACb,OAAO,SAACgO,GACN,OAAO,EAAK83C,WAAW18C,MAAK,SAAA07C,GAAO,OAAIA,EAAQ92C,KAAOA,UA7C7C,GAAS4X,QAKtBlJ,gBADCmJ,QACD,sCAMAnJ,gBADCmJ,QACD,gCAKAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,qCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2BA3BIlP,EAAS,gBADdmP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,eAC5BkS,GAkDSA,U,qBCvDf,IAAItT,EAAO,02DAEX7B,EAAOD,QAAU8B,G,wBCHjB7B,EAAOD,QAAU,IAA0B,wC,8DCEvCukD,EAAgB,aAIpBA,EAAc9lD,UAAU+lD,YAAc,SAASp1B,GAC7C,OAAOnN,OAAIpe,IAAJ,oBAA6BurB,IAGtCm1B,EAAc9lD,UAAUgmD,iBAAmB,SAASr1B,GAClD,OAAOnN,OAAIpe,IAAJ,oBAA6BurB,IAGtCm1B,EAAc9lD,UAAUimD,UAAY,SAASt1B,GAC3C,OAAOnN,OAAIpe,IAAJ,kBAA2BurB,IAGpCm1B,EAAc9lD,UAAUkmD,0BAA4B,SAASv1B,GAC3D,OAAOnN,OAAIpe,IAAJ,6BAAsCurB,IAG/Cm1B,EAAc9lD,UAAUmmD,sBAAwB,SAASj7C,EAAUk7C,GACjE5iC,OAAI+Z,aAAJ,2CAAqDryB,EAArD,4BAAiFk7C,EAAMvrC,SAAvF,mBAA0GurC,EAAMrrC,QAAU,QAG5H+qC,EAAc9lD,UAAUqmD,2BAA6B,SAASn7C,EAAUwmC,GACtEluB,OAAI+Z,aAAJ,yCAAmDryB,EAAnD,iBAAoEwmC,GAAQ,QAG/D,WAAIoU,G,+BC9BnBb,mCAAQ,OAAC,UAAY,UAAU,UAAW,YAAnC,SAA2Dj+C,EAAI4B,EAAG8xC,EAAGlxC,GACxE,SAAS88C,EAAiBC,GAItB,IAHA,IAAIvgD,EAAGtE,EAAGR,EAAGslD,EAAGC,EAAIC,EAChBC,EAAQC,EAAKC,EAERjnD,EAAI,EAAGA,EAAI2mD,EAAQzmD,OAAQF,IAChC+mD,EAASJ,EAAQ3mD,GACjBgnD,EAAMD,EAAOG,YAAYF,IACzBC,EAAMF,EAAOG,YAAYD,KAGrBD,EAAM5gD,GAAU,GAALpG,KAAQoG,EAAI4gD,IACvBA,EAAM1lD,GAAU,GAALtB,KAAQsB,EAAI0lD,IAGvBC,EAAMnlD,GAAU,GAAL9B,KAAQ8B,EAAImlD,IACvBA,EAAML,GAAU,GAAL5mD,KAAQ4mD,EAAIK,GAM/B,OAHAJ,EAAK,IAAI/L,EAAEqM,OAAO7lD,EAAGslD,GACrBE,EAAK,IAAIhM,EAAEqM,OAAO/gD,EAAGtE,GAEd,IAAIg5C,EAAEsM,aAAaP,EAAIC,GAGlC,SAASO,EAAcrxC,EAAK2wC,EAASW,GACjC,IAAIC,EAAaD,EAwBjB,GAvBItxC,EAAIwxC,eACJD,EAAa39C,EAAE+0B,IAAI3oB,EAAI2wC,SAAS,SAASI,GACrC,OAAOA,EAAOU,iBAKlB79C,EAAEe,KAAKqL,EAAI2wC,SAAS,SAASI,GACzBA,EAAO3I,gBAGXpoC,EAAIwxC,aAAaE,eAGrB1xC,EAAI2wC,QAAUA,EACd3wC,EAAIwxC,aAAe1M,EAAE6M,WAAW3xC,EAAI2wC,SAASiB,MAAM5xC,GAE/CuxC,GACA39C,EAAEe,KAAKg8C,GAAS,SAASI,GACrBA,EAAO7I,eAIXloC,EAAI2wC,QAAQzmD,OAAS,EAAG,CACxB,IAAI2nD,EAAenB,EAAiB1wC,EAAI2wC,SACxC3wC,EAAI8xC,UAAUD,EAAc,CACxBE,QAAS,CAAC,IAAK,KACfC,QAAS,KAKrB5gD,EAAG4D,gBAAgBgL,IAAM,CACrB9K,KAAM,SAASC,EAASC,EAAeC,GACzBrC,EAAEmC,GAAZ,IACIvF,EAAQwF,IACRuwC,EAAUv0C,EAAG6gD,MAAMC,iBAAiBtiD,EAAM+1C,SAE1CT,EAAQ,IAAIJ,EAAEqN,UAAU,qGAAsG,CAC9HC,YAAa,SAEbC,EAAYvN,EAAEwN,aAAaxN,EAAEyN,QAAQ,IAAK,KAAMzN,EAAEyN,OAAO,GAAI,MAC7DvyC,EAAM8kC,EAAE9kC,IAAI7K,EAAS,CAAEq9C,OAAQtN,EAAOuN,iBAAiB,EAAMT,QAAS,GAAIU,QAAS,EAAGC,KAAM,EAAGC,OAAQ,CAAC,EAAG,GAAIP,UAAWA,EAAWQ,mBAAoB,KAE7JjjD,EAAMoQ,IAAIA,GAEVqxC,EAAcrxC,EAAK2lC,EAAQgL,QAAShL,EAAQmN,2BAC5C,IAAIC,EAAsBnjD,EAAM+1C,QAAQrzB,WAAU,SAAS0gC,GACvD3B,EAAcrxC,EAAKgzC,EAAWrC,YAGlCv/C,EAAG6gD,MAAMgB,gBAAgBC,mBAAmB/9C,GAAS,WACjD49C,EAAoBpgD,cAG5BuB,OAAQ,SAASiB,EAASC,EAAeC,QAlF1C,8B,mCCAP,4BAEI89C,EAAgC,aAIpCA,EAA8B/oD,UAAUowB,cAAgB,SAASllB,GAC7D,IAAIwK,EAAS,CACTxK,SAAUA,GAGVknB,EAAWxpB,EAAEypB,WAMjB,OALA7O,OAAIpe,IAAI,gCAAiCsQ,GAAQ3L,MAAK,SAAUmC,GAC5DkmB,EAAStwB,QAAQoK,EAAS,OAC3B2V,MAAK,WACJuQ,EAASrwB,OAAO0wB,cAEbL,EAASxuB,WAGpBmlD,EAA8B/oD,UAAU8J,OAAS,SAAS+sC,GACtD,OAAOrzB,OAAIK,IAAI,2BAA4BgzB,IAGhC,WAAIkS,I,yCCvBnB,IAAI1lD,EAAO,i8BAEX7B,EAAOD,QAAU8B,G,iNCKjB,SAAS2lD,EAAwBvkD,GAC7B,OAAKA,EAGDA,EAAK3E,OAAS,GACP,qDAEJ,GALI,4CAQf,SAAS2G,IACL,IAAIE,EAAOC,KACXD,EAAKsiD,sBAAwBjiD,IAAGC,YAAW,GAC3CN,EAAKuiD,iBAAmBliD,IAAGC,YAAW,GACtCN,EAAKwiD,sBAAwBniD,IAAGC,YAAW,GAC3CN,EAAKyiD,qBAAuBpiD,IAAGC,YAAW,GAC1CN,EAAK0iD,aAAeriD,IAAGwK,gBAAgB,IACvC7K,EAAK0e,QAAUre,IAAGC,aAClBN,EAAK2iD,oBAAsBtiD,IAAGC,aAC9BN,EAAK4iD,mBAAqBviD,IAAGC,aAC7BN,EAAK6iD,uBAAyBxiD,IAAGC,aACjCN,EAAK8iD,qBAAuBziD,IAAGC,aAC/BN,EAAK+iD,oBAAsB1iD,IAAGC,aAC9BN,EAAKgjD,mBAAqB3iD,IAAGC,aAC7BN,EAAKijD,sBAAwB5iD,IAAGC,aAEhCN,EAAKkjD,kBAAoB,SAAStgB,GAC9B5iC,EAAK2iD,oBAAoB/f,GACzB5iC,EAAKgjD,mBAAmB,OAC1B5jD,KAAKY,GAEPA,EAAKmjD,qBAAuB,SAASvgB,EAAa7nC,GAC9C,IAAIqoD,EAAanhD,IAAElH,EAAEuB,QAAQ6F,QAAQ,2BACrCnC,EAAK8iD,qBAAqB,IAC1B9iD,EAAKijD,sBAAsBrgB,EAAY9kC,MACvCkC,EAAKgjD,mBAAmBpgB,GAExB,IAAItgC,EAAS8gD,EAAW7gD,KAAK,SAC7BD,EAAOE,QACPF,EAAOG,UACTrD,KAAKY,GAEPA,EAAKqjD,oBAAsB,WACvB,IAAIC,EAAoBzgD,aAAEC,MAAM9C,EAAKgjD,sBACrCM,EAAkBxlD,KAAOkC,EAAKijD,wBAE9BjjD,EAAK8iD,qBAAqB,IAC1B,IAAIS,EAAuBlB,EAAwBiB,EAAkBxlD,MACjEylD,EACAvjD,EAAK8iD,qBAAqBS,IAI9BvjD,EAAKyiD,sBAAqB,GAC1Be,OAAmBrgD,OAAOmgD,GAAmBp0C,QAAO,WAChDlP,EAAKyiD,sBAAqB,MAC3BvnC,MAAK,SAAU1d,GACdwC,EAAKsb,YAAY9d,QAEvB4B,KAAKY,GAEPA,EAAKyjD,sBAAwB,WACzBzjD,EAAKgjD,mBAAmB,OAC1B5jD,KAAKY,GAEPA,EAAK0jD,uBAAyB,SAAS9gB,GACnC5iC,EAAK+iD,oBAAoBngB,IAC3BxjC,KAAKY,GAEPA,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC7B,IAAIohD,EAAmBviD,EAAKuiD,mBACxBD,EAAwBtiD,EAAKsiD,wBACjC,OAAOC,GAAoBD,KAG/BtiD,EAAKgjC,iBAAmB,SAASnkB,GAC7B,IAAI8jC,EAAsB3iD,EAAK2iD,sBAC/Ba,OAAmBxgB,iBAAiBnkB,EAAQ8jC,IAC9CvjD,KAAKY,GAEPA,EAAKmjC,sBAAwB,SAAStkB,GAClC,IAAI8jC,EAAsB3iD,EAAK2iD,sBAC/Ba,OAAmBrgB,sBAAsBtkB,EAAQ8jC,IACnDvjD,KAAKY,GAEPA,EAAK2jD,kBAAoB,WACrB,IAAI3jD,EAAOC,KACP2iC,EAAc5iC,EAAK+iD,sBACvBS,OAAmBx/C,OAAO4+B,GAAa1zB,QAAO,WAC1ClP,EAAK+iD,oBAAoB,SAC1B7nC,MAAK,SAAU1d,GACdwC,EAAKsb,YAAY9d,OAEvB4B,KAAKY,GAEPA,EAAK4jD,6BAA+BvjD,IAAGc,cAAa,WAChD,IAAIwhD,EAAsB3iD,EAAK2iD,sBAC3BjkC,EAAU1e,EAAK0e,UACnB,IAAKikC,EAAqB,MAAO,GAEjC,IAAIiB,EAA+B/gD,aAAEkM,OAAO2P,GAAS,SAASG,GAC1D,OAAOhc,aAAEkf,SAAS4gC,EAAoBhQ,UAAW9zB,EAAO1X,OAG5D,OAAOtE,aAAEof,OAAO2hC,EAA8B,WAGlD5jD,EAAK6jD,gCAAkCxjD,IAAGc,cAAa,WACnD,IAAIyiD,EAA+B5jD,EAAK4jD,+BACpCllC,EAAU1e,EAAK0e,UAEfmlC,EAAkChhD,aAAEkM,OAAO2P,GAAS,SAASG,GAC7D,OAAQhc,aAAEkf,SAAS6hC,EAA8B/kC,MAGrD,OAAOhc,aAAEof,OAAO4hC,EAAiC,WAGrD7jD,EAAK8jD,mBAAqBzjD,IAAGc,cAAa,WACtC,IAAIuhD,EAAe1iD,EAAK0iD,eACxB,OAAO7/C,aAAEof,OAAOygC,EAAc,WAGlC1iD,EAAK+jD,0BAA4BjjD,OAAO+hC,mBAAmB7hC,KAAI,SAASgjD,GACpEhkD,EAAK0iD,aAAajpD,KAAKuqD,GACvBhkD,EAAK2iD,oBAAoBqB,MAG7BhkD,EAAKikD,0BAA4BnjD,OAAOgiC,mBAAmB9hC,KAAI,SAASkjD,GACpE,IAAIC,EAAiBthD,aAAEN,KAAKvC,EAAK0iD,gBAAgB,SAAS9f,GACtD,OAAOA,EAAYz7B,KAAO+8C,EAAmB/8C,MAEjDnH,EAAK0iD,aAAar8C,QAAQ89C,EAAgBD,GAE1C,IAAIlB,EAAqBhjD,EAAKgjD,qBAC1BA,GAAsBA,EAAmB77C,KAAO+8C,EAAmB/8C,IACnEnH,EAAKgjD,mBAAmB,MAG5B,IAAIL,EAAsB3iD,EAAK2iD,sBAC3BA,GAAuBA,EAAoBx7C,KAAO+8C,EAAmB/8C,IACrEnH,EAAK2iD,oBAAoBuB,MAIjClkD,EAAKokD,0BAA4BtjD,OAAOiiC,mBAAmB/hC,KAAI,SAASqjD,GACpErkD,EAAK0iD,aAAa1+C,OAAOqgD,GACrBrkD,EAAK2iD,wBAA0B0B,GAC/BrkD,EAAK2iD,oBAAoB,SAIjC3iD,EAAKmZ,OAGTrZ,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK8jD,0BAA0BliD,SAC/B5B,KAAKgkD,0BAA0BpiD,SAC/B5B,KAAKmkD,0BAA0BviD,UAGnC/B,EAAUzG,UAAU8f,KAAO,WACvBlZ,KAAKqkD,cACLrkD,KAAKskD,oBAGTzkD,EAAUzG,UAAUirD,YAAc,WAC9B,IAAItkD,EAAOC,KACXD,EAAKuiD,kBAAiB,GACtB74B,OAAcoF,aAAa1rB,MAAK,SAASzK,GACrCqH,EAAK0e,QAAQ/lB,MACduW,QAAO,WACNlP,EAAKuiD,kBAAiB,OAI9BziD,EAAUzG,UAAUkrD,iBAAmB,WACnC,IAAIvkD,EAAOC,KACXD,EAAKsiD,uBAAsB,GAC3BkB,OAAmBx0C,SAAS5L,MAAK,SAASzK,GACtCqH,EAAK0iD,aAAa/pD,MACnBuW,QAAO,WACNlP,EAAKsiD,uBAAsB,OAInCxiD,EAAUzG,UAAUmrD,kBAAoB,WACpC,IAAIxkD,EAAOC,KACPwkD,EAAiB,CACjB3mD,KAAMkC,EAAK4iD,sBAGf5iD,EAAK6iD,uBAAuB,IAC5B,IAAIU,EAAuBlB,EAAwBoC,EAAe3mD,MAC9DylD,EACAvjD,EAAK6iD,uBAAuBU,IAIhCvjD,EAAKwiD,uBAAsB,GAC3BgB,OAAmBtkD,OAAOulD,GAAgBrhD,MAAK,WAC3CpD,EAAK4iD,mBAAmB,OACzB1zC,QAAO,WACNlP,EAAKwiD,uBAAsB,MAC5BtnC,MAAK,SAAU1d,GACdwC,EAAKsb,YAAY9d,QAIzBsC,EAAUzG,UAAUiiB,YAAc,SAAU9d,GACpCA,GAASA,EAAMoe,cAAgBpe,EAAMoe,aAAa/d,QAClDoC,KAAKzC,MAAMA,EAAMoe,aAAa/d,SAE9BoC,KAAKzC,MAAM,sBAEfsD,OAAOmpC,WAAW5nC,SAAS7E,IAGhB,QAAE6F,UAAWvD,EAAWwD,SAAUA,M,qBClOjDzI,EAAOD,QAAU,03F,mBCCjB,IAAI8B,EAAO,6OAEX7B,EAAOD,QAAU8B,G,uBCHjB7B,EAAOD,QAAU,IAA0B,yC,qBCC3C,IAAI8B,EAAO,gLAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,qmGAEX7B,EAAOD,QAAU8B,G,kCCHjB,W,qBCCA,IAAIA,EAAO,6kEAEX7B,EAAOD,QAAU8B,G,oCCHjB,IAAI8U,EAAS,WAAa,IAAIC,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAAC8yC,MAAM,CAAGC,OAAQlzC,EAAImjC,QAAQ+P,QAAU7yC,MAAM,CAAC,YAAYL,EAAImjC,QAAQgQ,OAAOx/C,GAAG,CAAC,QAAU,SAAS4M,GAAQ,OAAIA,EAAO/V,KAAKkK,QAAQ,QAAQsL,EAAIozC,GAAG7yC,EAAO8yC,QAAQ,MAAM,GAAG9yC,EAAO7S,IAAI,CAAC,MAAM,WAAoB,KAAcsS,EAAIszC,OAAOjrD,MAAM,KAAMgyB,aAAa5Z,MAAM,CAACrT,MAAO4S,EAAU,OAAEU,SAAS,SAAUC,GAAMX,EAAIuzC,OAAO5yC,GAAKE,WAAW,WAAW,CAACV,EAAG,SAAS,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQL,EAAImjC,QAAQhN,MAAM,MAAQ,GAAG,KAAO,KAAK,CAACh2B,EAAG,kBAAkB,CAACH,EAAIc,GAAG,IAAId,EAAI6B,GAAG7B,EAAIuG,OAAO,QAAQ,GAAGpG,EAAG,cAAc,CAACqzC,WAAW,CAAC,CAACnnD,KAAK,OAAOonD,QAAQ,SAASrmD,QAAS4S,EAAI5T,QAASyU,WAAW,cAAcG,YAAY,mBAAmB0yC,SAAS,CAAC,UAAY1zC,EAAI6B,GAAG7B,EAAI5T,YAAY+T,EAAG,iBAAiB,CAACa,YAAY,QAAQ,CAACb,EAAG,YAAcH,EAAImjC,QAAQwQ,UAAsM3zC,EAAIkC,KAA/L/B,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,OAAO,KAAO,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAyD,OAAjDA,EAAOmK,kBAAkBnK,EAAOjL,iBAAwB0K,EAAIszC,OAAOjrD,MAAM,KAAMgyB,cAAc,CAACra,EAAIc,GAAG,YAAqBX,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW1M,GAAG,CAAC,MAAQ,SAAS4M,GAAyD,OAAjDA,EAAOmK,kBAAkBnK,EAAOjL,iBAAwB0K,EAAI5L,QAAQ/L,MAAM,KAAMgyB,cAAc,CAACra,EAAIc,GAAG,SAAS,IAAI,IAAI,IAC7uCuB,EAAkB,G,oFC2CDuxC,EAAa,wDAAlC,iD,0BACE,EAAAL,QAAS,EAGT,EAAAnnD,QAAyB,KACzB,EAAAma,MAAuB,KACvB,EAAA48B,QAAU,CACRhN,MAAO,UACPgd,MAAO,IACPD,OAAQ,IACRS,WAAW,GAVf,EAAkC,2CAahC,SAAKptC,EAAena,EAAiB+2C,GAAgB,WAKnD,OAJA30C,KAAK+kD,QAAS,EACd/kD,KAAK+X,MAAQA,EACb/X,KAAKpC,QAAUA,EACfoC,KAAK20C,QAAUx7C,OAAOwc,OAAO3V,KAAK20C,QAASA,GACpC,IAAI15C,SAAQ,SAACC,EAASC,GAC3B,EAAKD,QAAUA,EACf,EAAKC,OAASA,OApBc,qBAwBhC,WACE6E,KAAK9E,SAAQ,GACb8E,KAAK+kD,QAAS,IA1BgB,oBA6BhC,WACE/kD,KAAK9E,SAAQ,GACb8E,KAAK+kD,QAAS,MA/BgB,GAAS71C,QAAtBk2C,EAAa,gBADjCnvC,QACoBmvC,WC5CmX,I,qHCOpYhvC,EAAY,eACd,EACA7E,EACAsC,GACA,EACA,KACA,KACA,MAIa,OAAAuC,EAAiB,QAYhC,IAAkBA,EAAW,CAACC,OAAA,KAAKC,QAAA,KAAMC,aAAA,OAAaC,UAAA,OAAUC,UAAA,KAAQI,UAAA,KAAQE,WAAA,KAASC,cAAA,U,mBC7BzF,IAAIva,EAAO,iLAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,ujCAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,g9BAEX7B,EAAOD,QAAU8B,G,oCCHjB,4BAGI4oD,EAAgB,aAIpBA,EAAcjsD,UAAUoF,IAAM,SAAS8F,GACnC,OAAOsY,OAAIpe,IAAI,YAAc8F,IAGjC+gD,EAAcjsD,UAAUy1B,WAAa,WACjC,IAAI9pB,EAAMsK,OAAMgd,QAAQ,mBAAqB,oBAAsB,WACnE,OAAOzP,OAAIpe,IAAIuG,IAGnBsgD,EAAcjsD,UAAUksD,mBAAqB,WACzC,OAAO1oC,OAAIpe,IAAI,sBAGnB6mD,EAAcjsD,UAAUmsD,kBAAoB,SAAUr+C,EAAIs+C,GACxD,IAAMC,EAAY,CAChBA,UAAWD,GAEb,OAAO5oC,OAAIK,IAAI,YAAc/V,EAAK,SAAUu+C,IAG9CJ,EAAcjsD,UAAUssD,aAAe,SAAU9mC,GAC/C,OAAOhC,OAAIK,IAAJ,mBAAoB2B,EAAO1X,IAAM0X,IAG1CymC,EAAcjsD,UAAUswB,iBAAmB,SAAUxiB,GACnD,OAAO0V,OAAIpe,IAAI,WAAa0I,EAAK,aAGpB,WAAIm+C,G,8CClCnB,IAAI5oD,EAAO,ypLAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIA,EAAO,2qCAEX7B,EAAOD,QAAU8B,G,uBCHjB7B,EAAOD,QAAU,IAA0B,6C,qBCC3C,IAAI8B,EAAO,ylBAEX7B,EAAOD,QAAU8B,G,uBCHjB7B,EAAOD,QAAU,IAA0B,iC,oCCA3C,W,mBCCA,IAAI8B,EAAO,ogBAEX7B,EAAOD,QAAU8B,G,qBCFjB,IAAIu8B,EAA2C,EAAQ,QACnDC,EAA6B,EAAQ,QAErCQ,EAAkCT,EAAyCC,GAC3Ex8B,EAAO,4sFAAuxFg9B,EAAkC,muBAEp0F7+B,EAAOD,QAAU8B,G,qBCNjB,IAAIu8B,EAA2C,EAAQ,QACnDC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QACrCC,EAA6B,EAAQ,QAErCG,EAAkCT,EAAyCC,GAC3ES,EAAkCV,EAAyCE,GAC3ES,EAAkCX,EAAyCG,GAC3ES,EAAkCZ,EAAyCI,GAC3ES,EAAkCb,EAAyCK,GAC3ES,EAAkCd,EAAyCM,GAC3E78B,EAAO,2iBAAwkBg9B,EAAkC,wHAA8HC,EAAkC,0HAAgIC,EAAkC,0HAAgIC,EAAkC,gIAAsIC,EAAkC,2IAAiJC,EAAkC,sHAEp7Cl/B,EAAOD,QAAU8B,G,kCCjBjB,yBAEe,QACP+5B,iBAAkB,IAAImvB,IAAQC,OAC9Bj4C,YAAa,IAAIg4C,IAAQC,OACzBx4C,aAAc,IAAIu4C,IAAQC,OAC1BC,kBAAmB,IAAIF,IAAQC,OAC/BE,oBAAqB,IAAIH,IAAQC,OACjCG,UAAW,IAAIJ,IAAQC,OACvBI,WAAY,IAAIL,IAAQC,OACxBK,YAAa,IAAIN,IAAQC,OACzBxI,aAAc,IAAIuI,IAAQC,OAC1BvI,aAAc,IAAIsI,IAAQC,OAC1BtI,aAAc,IAAIqI,IAAQC,OAC1BM,iBAAkB,IAAIP,IAAQC,OAC9BO,iBAAkB,IAAIR,IAAQC,OAC9BQ,iBAAkB,IAAIT,IAAQC,OAC9BS,kBAAmB,IAAIV,IAAQC,OAC/BU,mBAAoB,IAAIX,IAAQC,OAChCW,eAAgB,IAAIZ,IAAQC,OAC5BY,cAAe,IAAIb,IAAQC,OAC3Ba,iBAAkB,IAAId,IAAQC,OAC9B7J,cAAe,IAAI4J,IAAQC,OAC3BzJ,4BAA6B,IAAIwJ,IAAQC,OACzC3J,iBAAkB,IAAI0J,IAAQC,OAC9BtJ,cAAe,IAAIqJ,IAAQC,OAC3BhK,kBAAmB,IAAI+J,IAAQC,OAC/BppB,YAAa,IAAImpB,IAAQC,OACzBlpB,aAAc,IAAIipB,IAAQC,OAC1Bc,iBAAkB,IAAIf,IAAQC,OAC9Be,gCAAiC,IAAIhB,IAAQC,OAC7C1I,gCAAiC,IAAIyI,IAAQC,OAC7CgB,iCAAkC,IAAIjB,IAAQC,OAC9CiB,kCAAmC,IAAIlB,IAAQC,OAC/CxY,cAAe,IAAIuY,IAAQC,OAC3BkB,cAAe,IAAInB,IAAQC,OAC3B9kD,qBAAsB,IAAI6kD,IAAQC,OAClCzjD,kBAAmB,IAAIwjD,IAAQC,OAC/BljD,gBAAiB,IAAIijD,IAAQC,OAC7B5oC,mBAAoB,IAAI2oC,IAAQC,OAChClpC,mBAAoB,IAAIipC,IAAQC,OAChCpoC,mBAAoB,IAAImoC,IAAQC,OAChCmB,yBAA0B,IAAIpB,IAAQC,OACtCxW,8BAA+B,IAAIuW,IAAQC,OAC3CoB,gBAAiB,IAAIrB,IAAQC,OAC7BqB,wBAAyB,IAAItB,IAAQC,OACrCsB,yBAA0B,IAAIvB,IAAQC,OACtCuB,yBAA0B,IAAIxB,IAAQC,OACtCwB,0BAA2B,IAAIzB,IAAQC,OACvC1X,kBAAmB,IAAIyX,IAAQC,OAC/ByB,gBAAiB,IAAI1B,IAAQC,OAC7B0B,WAAY,IAAI3B,IAAQC,OACxBvgD,mBAAoB,IAAIsgD,IAAQC,OAChC2B,uBAAwB,IAAI5B,IAAQC,OACpC4B,6BAA8B,IAAI7B,IAAQC,OAC1C6B,6BAA8B,IAAI9B,IAAQC,OAC1C8B,6BAA8B,IAAI/B,IAAQC,OAC1C+B,2BAA4B,IAAIhC,IAAQC,OACxCgC,uBAAwB,IAAIjC,IAAQC,OACpChjB,mBAAoB,IAAI+iB,IAAQC,OAChC/iB,mBAAoB,IAAI8iB,IAAQC,OAChC9iB,mBAAoB,IAAI6iB,IAAQC,OAChC1jC,oBAAqB,IAAIyjC,IAAQC,OACjCiC,uBAAwB,IAAIlC,IAAQC,OACpCtjC,cAAe,IAAIqjC,IAAQC,OAC3BkC,WAAY,IAAInC,IAAQC,OACxBmC,YAAa,IAAIpC,IAAQC,OACzBoC,cAAe,IAAIrC,IAAQC,OAC3BqC,YAAa,IAAItC,IAAQC,OACzBsC,cAAe,IAAIvC,IAAQC,OAC3BuC,iBAAkB,IAAIxC,IAAQC,OAC9BwC,iBAAkB,IAAIzC,IAAQC,OAC9ByC,iBAAkB,IAAI1C,IAAQC,OAC9Brc,qBAAsB,IAAIoc,IAAQC,OAClChc,sBAAuB,IAAI+b,IAAQC,OACnClc,wBAAyB,IAAIic,IAAQC,OACrC9b,wBAAyB,IAAI6b,IAAQC,OACrC7c,2BAA4B,IAAI4c,IAAQC,OACxC5c,2BAA4B,IAAI2c,IAAQC,OACxC1c,2BAA4B,IAAIyc,IAAQC,OACxCnrC,QAAS,IAAIkrC,IAAQC,OACrBrrC,SAAU,IAAIorC,IAAQC,OACtB/qC,WAAY,IAAI8qC,IAAQC,OACxBzrC,SAAU,IAAIwrC,IAAQC,OACtBjrC,iBAAkB,IAAIgrC,IAAQC,OAC9BxsC,cAAe,IAAIusC,IAAQC,OAC3BxqC,oBAAqB,IAAIuqC,IAAQC,OACjCzqC,0BAA2B,IAAIwqC,IAAQC,OACvCrsC,cAAe,IAAIosC,IAAQC,OAC3BhsC,cAAe,IAAI+rC,IAAQC,OAC3BrqC,aAAc,IAAIoqC,IAAQC,OAC1B95C,QAAS,IAAI65C,IAAQC,OACrBr3C,SAAU,IAAIo3C,IAAQC,OACtB94C,mBAAoB,IAAI64C,IAAQC,OAChC0C,iBAAkB,IAAI3C,IAAQC,OAC9B2C,cAAe,IAAI5C,IAAQC,OAC3B4C,YAAa,IAAI7C,IAAQC,OACzB6C,UAAW,IAAI9C,IAAQC,OACvB8C,YAAa,IAAI/C,IAAQC,OACzB5b,WAAY,IAAI2b,IAAQC,OACxB+C,gBAAiB,IAAIhD,IAAQC,OAC7BgD,uBAAwB,IAAIjD,IAAQC,S,mBCpG5C,IAAInpD,EAAO,gYAEX7B,EAAOD,QAAU8B,G,yKCIX0U,EAAO,wDAAb,iD,0BACU,EAAAkpC,QAAiC,KACjC,EAAAwO,UAAoC,KAF9C,EAAa,2CAKX,WACE,OAAO7oD,KAAKq6C,UANH,oBASX,WACE,OAAOr6C,KAAK6oD,YAVH,oFAeJ,WAAoB9+B,GAApB,gHAEoBm1B,OAAcC,YAAYp1B,GAF9C,OAEG++B,EAFH,OAGH9oD,KAAKse,QAAQC,OAAO,eAAgBuqC,GAHjC,yDAKI,CAAElrD,QAAS,2BAA4BL,MAAK,MALhD,yDAfI,mJAyBJ,WAAyBwsB,GAAzB,0GAEUm1B,OAAcE,iBAAiBr1B,GAFzC,iFAII,CAAEnsB,QAAS,iCAAkCL,MAAK,MAJtD,wDAzBI,4IAkCJ,WAAkBwsB,GAAlB,gHAEkBm1B,OAAcG,UAAUt1B,GAF1C,OAEGlpB,EAFH,OAGHb,KAAKse,QAAQC,OAAO,aAAc1d,GAH/B,yDAKI,CAAEjD,QAAS,yBAA0BL,MAAK,MAL9C,yDAlCI,kFA6CJ,SAAWsD,GAChBb,KAAKq6C,QAAUx5C,IA9CN,0BAkDJ,SAAaioD,GAClB9oD,KAAK6oD,UAAYC,MAnDR,GAAShqC,QAepBlJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCASArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gCAWArJ,gBADCmJ,QACD,+BAKAnJ,gBADCmJ,QACD,iCAlDI5N,EAAO,gBADZ+N,eAAO,CAAEC,YAAY,EAAMthB,KAAM,aAC5BsT,GAuDSA,U,mBC7Df,IAAI1U,EAAO,wkCAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,iWAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,2jFAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,6/GAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,0dAEX7B,EAAOD,QAAU8B,G,kCCHjB,gBAEIssD,EAAkC,aAItCA,EAAgC3vD,UAAUoF,IAAM,SAAU8F,GACtD,OAAOsY,OAAIpe,IAAI,8BAAgC8F,IAGpC,WAAIykD,G,uICAnB,SAASlpD,EAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKipD,aAAe5oD,IAAGC,WAAW4oD,OAAUC,SAAS9oD,IAAG+oD,OAAOrpD,EAAO0nB,WAAY,MAClFznB,EAAKqpD,WAAatpD,EAAOspD,WACzBrpD,EAAKspD,aAAejpD,IAAGC,aACvBN,EAAKupD,SAAWlpD,IAAGC,YAAW,GAC9BN,EAAKwpD,YAAcnpD,IAAGC,YAAW,GACjCN,EAAKypD,aAAe,GAEhB1pD,EAAO2pD,UACP1pD,EAAKspD,aAAajpD,IAAG+oD,OAAOrpD,EAAO2pD,WAEvC1pD,EAAK2pD,WAAa,SAAUhxD,GACxBqH,EAAKspD,aAAa3wD,EAAKi0B,SACvB5sB,EAAKqpD,WAAW1wD,EAAKi0B,QAAQzlB,IAC7BnH,EAAK4pD,aAGT5pD,EAAK6pD,iBAAmBxpD,IAAGc,cAAa,WACpC,OAAInB,EAAKspD,eACEtpD,EAAKspD,eAAexrD,KACxB,WACRmC,MAEHD,EAAK4pD,UAAY,WACb5pD,EAAKupD,UAAS,GACdvpD,EAAKwpD,aAAY,IAGrBxpD,EAAK8pD,WAAa,SAAUnxD,EAAMyD,GAC1B4D,EAAKupD,YACLvpD,EAAKupD,UAAS,GACdvpD,EAAKwpD,aAAY,KAEjBxpD,EAAKupD,UAAS,GACdvpD,EAAK+pD,aAAa3tD,KAK1B4D,EAAK+pD,aAAe,SAAU3tD,GAC1B,IAAI4tD,EAAQ/nD,EAAE7F,EAAME,QAAQ2tD,OACxBC,EAAaF,EAAMG,SACnBC,EAAenoD,EAAEtC,QAAQwqD,SAAWnqD,EAAKypD,aACzCY,EAAMjuD,EAAMkuD,QACZn8C,EAAO/R,EAAMmuD,QAAU,EAG3B,GAAInuD,EAAMkuD,QAAUJ,EAAaE,EAAc,CAC3C,IAAII,EAAcpuD,EAAMkuD,QAAUJ,EAAcE,EAChDC,EAAOjuD,EAAMkuD,QAAUE,EAG3B,IAAIC,EAAS,CACTJ,IAAKA,EAAM,KACXl8C,KAAMA,EAAO,MAGjB67C,EAAMU,IAAID,GAEVzqD,EAAKwpD,aAAY,IAKrBxpD,EAAK2qD,gBAAkB,SAAUhyD,EAAMyD,GACnC,IAAIwuD,EAAM3oD,EAAE7F,EAAME,QAAQiG,KAAM,qBAAsBsoD,QACtD,GAAKD,EAAIzxD,OAAT,CAGA,IAAIixD,EAAenoD,EAAEtC,QAAQwqD,SACzBW,EAAc7oD,EAAEtC,QAAQilD,QACxBmG,EAAOH,EAAI,GAAGI,wBACdC,EAAkBb,EAAoC,EAApBpqD,EAAKypD,aACvCyB,EAAkBd,EAAepqD,EAAKypD,aAI1C,GAAIsB,EAAK58C,KAAO48C,EAAKnG,MAAQkG,EAAa,CACtC,IAAIL,EAAS,CACTp8C,MAAM,OACNF,KAAM,SAEVy8C,EAAIF,IAAID,GAKZ,GAAIM,EAAKZ,OAASc,EAAiB,CAC/B,IAAIE,EAAQnrD,EAAKypD,aAAesB,EAAKV,IACjCA,EAAMO,EAAIQ,WAAWf,IAAMc,EAC3BV,EAAS,CACTN,OAAQc,EAAkB,MAI9B,OAFAL,EAAIS,WAAWX,IAAID,QACnBG,EAAIF,IAAI,MAAOL,EAAM,MAKzB,GAAIU,EAAKO,OAASJ,EAAlB,CACQC,EAAQJ,EAAKO,OAASJ,EACtBb,EAAOO,EAAIQ,WAAWf,IAAMc,EAChCP,EAAIF,IAAI,MAAOL,EAAM,cAMlB,QAAEhnD,UAAWvD,EAAWwD,SAAUA,O,2CCvHjDzI,EAAOD,QAAU,IAA0B,4C,mBCC3C,IAAI8B,EAAO,4uGAEX7B,EAAOD,QAAU8B,G,qBCHjB7B,EAAOD,QAAU,IAA0B,qC,mBCC3C,IAAI8B,EAAO,+vEAEX7B,EAAOD,QAAU8B,G,mBCHjB7B,EAAOD,QAAU,8kB,qBCAjBC,EAAOD,QAAU,IAA0B,+B,mBCA3CC,EAAOD,QAAU,ssB,kCCAjB,kDAEc,SAAUuK,IACtB,IAAMomD,EAAa1kC,OAAMyF,QAAQ,uBACjC,OAAIi/B,EACK,CAAEC,cAAe,UAAYD,GAE7B,K,sKCLPE,EAAwB,aAG5BA,EAAsBpyD,UAAUqyD,4BAA8B,SAASC,GACnE,OAAO9uC,OAAIpe,IAAI,iCAAmCktD,IAGtDF,EAAsBpyD,UAAUuyD,mBAAqB,SAAUrnD,EAAU2P,EAAUE,GAC/E,IAAIrF,EAAS,CACTxK,SAAUA,EACV2P,SAAUA,EACVE,OAAQA,GAEZ,OAAOyI,OAAIpe,IAAI,wBAAyBsQ,IAG5C08C,EAAsBpyD,UAAUwyD,uBAAyB,SAAUtnD,GAC/D,OAAOsY,OAAIpe,IAAI,2BAA6B8F,IAGjC,UAAIknD,E,qBCfbt7C,EAAgB,wDAAtB,iD,0BAEU,EAAA27C,kBAAuC,GAFjD,EAAsB,2DAKb,SAAqBC,GAC1B9rD,KAAK6rD,kBAAkBryD,KAAKsyD,KANV,yFAWb,WAAyBC,GAAzB,kGACCznD,EAAWynD,EAAMntC,OAAO1X,GACxB8kD,EAAWD,EAAMC,SAEnBtzD,EAAOsH,KAAK6rD,kBAAkBvpD,MAChC,SAAAwpD,GAAe,OAAIA,EAAgBxnD,WAAaA,KAG7C5L,EARA,wBASGyb,EAAS5S,IAAOwqD,EAAMntC,OAAOqtC,gBAC7Bh4C,EAAWE,EAAOtR,QAAQ6S,SAASs2C,EAAU,QAVhD,kBAcwBR,EAAsBG,mBAC3CrnD,EACA2P,EAASvL,OAAO,0BAChByL,EAAOzL,OAAO,2BAjBjB,wBAmBCpE,EAnBD,KAoBC0nD,EAPFtzD,EAbC,CAcCozD,gBAdD,KAmBCxnD,SAnBD,KAoBC0nD,SApBD,2DAuBDtzD,EAAO,CACLozD,gBAAiB,GACjBxnD,WACA0nD,YAGFxsD,QAAQulB,KAAM,KAAYxI,YA7BzB,QAgCHvc,KAAKse,QAAQC,OAAO,uBAAwB7lB,GAhCzC,iCAmCEA,GAnCF,0DAXa,uJAkDb,WAA6B4L,GAA7B,0GAEUknD,EAAsBI,uBAAuBtnD,GAFvD,oGAIIrJ,QAAQE,OAAR,wDAJJ,wDAlDa,4JA2Db,WAAkCuwD,GAAlC,gHAEoCF,EAAsBC,4BAA4BC,GAFtF,cAEGQ,EAFH,yBAGIA,GAHJ,4DAKIjxD,QAAQE,OAAR,wEALJ,yDA3Da,sFAoEpB,WACE,OAAO6E,KAAK6rD,sBArEM,GAAS/sC,QAK7BlJ,gBADCmJ,QACD,yCAMAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAuCArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2CASArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gDA3DI/O,EAAgB,gBADrBgP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,sBAC5BqS,GAyESA,U,mBC/Ef,IAAIzT,EAAO,s3GAEX7B,EAAOD,QAAU8B,G,4HCHb8U,EAAS,WAAa,IAAIC,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACa,YAAY,kBAAkBX,MAAM,CAAC,MAAQ,GAAG,cAAc,KAAK,CAACF,EAAG,SAAS,CAACa,YAAY,qBAAqBX,MAAM,CAAC,YAAY,QAAQ,MAAQ,SAAS,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,IAAM,EAAQ,QAA6D,OAAS,SAAWL,EAAI26C,eAA46D36C,EAAIkC,KAAh6D/B,EAAG,SAAS,CAACa,YAAY,OAAOX,MAAM,CAAC,GAAK,cAAc1M,GAAG,CAAC,OAAS,SAAS4M,GAAgC,OAAxBA,EAAOjL,iBAAwB0K,EAAI46C,YAAYvyD,MAAM,KAAMgyB,aAAa5Z,MAAM,CAACrT,MAAO4S,EAAc,WAAEU,SAAS,SAAUC,GAAMX,EAAI66C,WAAWl6C,GAAKE,WAAW,eAAe,CAACV,EAAG,cAAc,CAACA,EAAG,eAAe,CAAC26C,MAAM,CAAE,sBAAuB96C,EAAI+6C,sBAAuB16C,MAAM,CAAC,MAAQ,WAAW,KAAO,WAAW,eAAe,cAAc,MAAQ,CAACL,EAAIg7C,cAAc12C,UAAU,KAAO,SAAS7D,MAAM,CAACrT,MAAO4S,EAAIqH,KAAa,SAAE3G,SAAS,SAAUC,GAAMX,EAAIi7C,KAAKj7C,EAAIqH,KAAM,WAAY1G,IAAME,WAAW,mBAAmBV,EAAG,eAAe,CAAC26C,MAAM,CAAE,sBAAuB96C,EAAIk7C,sBAAuB76C,MAAM,CAAC,MAAQ,WAAW,KAAO,WAAW,eAAe,WAAW,cAAcL,EAAIm7C,aAAe,UAAY,cAAc,MAAQ,CAACn7C,EAAIo7C,cAAc92C,UAAU,KAAOtE,EAAIm7C,aAAe,OAAS,YAAYxnD,GAAG,CAAC,eAAe,SAAS4M,GAAQP,EAAIm7C,cAAgBn7C,EAAIm7C,eAAe16C,MAAM,CAACrT,MAAO4S,EAAIqH,KAAa,SAAE3G,SAAS,SAAUC,GAAMX,EAAIi7C,KAAKj7C,EAAIqH,KAAM,WAAY1G,IAAME,WAAW,mBAAmBV,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,QAAQ,MAAQ,cAAc,eAAe,gBAAgBI,MAAM,CAACrT,MAAO4S,EAAIqH,KAAY,QAAE3G,SAAS,SAAUC,GAAMX,EAAIi7C,KAAKj7C,EAAIqH,KAAM,UAAW1G,IAAME,WAAW,kBAAmBb,EAAW,QAAEG,EAAG,UAAU,CAACa,YAAY,YAAYX,MAAM,CAAC,SAAW,GAAG,KAAO,QAAQ,MAAQ,GAAG,OAAS,SAAS,CAACL,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAI5T,SAAS,OAAO4T,EAAIkC,MAAM,GAAG/B,EAAG,iBAAiB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACa,YAAY,eAAe,CAACb,EAAG,MAAM,CAACa,YAAY,QAAQ,CAACb,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,KAAO,aAAa,MAAQ,UAAU,MAAQ,GAAG,QAAUL,EAAI6+B,QAAQ,UAAY7+B,EAAI66C,aAAa,CAAC76C,EAAIc,GAAG,cAAc,GAAGX,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,MAAQ,GAAG,KAAO,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQP,EAAI26C,gBAAiB,KAAQ,CAAC36C,EAAIc,GAAG,uBAAuB,IAAI,IAAI,IAAI,GAAad,EAAkB,eAAEG,EAAG,SAAS,CAACa,YAAY,OAAOX,MAAM,CAAC,GAAK,wBAAwB1M,GAAG,CAAC,OAAS,SAAS4M,GAAgC,OAAxBA,EAAOjL,iBAAwB0K,EAAIq7C,qBAAqBhzD,MAAM,KAAMgyB,aAAa5Z,MAAM,CAACrT,MAAO4S,EAAsB,mBAAEU,SAAS,SAAUC,GAAMX,EAAIs7C,mBAAmB36C,GAAKE,WAAW,uBAAuB,CAACV,EAAG,cAAc,CAACA,EAAG,eAAe,CAACa,YAAY,4BAA4B,CAAChB,EAAIc,GAAG,qBAAqBX,EAAG,kBAAkB,CAACa,YAAY,eAAe,CAAChB,EAAIc,GAAG,0EAA0EX,EAAG,eAAe,CAACa,YAAY,OAAOX,MAAM,CAAC,MAAQ,QAAQ,KAAO,WAAW,eAAe,YAAY,MAAQ,CAACL,EAAIu7C,WAAWj3C,SAAUtE,EAAIu7C,WAAWC,OAAO,KAAO,QAAQ/6C,MAAM,CAACrT,MAAO4S,EAAuB,oBAAEU,SAAS,SAAUC,GAAMX,EAAIy7C,oBAAoB96C,GAAKE,WAAW,yBAA0Bb,EAAkB,eAAEG,EAAG,UAAU,CAACE,MAAM,CAAC,SAAW,GAAG,KAAOL,EAAI07C,wBAAwB,MAAQ,GAAG,OAAS,SAAS,CAAC17C,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAI27C,wBAAwB,OAAO37C,EAAIkC,MAAM,GAAG/B,EAAG,iBAAiB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACa,YAAY,eAAe,CAACb,EAAG,MAAM,CAACa,YAAY,QAAQ,CAACb,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,KAAO,uBAAuB,MAAQ,UAAU,MAAQ,GAAG,QAAUL,EAAI47C,gBAAgB,UAAY57C,EAAIs7C,qBAAqB,CAACt7C,EAAIc,GAAG,sBAAsB,GAAGX,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,MAAQ,GAAG,KAAO,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQP,EAAI26C,gBAAiB,KAAS,CAACx6C,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACL,EAAIc,GAAG,sBAAsBd,EAAIc,GAAG,oBAAoB,IAAI,IAAI,IAAI,IAAI,GAAGd,EAAIkC,MAAM,IAAI,IAC15HG,EAAkB,G,sHC4JhBvE,EAAOoX,eAAUwpB,OAAYtpB,QAGdymC,EAAK,wDAA1B,iD,0BAEE,EAAAx0C,KAAkB,CAAEwL,SAAU,GAAIC,SAAU,GAAI2B,SAAS,GAEzD,EAAAomC,YAAa,EAEb,EAAAS,oBAAqB,EAErB,EAAAzc,SAAU,EAEV,EAAAzyC,QAAU,GAEV,EAAA+uD,cAAe,EAEf,EAAAR,gBAAiB,EAEjB,EAAAc,oBAAsB,GAEtB,EAAAK,gBAAiB,EAEjB,EAAAF,iBAAkB,EAElB,EAAAF,wBAA0B,UAE1B,EAAAC,uBAAyB,GACzB,EAAAZ,sBAAuB,EACvB,EAAAG,sBAAuB,EAEvB,EAAAF,cAAgB,CACd12C,SAAU,SAAClX,GAAD,QAAqBA,GAAS,sBAE1C,EAAAmuD,WAAa,CACXj3C,SAAU,SAAClX,GAAD,QAAqBA,GAAS,kBACxCouD,MAAO,SAACpuD,GAAD,MAAmB,4CAA4Ck1B,KAAKl1B,IAAU,wBAEvF,EAAAguD,cAAgB,CACd92C,SAAU,SAAClX,GAAD,QAAqBA,GAAS,sBApC5C,EAA0B,+CAuCxB,WACE,OAAO0Q,EAAKi+C,aAxCU,qBA2CxB,WAEMvtD,KAAKutD,YACPvtD,KAAKwtD,QAAQh0D,KAAK,KAAKi0D,OAAM,SAAAlwD,SA9CT,yBAkDxB,WAAW,WACTyC,KAAKqwC,SAAU,EACfrwC,KAAKpC,QAAU,GACXoC,KAAK6Y,KAAKwL,UAAYrkB,KAAK6Y,KAAKyL,UAClChV,EAAK0W,MAAMhmB,KAAK6Y,MAAM/b,MACpB,SAAApE,GAEE,EAAK80D,QAAQh0D,KAAK,KAAKi0D,OAAM,SAAAlwD,UAE/B,SAAAA,GACE,EAAK8yC,SAAU,EACf,EAAKzyC,QAAUL,OA7DC,kCAmExB,WAAoB,WAClByC,KAAKmtD,uBAAyB,GAC9BntD,KAAKktD,wBAA0B,UAC/BltD,KAAKstD,gBAAiB,EACtBttD,KAAKotD,iBAAkB,EACvB99C,EAAK4W,aAAalmB,KAAKitD,qBAAqBnwD,MAC1C,SAAAwI,GACE,EAAK6nD,uBAAyB7nD,EAC9B,EAAKgoD,gBAAiB,EACtB,EAAKF,iBAAkB,KAEzB,SAAA7vD,GACE,EAAK2vD,wBAA0B,QAC/B,EAAKC,uBAAyB5vD,EAAMoe,aACpC,EAAK2xC,gBAAiB,EACtB,EAAKF,iBAAkB,OAlFL,mCAuFxB,WAAqB,WACnBrvD,YAAW,WACT,IAAM2vD,EAAgBnyD,SAASoyD,cAAc,wCACvCC,EAAgBryD,SAASoyD,cAAc,2CACzCD,IAAe,EAAKnB,sBAAuB,GAC3CqB,IAAe,EAAKlB,sBAAuB,GAC/C,EAAKL,YAAa,IACjB,OA9FmB,qBAiGxB,WACErsD,KAAK6tD,4BAlGiB,GAAS3+C,QAAdm+C,EAAK,gBADzBp3C,QACoBo3C,WChK6X,I,6LCQ9Yj3C,EAAY,eACd,EACA7E,EACAsC,GACA,EACA,KACA,WACA,MAIa,EAAAuC,EAAiB,QAmBhC,IAAkBA,EAAW,CAAC03C,SAAA,KAAOz3C,OAAA,KAAKC,QAAA,KAAMC,aAAA,OAAaw3C,cAAA,OAAcv3C,UAAA,OAAUw3C,WAAA,OAAWC,YAAA,KAAUC,OAAA,KAAKC,aAAA,KAAWC,QAAA,KAAM13C,QAAA,KAAM23C,OAAA,KAAKC,OAAA,KAAKx3C,aAAA,OCtChJ,IAAI,EAAS,WAAa,IAAItF,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACa,YAAY,kBAAkBX,MAAM,CAAC,MAAQ,GAAG,cAAc,KAAK,CAAGL,EAAI+8C,eAAsqF/8C,EAAIkC,KAA1pF/B,EAAG,SAAS,CAACa,YAAY,qBAAqBX,MAAM,CAAC,YAAY,QAAQ,MAAQ,SAAS,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,IAAM,EAAQ,WAAgEF,EAAG,SAAS,CAACa,YAAY,OAAOX,MAAM,CAAC,SAAWL,EAAIg9C,WAAW,GAAK,uBAAuBrpD,GAAG,CAAC,OAAS,SAAS4M,GAAgC,OAAxBA,EAAOjL,iBAAwB0K,EAAIi9C,oBAAoB50D,MAAM,KAAMgyB,aAAa5Z,MAAM,CAACrT,MAAO4S,EAAe,YAAEU,SAAS,SAAUC,GAAMX,EAAIk9C,YAAYv8C,GAAKE,WAAW,gBAAgB,CAACV,EAAG,cAAc,CAACA,EAAG,eAAe,CAACa,YAAY,4BAA4B,CAAChB,EAAIc,GAAG,yBAAyBX,EAAG,kBAAkB,CAACa,YAAY,eAAe,CAAChB,EAAIc,GAAG,6BAA6Bd,EAAI6B,GAAG7B,EAAIm9C,uBAAuB,iBAAmBn9C,EAAIo9C,iBAAq+Bp9C,EAAIkC,KAAv9B,CAAC/B,EAAG,eAAe,CAACa,YAAY,OAAOX,MAAM,CAAC,MAAQ,uBAAuB,KAAOoiB,KAAK46B,SAAS,aAAe,eAAe,eAAe,gBAAgB,cAAcr9C,EAAIm7C,aAAe,UAAY,cAAc,MAAQ,CAACn7C,EAAIo7C,cAAc92C,SAAUtE,EAAIo7C,cAAcI,OAAO,KAAOx7C,EAAIm7C,aAAe,OAAS,WAAW,KAAO,oBAAsBn7C,EAAIm9C,sBAAwB,eAAexpD,GAAG,CAAC,eAAe,SAAS4M,GAAQP,EAAIm7C,cAAgBn7C,EAAIm7C,eAAe16C,MAAM,CAACrT,MAAO4S,EAAImb,QAAgB,SAAEza,SAAS,SAAUC,GAAMX,EAAIi7C,KAAKj7C,EAAImb,QAAS,WAAYxa,IAAME,WAAW,sBAAsBV,EAAG,eAAe,CAACa,YAAY,OAAOX,MAAM,CAAC,MAAQ,mBAAmB,KAAOoiB,KAAK46B,SAAS,aAAe,sBAAsB,eAAer9C,EAAIs9C,mBAAqB,iBAAmB,oBAAoB,KAAO,WAAW,MAAQ,CAACt9C,EAAIu9C,iBAAiB98C,MAAM,CAACrT,MAAO4S,EAAkB,eAAEU,SAAS,SAAUC,GAAMX,EAAIw9C,eAAe78C,GAAKE,WAAW,qBAA+Bb,EAAa,UAAEG,EAAG,UAAU,CAACE,MAAM,CAAC,SAAW,GAAG,KAAOL,EAAIy9C,UAAU,MAAQ,GAAG,OAAS,SAAS,CAAoB,UAAlBz9C,EAAIy9C,UAAuB,CAACt9C,EAAG,MAAM,CAACa,YAAY,SAAS,CAAChB,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAI09C,cAAcn3C,UAAUpG,EAAG,KAAKH,EAAI29C,GAAI39C,EAAI09C,cAAsB,UAAE,SAAStxD,EAAQsgB,GAAO,OAAOvM,EAAG,KAAK,CAACzS,IAAIgf,GAAO,CAAC1M,EAAIc,GAAG,IAAId,EAAI6B,GAAGzV,GAAS,UAAS,IAAI,CAAC4T,EAAIc,GAAG,IAAId,EAAI6B,GAAG7B,EAAIlM,UAAU,OAAO,GAAGkM,EAAIkC,MAAM,GAAG/B,EAAG,iBAAiB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,SAAS,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACa,YAAY,eAAe,CAACb,EAAG,MAAM,CAACa,YAAY,QAAQ,CAAGhB,EAAIo9C,iBAAmMp9C,EAAIkC,KAArL/B,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,KAAO,sBAAsB,MAAQ,UAAU,MAAQ,GAAG,QAAUL,EAAIg9C,WAAW,UAAYh9C,EAAIk9C,cAAc,CAACl9C,EAAIc,GAAG,sBAA+B,GAAGX,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,MAAQ,GAAG,KAAO,GAAG,KAAO,GAAG,GAAK,WAAW,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACL,EAAIc,GAAG,sBAAsBd,EAAIc,GAAG,oBAAoB,IAAI,IAAI,IAAI,IAAI,IAAI,GAAad,EAAkB,eAAEG,EAAG,SAAS,CAACa,YAAY,UAAUX,MAAM,CAAC,YAAY,QAAQ,MAAQ,SAAS,CAACF,EAAG,UAAU,CAACa,YAAY,OAAOX,MAAM,CAAC,KAAO,UAAU,CAACL,EAAIc,GAAG,6JAA6J,GAAGd,EAAIkC,MAAM,IACvrG,EAAkB,G,YCiIhBpE,EAAOoX,eAAUwpB,OAAYtpB,QAGdwoC,EAAa,wDAAlC,iD,0BAEE,EAAAziC,QAA6B,CAAEtI,SAAU,GAAI+B,MAAO,GAAI9B,SAAU,IAElE,EAAAqqC,sBAAwB,EAExB,EAAAD,aAAc,EAEd,EAAAH,gBAAiB,EAEjB,EAAA5B,cAAe,EAEf,EAAAqC,eAAiB,GAEjB,EAAAK,WAAY,EAEZ,EAAAb,YAAa,EAEb,EAAAI,kBAAmB,EAEnB,EAAAK,UAAY,UAEZ,EAAA3pD,SAAW,GAGX,EAAAsnD,cAAgB,CACd92C,SAAU,SAAClX,GAAD,QAAqBA,GAAS,qBACxCouD,MAAO,SAACpuD,GAAD,OAAmBA,EAAM1F,QAAU,EAAKy1D,uBAArB,oCAA2E,EAAKA,sBAAhF,iBA3B9B,EAAkC,mDA+BhC,WACE,OAAO3uD,KAAK8uD,oBAAsB,sBAhCJ,8BAmChC,WACE,OAAO9uD,KAAKgvD,iBAAmBhvD,KAAK2sB,QAAQrI,WApCd,qBAuChC,WACE,IAAMyF,EAAQ/pB,KAAKsvD,OAAOvlC,MACrBA,EAAM1F,UAAa0F,EAAM3D,OAI9BpmB,KAAK2sB,QAAQtI,SAAWkrC,OAAOxlC,EAAM1F,UACrCrkB,KAAK2sB,QAAQvG,MAAQmpC,OAAOxlC,EAAM3D,QAJhCpmB,KAAKuuD,gBAAiB,IA1CM,iCAiDhC,WAAmB,WACjBvuD,KAAKsF,SAAW,GAChBtF,KAAKivD,UAAY,UACjBjvD,KAAKqvD,WAAY,EACjBrvD,KAAKwuD,YAAa,EAClBl/C,EAAK6W,cAAcnmB,KAAK2sB,SAAS7vB,MAC/B,SAAAwI,GACE,EAAKA,SAAWA,EAChB,EAAK+pD,WAAY,EACjB,EAAKb,YAAa,EAClB,EAAKI,kBAAmB,KAE1B,SAAArxD,GACE,EAAK0xD,UAAY,QACjB,EAAKC,cAAgBtzC,OAAU4zC,YAAYjyD,GAC3C,EAAK8xD,WAAY,EACjB,EAAKb,YAAa,SAjEQ,GAASt/C,QAAtBkgD,EAAa,gBADjCn5C,QACoBm5C,WCrIqY,ICQtZ,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,OAIa,IAAiB,QAkBhC,IAAkB,EAAW,CAACtB,SAAA,KAAOz3C,OAAA,KAAKC,QAAA,KAAMC,aAAA,OAAaw3C,cAAA,OAAcv3C,UAAA,OAAUw3C,WAAA,OAAWE,OAAA,KAAKC,aAAA,KAAWC,QAAA,KAAM13C,QAAA,KAAM23C,OAAA,KAAKC,OAAA,KAAKx3C,aAAA,O,gBC5BhIxH,EAAOoX,eAAUwpB,OAAY7gC,QAC7BM,EAAO+W,eAAUypB,OAAY9gC,QAEnCH,aAAIC,IAAIsgD,QAER,IAAMC,EAA6B,CACjC,CACEzzC,KAAM,SACNpe,KAAM,QACNo5B,KAAM,CACJlf,MAAO,SAET3B,UAAWi3C,GAEb,CACEpxC,KAAM,yBACNpe,KAAM,gBACNo5B,KAAM,CACJlf,MAAO,kBAET3B,UAAWg5C,GAEb,CACEnzC,KAAM,IACNpe,KAAM,YACNo5B,KAAM,CACJlf,MAAO,aAET3B,UAAW,kBAAM,mIAEnB,CACE6F,KAAM,kBACNpe,KAAM,iBACNo5B,KAAM,CACJlf,MAAO,mBAET3B,UAAW,kBAAM,6GAEnB,CACE6F,KAAM,QACN7F,UAAW,kBAAM,iDACjBg1C,SAAU,CACR,CAAEnvC,KAAM,GAAI0zC,SAAU,CAAE9xD,KAAM,mBAC9B,CAAEoe,KAAM,iBAAkBpe,KAAM,iBAAkBo5B,KAAM,CAAElf,MAAO,0BAA4B3B,UAAW,kBAAM,kDAC9G,CAAE6F,KAAM,iBAAkBgb,KAAM,CAAElf,MAAO,0BAA4B3B,UAAW,kBAAM,kDACtF,CAAE6F,KAAM,MAAOgb,KAAM,CAAElf,MAAO,cAAgB3B,UAAW,kBAAM,kDAC/D,CAAE6F,KAAM,QAASgb,KAAM,CAAElf,MAAO,gBAAkB3B,UAAW,kBAAM,kDACnE,CAAE6F,KAAM,cAAegb,KAAM,CAAElf,MAAO,sBAAwB3B,UAAW,kBAAM,kDAC/E,CAAE6F,KAAM,UAAWgb,KAAM,CAAElf,MAAO,kBAAoB3B,UAAW,kBAAM,kDACvE,CAAE6F,KAAM,eAAgBgb,KAAM,CAAElf,MAAO,wBAA0B3B,UAAW,kBAAM,uFAClF,CAAE6F,KAAM,gBAAiBgb,KAAM,CAAElf,MAAO,wBAA0B3B,UAAW,kBAAM,kDACnF,CAAE6F,KAAM,iBAAkBgb,KAAM,CAAElf,MAAO,0BAA4B3B,UAAW,kBAAM,kDACtF,CAAE6F,KAAM,MAAOgb,KAAM,CAAElf,MAAO,cAAgB3B,UAAW,kBAAM,oDAGnE,CACE6F,KAAM,gCACN7F,UAAW,kBAAM,iDACjBg1C,SAAU,CACR,CAAEnvC,KAAM,GAAI0zC,SAAU,CAAE9xD,KAAM,SAC9B,CAAEoe,KAAM,OAAQpe,KAAM,OAAQo5B,KAAM,CAAE24B,SAAU,OAAQ73C,MAAO,OAAQ83C,OAAQ,UAAYz5C,UAAW,kBAAM,uFAC5G,CAAE6F,KAAM,QAASpe,KAAM,QAASo5B,KAAM,CAAE24B,SAAU,QAAS73C,MAAO,QAAS83C,OAAQ,UAAYz5C,UAAW,kBAAM,kDAChH,CAAE6F,KAAM,cAAepe,KAAM,cAAeo5B,KAAM,CAAE24B,SAAU,YAAa73C,MAAO,YAAa83C,OAAQ,UAAYz5C,UAAW,kBAAM,uFACpI,CAAE6F,KAAM,SAAUpe,KAAM,SAAUo5B,KAAM,CAAE24B,SAAU,UAAW73C,MAAO,SAAU83C,OAAQ,UAAYz5C,UAAW,kBAAM,uFACrH,CAAE6F,KAAM,UAAWpe,KAAM,UAAWo5B,KAAM,CAAE24B,SAAU,eAAgB73C,MAAO,eAAgB83C,OAAQ,UAAYz5C,UAAW,kBAAM,mIAClI,CAAE6F,KAAM,iBAAkBpe,KAAM,iBAAkBo5B,KAAM,CAAE24B,SAAU,kBAAmB73C,MAAO,kBAAmB83C,OAAQ,UAAYz5C,UAAW,kBAAM,kDACtJ,CAAE6F,KAAM,YAAape,KAAM,YAAao5B,KAAM,CAAE24B,SAAU,aAAc73C,MAAO,aAAc83C,OAAQ,UAAYz5C,UAAW,kBAAM,kDAClI,CAAE6F,KAAM,cAAepe,KAAM,cAAeo5B,KAAM,CAAE24B,SAAU,cAAe73C,MAAO,cAAe83C,OAAQ,UAAYz5C,UAAW,kBAAM,mIACxI,CAAE6F,KAAM,UAAWpe,KAAM,UAAWo5B,KAAM,CAAE24B,SAAU,UAAW73C,MAAO,UAAW83C,OAAQ,UAAYz5C,UAAW,kBAAM,yJACxH,CAAE6F,KAAM,iBAAkBpe,KAAM,iBAAkBo5B,KAAM,CAAE24B,SAAU,kBAAmB73C,MAAO,kBAAmB83C,OAAQ,UAAYz5C,UAAW,kBAAM,kDACtJ,CAAE6F,KAAM,eAAgBpe,KAAM,eAAgBo5B,KAAM,CAAE24B,SAAU,gBAAiB73C,MAAO,gBAAiB83C,OAAQ,UAAYz5C,UAAW,kBAAM,kDAC9I,CAAE6F,KAAM,eAAgBpe,KAAM,eAAgBo5B,KAAM,CAAE24B,SAAU,gBAAiB73C,MAAO,gBAAiB83C,OAAQ,UAAYz5C,UAAW,kBAAM,oDAGlJ,CACE6F,KAAM,SACNpe,KAAM,QACNo5B,KAAM,CACJlf,MAAO,SAET3B,UAAW,kBAAM,kDAEnB,CACE6F,KAAM,aACNpe,KAAM,YACNo5B,KAAM,CACJlf,MAAO,WAET3B,UAAW,kBAAM,uFAEnB,CACE6F,KAAM,WACNpe,KAAM,UACNo5B,KAAM,CACJlf,MAAO,WAET3B,UAAW,kBAAM,kDAEnB,CACE6F,KAAM,wBACNpe,KAAM,uBACNo5B,KAAM,CACJlf,MAAO,yBAET3B,UAAW,kBAAM,kDAEnB,CACE6F,KAAM,gBACNpe,KAAM,eACNo5B,KAAM,CACJlf,MAAO,iBAET3B,UAAW,kBAAM,kDAEnB,CACE6F,KAAM,uBACNpe,KAAM,sBACNo5B,KAAM,CACJlf,MAAO,yBAET3B,UAAW,kBAAM,kDAEnB,CACE6F,KAAM,gBACNpe,KAAM,eACNo5B,KAAM,CACJlf,MAAO,iBAET3B,UAAW,kBAAM,kDAEnB,CACE6F,KAAM,YACNpe,KAAM,WACNo5B,KAAM,CACJlf,MAAO,YAET3B,UAAW,kBAAM,kDAEnB,CACE6F,KAAM,gBACNpe,KAAM,eACNo5B,KAAM,CACJlf,MAAO,gBAET3B,UAAW,kBAAM,uFAEnB,CACE6F,KAAM,mBACNpe,KAAM,kBACNo5B,KAAM,CACJlf,MAAO,iBAET3B,UAAW,kBAAM,mIAEnB,CACE6F,KAAM,mCACNpe,KAAM,kBACNo5B,KAAM,CACJlf,MAAO,oBAET3B,UAAW,kBAAM,6GAEnB,CACE6F,KAAM,SACNpe,KAAM,QACNo5B,KAAM,CACJlf,MAAO,SAET3B,UAAW,kBAAM,kDAEnB,CACE6F,KAAM,YACNpe,KAAM,WACNo5B,KAAM,CACJlf,MAAO,YAET3B,UAAW,kBAAM,iDACjB05C,YAPF,SAOcznC,EAAIF,EAAM6hC,GAChBr6C,EAAKogD,WACP/F,IAEAA,EAAK,OAIX,CACE/tC,KAAM,IACNpe,KAAM,WACNo5B,KAAM,CACJlf,MAAO,aAET3B,UAAW,kBAAM,mDAIf2F,EAAS,IAAI0zC,OAAU,CAC3B3wD,KAAM,UACNkxD,KAAMhrD,IACN0qD,SACAO,eAJ2B,SAIZ5nC,EAAIF,EAAM+nC,GACvB,OAAIA,GAGK,CAAExsC,EAAG,EAAG+xB,EAAG,MAKxB15B,EAAOo0C,YAAW,SAAC9nC,EAAIF,EAAM6hC,GAC3B,IAAMoG,EAAc,CAAC,SAAU,0BACzBC,GAAgBD,EAAYj7C,SAASkT,EAAGpM,MAI9C,OAAIo0C,IAAiB/gD,EAAKi+C,WACjBvD,EAAK,UAEHqG,GAAgB1gD,EAAK2gD,iBAC9B3gD,EAAKihC,UAAU9zC,MAAK,WAClB,OAAI6S,EAAKogD,YAA0B,aAAZ1nC,EAAGxqB,KACjBmsD,EAAK,aAELA,OAGRyD,OAAM,eACA99C,EAAKogD,YAA0B,aAAZ1nC,EAAGxqB,KACxBmsD,EAAK,aAELA,OAIXjuC,EAAOw0C,WAAU,SAACloC,EAAIF,GAAQ,MAGrB,EAFiB,YAApB,UAAAE,EAAG4O,YAAH,eAAS44B,QACXt0D,SAASwc,MAAQsQ,EAAG4O,KAAKlf,MAAQ,MAAQsQ,EAAGvoB,OAAO0J,WAAa,qBAEhEjO,SAASwc,OAAQ,UAAAsQ,EAAG4O,YAAH,eAASlf,OAAQ,wBAIvBgE,U,8GCxPTy0C,EAA0BnS,EAAQ,QAClCoS,EAA0BpS,EAAQ,QAClCqS,EAAwBrS,EAAQ,QAChCsS,EAAsCtS,EAAQ,QAC9CuS,EAAiCvS,EAAQ,QACzCwS,EAAiCxS,EAAQ,QACzCyS,EAAiCzS,EAAQ,QACzC0S,EAAgC1S,EAAQ,QAGxCztC,EAAW,wDAAjB,iD,0BACU,EAAAogD,SAAuB,CAC7Bn+B,YAAa,UACbxvB,SAAU,gBACV4tD,aAAc,GACdC,cAAe,GACf1xC,KAAM,qBACN2xC,UAAU,EACVC,YAAa,GACbC,OAAQ,CACN,iHAEFC,aAAa,EACbC,SAAS,GAGH,EAAAC,iBAA+B,CACrC3+B,YAAa,sBACbxvB,SAAU,mBACVouD,YAAa,kBACbR,aAAc,GACdC,cAAe,EACf1xC,KAAM,cACN2xC,UAAU,EACVC,YACE,4mBACFC,OAAQ,CAACb,GACTc,aAAa,EACbC,SAAS,GAGH,EAAAG,iBAA+B,CACrC7+B,YAAa,sBACbxvB,SAAU,mBACVouD,YAAa,kBACbR,aAAc,GACdC,cAAe,EACf1xC,KAAM,gBACN2xC,UAAU,EACVC,YACE,kkBACFC,OAAQ,CAACZ,GACTa,aAAa,EACbC,SAAS,GAGH,EAAAzc,KAAmB,CACzBjiB,YAAa,aACbxvB,SAAU,YACV4tD,aAAc,EACdC,cAAe,EACf1xC,KAAM,SACN2xC,UAAU,EACVC,YACE,2dACFC,OAAQ,CAACX,GACTY,aAAa,EACbC,SAAS,GAGH,EAAAI,mBAAiC,CACvC9+B,YAAa,qBACbxvB,SAAU,0BACV4tD,aAAc,EACdC,cAAe,EACf1xC,KAAM,YACN2xC,UAAU,EACVC,YACE,4aACFC,OAAQ,CAACV,GACTW,aAAa,EACbC,SAAS,GAGH,EAAAK,cAA4B,CAClC/+B,YAAa,gBACbxvB,SAAU,qBACV4tD,aAAc,EACdC,cAAe,EACf1xC,KAAM,sCACN2xC,UAAU,EACVC,YACE,kaACFC,OAAQ,CAACT,GACTU,aAAa,EACbC,SAAS,GAGH,EAAAM,WAAyB,CAC/Bh/B,YAAa,mCACbxvB,SAAU,YACV4tD,aAAc,EACdC,cAAe,EACf1xC,KAAM,kBACN2xC,UAAU,EACVC,YACE,qbACFC,OAAQ,CAACR,EAAgCC,GACzCQ,aAAa,EACbC,SAAS,GAGH,EAAAO,iBAA+B,CACrCj/B,YAAa,mBACbxvB,SAAU,wBACV4tD,aAAc,GACdC,cAAe,EACf1xC,KAAM,YACN2xC,UAAU,EACVC,YACE,uQACFC,OAAQ,CAACN,GACTO,aAAa,EACbC,SAAS,GAGH,EAAAQ,YAA4B,CAClC,EAAKP,iBACL,EAAKE,iBACL,EAAK5c,KACL,EAAK6c,mBACL,EAAKC,cACL,EAAKC,WACL,EAAKC,kBA3HT,EAAiB,0DA8Hf,WAAgC,WAC9B,OAAO,SAAC5qD,GACN,OAAQA,GACN,IAAK,gBACH,OAAO,EAAK8pD,SACd,IAAK,kBACH,OAAO,EAAKQ,iBACd,IAAK,kBACH,OAAO,EAAKE,iBACd,IAAK,YACH,OAAO,EAAK5c,KACd,IAAK,0BACH,OAAO,EAAK6c,mBACd,IAAK,qBACH,OAAO,EAAKC,cACd,IAAK,YACH,OAAO,EAAKC,WACd,IAAK,wBACH,OAAO,EAAKC,qBAhJL,mBAqJf,WACE,OAAO9xD,KAAKgxD,WAtJC,2BAyJf,WACE,OAAOhxD,KAAKwxD,mBA1JC,2BA6Jf,WACE,OAAOxxD,KAAK0xD,mBA9JC,eAiKf,WACE,OAAO1xD,KAAK80C,OAlKC,6BAqKf,WACE,OAAO90C,KAAK2xD,qBAtKC,wBAyKf,WACE,OAAO3xD,KAAK4xD,gBA1KC,qBA6Kf,WACE,OAAO5xD,KAAK6xD,aA9KC,sBAiLf,WACE,OAAO7xD,KAAK+xD,cAlLC,2BAqLf,WACE,OAAO/xD,KAAK8xD,qBAtLC,GAAShzC,QAApBlO,EAAW,gBADhBsO,eAAO,CAAEC,YAAY,EAAMthB,KAAM,iBAC5B+S,GA0LSA,U,kIC1Kf,SAASs4C,EAAUpgB,EAAOkpB,GAIxB,IAAIC,EAAcrvD,aAAE0jC,KAAKwC,GAAO,SAAApvB,GAAI,OAAIA,EAAK7b,QAO7C,OAHA+E,aAAEuuB,QAAQ8gC,GAAa,SAASv4C,GAC9BA,EAAKw4C,OAASx4C,EAAK7b,KAAK21B,WAAW,IAAK,IAAIprB,MAAM4pD,MAE7CG,EAAkBF,GAI3B,SAASE,EAAmBrpB,GAC1B,IAAIspB,EAAUxvD,aAAE6d,QAAQqoB,GAAO,SAASpvB,GACtC,GAAIA,EAAKw4C,OAAOh5D,OAAS,EACvB,OAAOwgB,EAAKw4C,OAAOv4D,WAGnBI,EAAS6I,aAAEoM,IAAIojD,GAAS,SAAShH,EAAUvtD,GAC7C,GAAIutD,EAASlyD,OAAS,EAAG,CACvB,IAAIm5D,EAAYF,EAAkB/G,GAClC,MAAO,CACLvtD,KAAMA,EACNutD,SAAUiH,GAEP,MAAO,CACZx0D,KAAMA,EACN8uB,QAASy+B,EAAS,OAGtB,OAAOrxD,EAGM,QACbmvD,SAAU,SAASxwD,EAAMs5D,GACvB,OAAO9I,EAASxwD,EAAMs5D,M,sEChEtBv5B,EAAqB,aAIzBA,EAAmBr/B,UAAUkJ,KAAO,WAElC,OAAOsa,OAAIpe,IAAI,kBAGjBi6B,EAAmBr/B,UAAUskB,IAAM,SAAUkb,GAC3C,OAAOhc,OAAIG,KAAK,gBAAiB6b,IAGnCH,EAAmBr/B,UAAUs/B,WAAa,WACxC,OAAO9b,OAAIpe,IAAI,4BAGjBi6B,EAAmBr/B,UAAUo/B,WAAa,SAAU85B,GAClD,OAAO11C,OAAIG,KAAK,2BAA4Bu1C,IAG9C75B,EAAmBr/B,UAAUy/B,kBAAoB,SAAU05B,GACzD,OAAO31C,OAAIW,IAAI,iBAAmBg1C,IAGpC95B,EAAmBr/B,UAAU2/B,UAAY,SAAUH,GACjD,OAAOhc,OAAIG,KAAK,sCAAuC6b,IAGzDH,EAAmBr/B,UAAUo5D,oBAAsB,SAAUtrD,GAC3D,OAAO0V,OAAIK,IAAI,cAAgB/V,IAGjCuxB,EAAmBr/B,UAAUq5D,wBAA0B,SAAUC,GAC/D,OAAO91C,OAAIG,KAAK,aAAc21C,IAGjB,WAAIj6B,G,0GClCfk6B,EAAqB,aAIzBA,EAAmBv5D,UAAU43B,QAAU,SAAU1sB,EAAUsuD,EAAUC,GAA8B,IAAlBC,EAAkB,wDAC3F/tD,EAAMsK,OAAMgd,QAAQ,mBAAqB,yBAA2B,sBACnEhd,OAAMgd,QAAQ,oBAAsBymC,IACvC/tD,EAAM,0BAER,IAAI+J,EAAS,CACTxK,SAAUA,GAUd,OAPIsuD,IACA9jD,EAAO8jD,SAAWA,GAItB9jD,EAAO+jD,WAAcjwD,aAAE2C,YAAYstD,GAA2B,GAAbA,EAE1Cj2C,OAAIpe,IAAIuG,EAAK+J,GACjB3L,MAAK,SAACqkB,GACL,IAAIvsB,SAAQ,SAACC,GACX,IAAI63D,EAAWC,OAAkBrvC,6BAA6B6D,GAE9DA,EAAU2J,SAAQ,SAAApc,GACdA,EAAS,eAAiBi+C,OAAkB5vC,6BAA6BrO,EAAUg+C,MAGvF73D,EAAQssB,UAKlBmrC,EAAmBv5D,UAAU65D,0BAA4B,SAAU3uD,EAAUsuD,GACzE,OAAO5yD,KAAKgxB,QAAQ1sB,EAAUsuD,GAAU,GAAM,IAGlDD,EAAmBv5D,UAAU85D,kCAAoC,SAAS5uD,EAAUsuD,GAChF,OAAO5yD,KAAKgxB,QAAQ1sB,EAAUsuD,GAAU,GAAM,IAGlDD,EAAmBv5D,UAAU+5D,0BAA4B,SAAU7uD,GAC/D,OAAOtE,KAAKizD,0BAA0B3uD,EAAU,iBAGpDquD,EAAmBv5D,UAAUg6D,mBAAqB,SAAU9uD,GACxD,OAAOtE,KAAKizD,0BAA0B3uD,EAAU,UAGpDquD,EAAmBv5D,UAAUggD,qBAAuB,SAAU90C,GAC1D,OAAOsY,OAAIpe,IAAI,iBAAmB8F,EAAW,cAGjDquD,EAAmBv5D,UAAUi6D,wBAA0B,SAAU3gB,GAC7D,IAAI5jC,EAAS,CACT4jC,UAAWA,GAGf,OAAO91B,OAAIpe,IAAI,iBAAkBsQ,IAGrC6jD,EAAmBv5D,UAAU63B,2BAA6B,SAAU3sB,GAChE,IAAIwK,EAAS,CACTxK,SAAUA,GAGd,OAAOsY,OAAIpe,IAAI,qBAAsBsQ,IAGzC6jD,EAAmBv5D,UAAUg4B,iCAAmC,SAAU9sB,GACtE,IAAIwK,EAAS,CACTxK,SAAUA,GAGd,OAAOsY,OAAIpe,IAAI,2BAA4BsQ,IAGhC,WAAI6jD,G,mBClFnB,IAAIl2D,EAAO,60JAEX7B,EAAOD,QAAU8B,G,kCCHjB,W,iMCWM62D,EAA0B,gIAC1BC,EAA4B,iFAElC,SAAS1zD,IACL,IAAIE,EAAOC,KA4IX,SAASwzD,EAAU7pC,EAAMjV,EAAO++C,GAK5B,OAJA9pC,EAAOC,OAAOD,GACdjV,EAAQkV,OAAOlV,GACf++C,EAAU7pC,OAAO6pC,GAEF,GAAP9pC,EAAY,GAAe,GAARjV,EAAc++C,EAhJ7C1zD,EAAK8mB,cAAgBxX,OAAMgd,QAAQ,yBAEnCtsB,EAAK+mB,eAAgB,EACrB/mB,EAAKgnB,iBAAkB,EACvBhnB,EAAKinB,cAAe,EACpBjnB,EAAKknB,YAAa,EAElBlnB,EAAKonB,gBAAkB/mB,IAAGC,YAAW,GACrCN,EAAKmnB,mBAAqB9mB,IAAGC,YAAW,GACxCN,EAAKqnB,iBAAmBhnB,IAAGC,YAAW,GACtCN,EAAKwpB,YAAcnpB,IAAGC,YAAW,GACjCN,EAAKunB,2BAA6BlnB,IAAGC,YAAW,GAChDN,EAAKsnB,6BAA+BjnB,IAAGC,YAAW,GAClDN,EAAK2zD,0BAA4BtzD,IAAGC,YAAW,GAC/CN,EAAK4zD,4BAA8BvzD,IAAGC,YAAW,GACjDN,EAAKwnB,YAAcnnB,IAAGC,YAAW,GAEjCN,EAAKynB,UAAYpnB,IAAGwK,gBAAgB,IAEpC7K,EAAK0nB,kBAAoBrnB,IAAGC,aAC5BN,EAAKke,OAAS7d,IAAGC,aACjBN,EAAK2nB,mBAAqBtnB,IAAGC,aAC7BN,EAAK4nB,SAAWvnB,IAAGC,aACnBN,EAAK6zD,UAAYxzD,IAAGC,aACpBN,EAAK8zD,YAAczzD,IAAGC,aACtBN,EAAKkU,SAAW7T,IAAGC,aACnBN,EAAKoU,OAAS/T,IAAGC,aACjBN,EAAK+zD,SAAW1zD,IAAGC,aACnBN,EAAKg0D,OAAS3zD,IAAGC,aACjBN,EAAK8nB,QAAUznB,IAAGC,aAClBN,EAAKi0D,qBAAuB5zD,IAAGC,aAC/BN,EAAKosB,aAAe/rB,IAAGC,aACvBN,EAAKqsB,eAAiBhsB,IAAGC,aAEzBN,EAAK6nB,sBAAwBxnB,IAAGC,aAChCN,EAAKk0D,qBAAuB7zD,IAAGC,aAE/BN,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC7B,OAAOnB,EAAKonB,mBAAqBpnB,EAAKqnB,oBAAsBrnB,EAAKmnB,wBAGrEnnB,EAAK+nB,WAAa1nB,IAAGc,cAAc,WAC/B,GAAInB,EAAK8nB,UAAU3uB,OAAS,EAAG,OAAO,KAEtC,IAAK,IAAIF,EAAI+G,EAAK8nB,UAAU3uB,OAAS,EAAGF,EAAI,EAAGA,IAC3C,GAAoC,wBAAhC+G,EAAK8nB,UAAU7uB,GAAG+uB,WAAqE,wBAA9BhoB,EAAK8nB,UAAU7uB,GAAGgvB,QAC3E,OAAOjoB,EAAK8nB,UAAU7uB,GAI9B,OAAO,QAGX+G,EAAK0oB,iBAAmB,SAAUC,EAAcC,GAC5C5oB,EAAKkU,SAAS1S,IAAOmnB,GAAchgB,OAAO,kBAC1C3I,EAAK+zD,SAASvyD,IAAOmnB,GAAchgB,OAAO,UAC1C3I,EAAKoU,OAAO5S,IAAOonB,GAAYjgB,OAAO,kBACtC3I,EAAKg0D,OAAOxyD,IAAOonB,GAAYjgB,OAAO,UACtC3I,EAAK2nB,mBAAmB,aAExB3nB,EAAK6oB,UAGT7oB,EAAK6oB,OAAS,WACV,IAAInB,EAAoB1nB,EAAK0nB,oBACzBoB,EAAUpB,EAAkBqB,OAAOrB,EAAkBvuB,OAAS,GAC9D+kB,EAASle,EAAKke,SAEF,MAAZ4K,IACApB,EAAoBA,EAAkB7nB,MAAM,GAAI,IAGpDqe,EAAOwO,eAAiBhF,EACxBxJ,EAAOyK,aAAenoB,OAAWyC,oBAAoBjD,EAAKkU,WAAYlU,EAAK+zD,YAC3E71C,EAAO0K,WAAapoB,OAAWyC,oBAAoBjD,EAAKoU,SAAUpU,EAAKg0D,UACvE91C,EAAO8K,eAAiBhpB,EAAK4nB,WAC7B1J,EAAOi2C,gBAAkBn0D,EAAK6zD,YAC9B31C,EAAOk2C,kBAAoBp0D,EAAK8zD,cAChC51C,EAAO+K,sBAAwBjpB,EAAK2nB,qBACpCzJ,EAAOm2C,aAAer0D,EAAKi0D,uBAC3B/1C,EAAO6J,WAAa/nB,EAAK+nB,aACzB7J,EAAOkO,aAAepsB,EAAKosB,eAC3BlO,EAAOmO,eAAiBrsB,EAAKqsB,iBAE7BrsB,EAAKsnB,8BAA6B,GAElCtnB,EAAKmpB,SAASjL,GAEdo2C,OAAmCnxD,OAAO+a,GAAQ9a,MAAK,WACnDpD,EAAKunB,4BAA2B,MACjCrM,MAAK,WACJlb,EAAKunB,4BAA2B,MACjCrY,QAAO,WACNlP,EAAKsnB,8BAA6B,OAI1CtnB,EAAKopB,cAAgB/oB,IAAGc,cAAa,WACjC,MAAoC,MAA7BnB,EAAK0nB,sBAAgC1nB,EAAK6nB,0BAA4B7nB,EAAKk0D,wBAA0Bl0D,EAAKsnB,gCAC1GtnB,EAAKwnB,iBAGhBxnB,EAAKqpB,qCAAuChpB,IAAGc,cAAa,WACxD,MAAoC,MAA7BnB,EAAK0nB,uBAGhB1nB,EAAKkoB,sBAAwB7nB,IAAGc,cAAa,WACzC,IAAIozD,EAAU/yD,IAAOC,IAAIzB,EAAK8mB,cAAc0tC,gBACxCC,EAAUjzD,IAAOC,IAAIzB,EAAK8mB,cAAc4tC,gBAExCC,EAAaF,EAAQlsC,KAAKgsC,EAAS,WAEnCpsC,EAAe,EAEnB,GAAkC,cAA9BnoB,EAAK2nB,qBACLQ,EAAewsC,OACZ,GAAkC,eAA9B30D,EAAK2nB,qBAAuC,CACnD,IAAIS,EAAO5nB,OAAWa,YAAYb,OAAW6nB,0BAA0BroB,EAAK+nB,aAAaC,YACrFM,EAAK9nB,OAAWa,YAAYb,OAAW6nB,0BAA0BroB,EAAK+nB,aAAaE,UAEvFE,EAAeG,EAAGC,KAAKH,EAAM,gBAC1B,GAAkC,eAA9BpoB,EAAK2nB,qBACZQ,EAAesrC,EAAUzzD,EAAK4nB,WAAY5nB,EAAK6zD,YAAa7zD,EAAK8zD,oBAC9D,GAAkC,cAA9B9zD,EAAK2nB,qBAAsC,CAC9CS,EAAO5nB,OAAWa,YAAYrB,EAAKkU,WAAYlU,EAAK+zD,YACpDzrC,EAAK9nB,OAAWa,YAAYrB,EAAKoU,SAAUpU,EAAKg0D,UAEpD7rC,EAAeG,EAAGC,KAAKH,EAAM,WASjC,OANID,GAAgB,EAChBnoB,EAAKwnB,aAAY,GAEjBxnB,EAAKwnB,aAAY,GAGdW,KAWXmsC,OAAmC7qC,cAAczpB,EAAK8mB,cAAc3f,IAAI/D,MAAK,SAAUzK,GACnFqH,EAAKke,OAAOvlB,GAEZqH,EAAK0nB,kBAAkB/uB,EAAK+zB,gBAC5B1sB,EAAKi0D,qBAAqBt7D,EAAK07D,cAE/Br0D,EAAK2nB,mBAAmBhvB,EAAKswB,uBAC7BjpB,EAAK4nB,SAASjvB,EAAKqwB,gBACnBhpB,EAAK6zD,UAAUl7D,EAAKw7D,iBACpBn0D,EAAK8zD,YAAYn7D,EAAKy7D,mBACtBp0D,EAAKosB,aAAazzB,EAAKyzB,cACvBpsB,EAAKqsB,eAAe1zB,EAAK0zB,gBAEzBrsB,EAAKkU,SAAS1T,OAAWC,sBAAsB9H,EAAKgwB,eACpD3oB,EAAKoU,OAAO5T,OAAWC,sBAAsB9H,EAAKiwB,aAClD5oB,EAAK+zD,SAASvzD,OAAWI,sBAAsBjI,EAAKgwB,eACpD3oB,EAAKg0D,OAAOxzD,OAAWI,sBAAsBjI,EAAKiwB,gBACnD1N,MAAK,WACJlb,EAAKwpB,aAAY,MAClBta,QAAO,WACNlP,EAAKonB,iBAAgB,MAGzB4J,OAAmBmiC,kCAAkCnzD,EAAK8mB,cAAc3f,IAAI/D,MAAK,SAAUzK,GACvFqH,EAAKynB,UAAU9uB,MAChBuiB,MAAK,WACJlb,EAAKwpB,aAAY,MAClBta,QAAO,WACNlP,EAAKmnB,oBAAmB,MAG5BuC,OAAcC,iBAAiB3pB,EAAK8mB,cAAc3f,IAAI/D,MAAK,SAAUzK,GACjEqH,EAAK8nB,QAAQnvB,MACduiB,MAAK,WACJlb,EAAKwpB,aAAY,MAClBta,QAAO,WACNlP,EAAKqnB,kBAAiB,MAI9BvnB,EAAUzG,UAAUu7D,0BAA4B,SAAS7yD,EAAIhH,GACzD,IAAI44D,EAA4B1zD,KAAK0zD,4BACrC,GAAKA,EAKD1zD,KAAK0zD,2BAA0B,GAC/B7yD,OAAOuM,aAAahL,eANQ,CAC5B,IAAI+B,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM0lD,EAAyBzlD,QAAQ,EAAM+mD,gBAAiB,SAAWzwD,GACvHnE,KAAK0zD,2BAA0B,KAOvC7zD,EAAUzG,UAAUy7D,4BAA8B,SAAS/yD,EAAIhH,GAC3D,IAAI64D,EAA8B3zD,KAAK2zD,8BACvC,GAAKA,EAKD3zD,KAAK2zD,6BAA4B,GACjC9yD,OAAOuM,aAAahL,eANU,CAC9B,IAAI+B,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM2lD,EAA2B1lD,QAAQ,EAAM+mD,gBAAiB,SAAWzwD,GACzHnE,KAAK2zD,6BAA4B,KAOzC9zD,EAAUzG,UAAU07D,aAAe,YAC3B90D,KAAK0zD,6BAA+B1zD,KAAK2zD,iCACzC3zD,KAAK0zD,2BAA0B,GAC/B1zD,KAAK2zD,6BAA4B,GACjC9yD,OAAOuM,aAAahL,aAI5BvC,EAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,EAAWwD,SAAUA,M,0EC7OhD,SAAS0xD,GACR,aACuD,WAAnB,EAAOp6D,IAA0C,WAAlB,EAAOC,GAE1Em6D,EAAQ1W,EAAQ,QAAa1jD,IAG7Bq6D,EAAO,CAAC,UAAY,GAAd,sEAPP,EAYC,SAAS50D,EAAIzF,GACb,aACEyF,EAAG60D,UAAUC,OAAS,SAAU74D,EAAQ84D,GACpC,IAAIC,EAAYD,GAAY,IACxBE,EAAiB9wC,aAAaU,QAAQ,sBACtCowC,IACAD,EAAYC,GAEhB,IAAIC,EAAel1D,EAAGC,WAAW,GAEjChE,EAAO+4D,UAAYh1D,EAAGC,WAAW+0D,GAEjC/4D,EAAO+4D,UAAU9zC,WAAU,SAASi0C,GAChChxC,aAAaoB,QAAQ,qBAAsB4vC,GAC3Cl5D,EAAOm5D,eAEXn5D,EAAOo5D,WAAar1D,EAAGwK,gBAAgB,CAAC,GAAI,GAAI,IAAK,MAErDvO,EAAO84D,SAAW/0D,EAAGsY,SAAS,CAC1B4mB,KAAMjjC,EAAO+4D,UACb11B,MAAO,SAAU61B,GACTA,EAAW,EACXl5D,EAAO+4D,UAAUG,GAGjBl5D,EAAO+4D,UAAU,OAK7B/4D,EAAOq5D,YAAct1D,EAAGsY,SAAS,CAC7B4mB,KAAMg2B,EACN51B,MAAO,SAAU61B,GACTA,EAAWl5D,EAAOs5D,YAClBL,EAAaj5D,EAAOs5D,aAGpBL,EADKC,GAAY,EACJ,EAGAA,MAKzBl5D,EAAOs5D,UAAYv1D,EAAGsY,UAAS,WAC3B,OAAOub,KAAK2hC,KAAKv5D,IAASnD,OAASmD,EAAO84D,aAAe,KAG7D94D,EAAOw5D,gBAAkBz1D,EAAGsY,UAAS,WACjC,IAAIy8C,EAAW94D,EAAO+4D,YAClBU,EAAYR,IACZS,EAAaZ,GAAYW,EAAY,GACrCE,EAAWb,EAAWW,EAE1B,OAAOz5D,IAASuD,MAAMm2D,EAAYC,MAGtC35D,EAAOm5D,UAAY,WACfn5D,EAAOq5D,YAAY,IAEvBr5D,EAAO45D,aAAe,WAClB55D,EAAOq5D,YAAYr5D,EAAOq5D,cAAgB,IAE9Cr5D,EAAO65D,SAAW,WACd75D,EAAOq5D,YAAYr5D,EAAOq5D,cAAgB,IAE9Cr5D,EAAO85D,SAAW,WACd95D,EAAOq5D,YAAYr5D,EAAOs5D,oB,oMC1EtC,SAASS,EAAuCC,GAC5C,IAAIC,EAAmC,UACvC,GAAI1zD,aAAE2zD,SAASF,EAAgBG,+BAC3B,OAAOF,EAEX,OAAQD,EAAgBI,uBACpB,IAAK,UACD,MAAO,UACX,IAAK,SACD,OAAOH,EACX,IAAK,aACD,MAAO,UACX,IAAK,iBACD,MAAO,UACX,QACI,MAAO,IAInB,SAASz2D,EAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,OAA4BzpC,MACxDuB,EAAKG,YAAcJ,EAAOI,YAC1BH,EAAKs2D,gBAAkBj2D,IAAGC,WAAWP,EAAO42D,0BAC5C32D,EAAK42D,WAAav2D,IAAGC,YAAW,GAChCN,EAAK62D,aAAex2D,IAAGC,YAAW,GAClCN,EAAKI,UAAYC,IAAGC,YAAW,GAC/BN,EAAK82D,WAAaz2D,IAAGC,YAAW,GAEhC,IAAI43C,EAAel4C,EAAKioC,qBAAqBiQ,eAC7Cl4C,EAAK+2D,aAAeh3D,EAAO42D,yBAAyBK,WAAa9e,EAAan4C,EAAO42D,yBAAyBK,YAAYl5D,KAAO,GAGjIkC,EAAKi3D,iCAAmC52D,IAAGc,cAAa,WACpD,IAAIm1D,EAAkBt2D,EAAKs2D,kBAC3B,OAAOzzD,aAAE2zD,SAASF,EAAgBG,kCAGtCz2D,EAAKk3D,0BAA4B72D,IAAGC,aAEpCN,EAAKm3D,wCAA0Cr2D,OAAO+lD,iCAAiC7lD,KAAI,SAASo2D,GAChG,IAAId,EAAkBt2D,EAAKs2D,kBACvBc,GACAd,EAAgBe,UAAYD,EAAwBC,SACpDf,EAAgBgB,QAAUF,EAAwBE,OAClDhB,EAAgBiB,cAAgBH,EAAwBG,YACxDv3D,EAAK42D,YAAW,IAEhB52D,EAAK42D,YAAW,GAChB52D,EAAKI,WAAU,OAIvBJ,EAAKw3D,kDAAoD12D,OAAOgmD,kCAAkC9lD,KAAI,SAASy2D,GAC3G,IAAInB,EAAkBt2D,EAAKs2D,kBAC3Bt2D,EAAK62D,aAAaY,GAA8BA,EAA2BtwD,KAAOmvD,EAAgBnvD,OAGtGnH,EAAK03D,2BAA6Br3D,IAAGc,cAAa,WAC9C,IAAIm1D,EAAkBt2D,EAAKs2D,kBAC3B,OAAOD,EAAuCC,MAGlDt2D,EAAK23D,aAAet3D,IAAGc,cAAa,WAChC,IAAIm1D,EAAkBt2D,EAAKs2D,kBAC3B,MAAiD,WAA1CA,EAAgBI,yBAI/B52D,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKk3D,wCAAwCt1D,SAC7C5B,KAAKu3D,kDAAkD31D,UAG3D/B,EAAUzG,UAAUu+D,UAAY,SAAS71D,EAAIhH,GACzC,IAAIiF,EAAOC,KACPq2D,EAAkBt2D,EAAKs2D,kBACvBuB,EAAmC73D,EAAKi3D,mCACtCX,EAAgBG,8BAChBH,EAAgBwB,qBACtBD,EAAmCh1D,aAAE2zD,SAASqB,GAAoC3jC,KAAKwgB,MAAyC,IAAnCmjB,GAA2C,IAAO,GAC/I73D,EAAKk3D,0BAA0BW,GAE/B73D,EAAKI,WAAU,GACfU,OAAO+lD,iCAAiCxkD,SAASi0D,GAEjD,IAAIh0D,EAASL,EAAElH,EAAEmH,eAAeK,KAAK,SACrCD,EAAOE,QACPF,EAAOG,SAEPH,EAAOy1D,IAAI,SACXz1D,EAAO8C,GAAG,SAAS,SAASrK,GACN,KAAdA,EAAE+pD,SACFhkD,OAAO+lD,iCAAiCxkD,SAAS,SAIzDC,EAAOy1D,IAAI,QACXz1D,EAAO8C,GAAG,QACN,SAASrK,GACL+F,OAAO+lD,iCAAiCxkD,SAAS,UAI7DvC,EAAUzG,UAAU2+D,2BAA6B,WAC7C,IAAIh4D,EAAOC,KACPq2D,EAAkBzzD,aAAEC,MAAM9C,EAAKs2D,mBAC/BY,EAA4Bl3D,EAAKk3D,4BACjCY,EAAuBnpC,WAAWuoC,GAElC/2D,EAAcH,EAAKG,cACvBm2D,EAAgBxoC,cAAgB3tB,EAAYgH,GAEE,YAA1CmvD,EAAgBI,uBAC0B,eAA1CJ,EAAgBI,uBAC0B,mBAA1CJ,EAAgBI,sBAChBJ,EAAgBG,8BAAgCqB,EAEhDxB,EAAgBwB,qBAAuBA,EAGtCxB,EAAgBnvD,GASjB8wD,OAAuB90D,OAAOmzD,GAAiBlzD,MAAK,SAASzK,GACzDmI,OAAO+lD,iCAAiCxkD,SAAS,MACjDvB,OAAO8lD,gCAAgCvkD,SAAS1J,MAVpDs/D,OAAuB/4D,OAAOo3D,GAAiBlzD,MAAK,SAASzK,GACzDmI,OAAO+lD,iCAAiCxkD,SAAS,MAEjDQ,aAAEe,KAAKjL,GAAM,SAAS29D,GAClBx1D,OAAO8lD,gCAAgCvkD,SAASi0D,UAWhEx2D,EAAUzG,UAAU2K,OAAS,WACzB,IAAIhE,EAAOC,KACXD,EAAK82D,YAAW,GAChBmB,OAAuBj0D,OAAOhE,EAAKs2D,mBAAmBpnD,QAAO,WACzDlP,EAAK82D,YAAW,OAIT,QAAEzzD,UAAWvD,EAAWwD,SAAUA,O,4LCtJ7C40D,EAAgB,aAIpBA,EAAc7+D,UAAU2V,OAAS,SAAUzK,GACvC,IAAIwK,EAAS,CACTxK,SAAUA,GAGd,OAAOsY,OAAIpe,IAAI,WAAYsQ,IAG/BmpD,EAAc7+D,UAAU8+D,aAAe,SAAUC,GAC7C,IAAIrpD,EAAS,CACTspD,SAAS,GAGb,OAAOx7C,OAAIpe,IAAI,YAAc25D,EAAUrpD,IAG3CmpD,EAAc7+D,UAAUi/D,eAAiB,SAAUF,GAC/C,IAAIpzD,EAAM,YAAcozD,EACxB,OAAOv7C,OAAI+Z,aAAa5xB,EAAK,QAGlB,UAAIkzD,ECzBfK,EAAoB,aAIxBA,EAAkBl/D,UAAU2V,OAAS,WACjC,OAAO6N,OAAIpe,IAAI,iBAGJ,UAAI85D,ECHbhoD,EAAO,wDAAb,iD,0BACU,EAAAioD,iBAAkB,EAClB,EAAAC,SAAqB,GACrB,EAAAC,aAA6B,GAHvC,EAAa,sDAOJ,SAAgBC,GACrB14D,KAAKu4D,iBAAkB,EACvBv4D,KAAKw4D,SAAWE,IATP,kCAaJ,SAAqBC,GAE1B34D,KAAKy4D,aAAeE,EAAY7pD,QAAO,SAAA9S,GACrC,MAA6C,YAAtCA,EAAK48D,eAAe1wD,mBAhBpB,4BAqBJ,WACLlI,KAAKu4D,iBAAkB,IAtBd,qFA0BJ,WAAqBj0D,GAArB,8FACD5L,EAAO,GADN,kBAGUmgE,EAAc9pD,OAAOzK,GAH/B,OAGH5L,EAHG,0DAKH8G,QAAQulB,KAAR,MALG,QAOL/kB,KAAKse,QAAQC,OAAO,kBAAmB7lB,GAPlC,yDA1BI,8IAqCJ,WAAoB4L,GAApB,oFACAtE,KAAKu4D,gBADL,yCAEIv4D,KAAKw4D,UAFT,uBAIGx4D,KAAK84D,eAAex0D,GAJvB,gCAKItE,KAAKw4D,UALT,gDArCI,mJA+CJ,2GACD9/D,EAAO,GADN,kBAGUqgE,EAAkBhqD,SAH5B,OAGHrW,EAHG,0DAKH8G,QAAQulB,KAAR,MALG,QAOL/kB,KAAKse,QAAQC,OAAO,uBAAwB7lB,GAPvC,yDA/CI,iJA0DJ,kGACDsH,KAAKy4D,aAAav/D,OADjB,yCAEI8G,KAAKy4D,cAFT,uBAIGz4D,KAAKg5D,qBAJR,gCAKIh5D,KAAKy4D,cALT,gDA1DI,4IAoEJ,WAAmBvxD,GAAnB,8FACDnC,EAAM,GADL,kBAGS8zD,EAAcX,aAAahxD,GAHpC,OAGHnC,EAHG,0DAKHvF,QAAQulB,KAAR,MALG,iCAOEhgB,GAPF,yDApEI,6EA8EX,WACE,OAAO/E,KAAKw4D,WA/EH,uBAiFX,WACE,OAAOx4D,KAAKy4D,iBAlFH,GAAS35C,QAOpBlJ,gBADCmJ,QACD,oCAMAnJ,gBADCmJ,QACD,yCAQAnJ,gBADCmJ,QACD,mCAKAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,sCAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCApEI3O,EAAO,gBADZ4O,eAAO,CAAEC,YAAY,EAAMthB,KAAM,aAC5ByS,GAsFSA,U,mBC5Ff,IAAI7T,EAAO,ycAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,0tBAEX7B,EAAOD,QAAU8B,G,uJCAbw8D,EAAM,aAIVA,EAAI7/D,UAAU8/D,KAAO,SAAUC,EAAQp0D,EAAKrM,GACxC,OAAOsJ,IAAEk3D,KAAK,CACVl9D,KAAMm9D,EACNC,aAAa,EACbr0D,IAAKC,UAAmCD,EACxCrM,KAAM0sB,KAAKQ,UAAUltB,GACrB2gE,YAAa,kCACbC,aAAa,EACbr0D,QAASC,iBACTq0D,aAAa,KAIrBN,EAAI7/D,UAAU2jB,KAAO,SAAUhY,EAAKrM,GAChC,OAAOsH,KAAKk5D,KAAK,OAAQn0D,EAAKrM,IAGlCugE,EAAI7/D,UAAU6jB,IAAM,SAAUlY,EAAKrM,GAC/B,OAAOsH,KAAKk5D,KAAK,MAAOn0D,EAAKrM,IAGjCugE,EAAI7/D,UAAUmkB,IAAM,SAAUxY,EAAKrM,GAC/B,OAAOsH,KAAKk5D,KAAK,SAAUn0D,EAAKrM,IAGpCugE,EAAI7/D,UAAUoF,IAAM,SAAUuG,EAAKrM,GAC/B,OAAOsJ,IAAEk3D,KAAK,CACVC,OAAQ,MACRzgE,KAAMA,EACNqM,IAAKC,UAAmCD,EACxCy0D,OAAO,EACPH,YAAa,kCACbp0D,QAASC,iBACTq0D,aAAa,KAIrBN,EAAI7/D,UAAUu9B,aAAe,SAAU5xB,EAAKo0D,EAAQzgE,GAChDsJ,IAAEk3D,KAAK,CACHl9D,KAAMm9D,EACNp0D,IAAKC,UAAmCD,EACxCrM,KAAiB,QAAXygE,EAAmBzgE,EAAO0sB,KAAKQ,UAAUltB,GAC/C2gE,YAAa,kCACbp0D,QAASC,iBACTu0D,UAAW,CACPC,aAAc,QAElBC,QAAS,SAAUr0D,EAAU4V,EAAQ0+C,GACjC,IAAIj0D,EAAW,GAEXk0D,EAASD,EAAIE,kBAAkB,uBAGnC,GAAID,IAA4C,IAAlCA,EAAO3zD,QAAQ,cAAsB,CAC/C,IAAI6zD,EAAgB,yCAChBC,EAAUD,EAAcE,KAAKJ,GAClB,MAAXG,GAAmBA,EAAQ,KAC3Br0D,EAAWq0D,EAAQ,GAAG5zD,QAAQ,QAAS,KAI/C,IAAI8zD,EAAYx6D,OAAOy6D,KAAOz6D,OAAO06D,UAEjCr1D,EAAMm1D,EAAUG,gBAAgB/0D,GAChCg1D,EAAS/+D,SAASQ,cAAc,KAEpCu+D,EAAOl/D,KAAO2J,EACdu1D,EAAOC,SAAW50D,EAClB20D,EAAOE,QAEPN,EAAUO,gBAAgB11D,IAE9BxH,MAAO,SAAUA,GACbiC,QAAQ20B,IAAI52B,OAKxB07D,EAAI7/D,UAAU6K,WAAa,SAAUc,EAAKxB,GACtC,OAAOvB,IAAEk3D,KAAK,CACVn0D,IAAKC,UAAmCD,EACxCo0D,OAAQ,OACRzgE,KAAM6K,EACN81D,aAAa,EACbC,aAAa,EACbr0D,QAASC,oBAIF,WAAI+zD,G,sEC9Fft8C,EAAS,aAIbA,EAAOvjB,UAAUshE,WAAa,SAAUn4C,GACtC,IAAIzT,EAAS,CACXyT,aAAcA,GAGhB,OAAO3F,OAAIpe,IAAI,2BAA4BsQ,IAG7C6N,EAAOvjB,UAAUkJ,KAAO,SAAUgC,EAAUyd,EAAa9N,EAAUE,EAAQwmD,GACzE,IAAI7rD,EAAS,CACXxK,SAAUA,EACVyd,YAAaA,EACb9N,SAAUA,EACVE,OAAQA,EACRwmD,gBAAiBA,GAGnB,OAAO/9C,OAAIpe,IAAI,gBAAiBsQ,IAGnB,WAAI6N,G,mBCzBnB,IAAIlgB,EAAO,08GAEX7B,EAAOD,QAAU8B,G,6GCDbm+D,EAAgB,SAAU/8D,EAAMqJ,EAAIyvD,EAAYlvC,EAAmBozC,EAAgCp3C,EAAeqN,GAClH,IAAI/wB,EAAOC,KACXD,EAAKlC,KAAOA,EACZkC,EAAKmH,GAAKA,EACVnH,EAAK42D,WAAav2D,IAAGC,WAAWs2D,GAChC52D,EAAK+6D,MAAQrzC,EAAkBtS,SAASjO,EAAGwtB,YAAcjN,EAAkBvhB,QAAQgB,EAAGwtB,YAAc,EACpG30B,EAAK0jB,cAAgBA,EACrB1jB,EAAK+wB,YAAcA,EAEnB/wB,EAAKyC,OAAS,SAAUuS,GACpBhV,EAAK+6D,MAAQrzC,EAAkBvuB,OAC/B6G,EAAK42D,YAAW,GAChBlvC,EAAkBjuB,KAAKub,EAAS7N,GAAGwtB,YAC/BmmC,GAAkCA,EAA+BE,qBAGzEh7D,EAAKi7D,SAAW,SAAUrE,GACtB52D,EAAK42D,YAAW,GACZkE,GAAkCA,EAA+BE,sBAI9DH,U,qBCxBfhgE,EAAOD,QAAU,IAA0B,yC,kCCA3C,W,+ECEIsgE,EAAa,gBACbC,EAAa,QACbC,EAAe,aAEnB,SAASC,EAAet4D,EAAMC,GAC1B,IAAKD,EAAM,OAAO,KAClB,IAAIu4D,EAAa95D,IAAOC,IAAIsB,EAAMm4D,GAAYvyD,OAAOyyD,GAIrD,OAHIp4D,IACAs4D,GAAc,IAAMt4D,GAEjBs4D,EAAa,IAGxB,SAASC,EAAWx4D,EAAM4F,GACtB,OAAK5F,EACEvB,IAAOC,IAAIsB,GAAM4F,OAAOA,GADb,GAItB,SAASigB,EAAW7lB,EAAMC,GACtB,IAAIw4D,EAAiBz4D,EAAO,IAAMC,EAClC,OAAOxB,IAAOC,IAAI+5D,EAAgBN,EAAaC,GAGnD,SAAS/mD,EAAOrR,GACZ,OAAOvB,IAAOC,IAAIsB,EAAMm4D,GAG5B,SAASO,EAAeC,GAAsC,IAA5BC,EAA4B,uDAAZR,EAC9C,OAAO35D,IAAOC,IAAIi6D,GAAU/yD,OAArB,UAA+BuyD,EAA/B,YAA6CS,IAGxD,SAASC,EAAmB74D,GACxB,IAAI64D,EAAqBp6D,IAAOC,IAAIsB,EAAX,UAAoBm4D,EAApB,YAAkCC,IAAc/mD,SAASuxB,UAElF,OAAOi2B,EAGX,SAASC,EAAiBzzC,EAAME,GAC5B,IAAMpU,EAAW1S,IAAOC,IAAI2mB,GACtBhU,EAAS5S,IAAOC,IAAI6mB,GAE1B,OAAO9mB,IAAOs6D,SAASt6D,IAAO4S,GAAQmU,KAAKrU,IAAW6nD,UAG1D,SAASC,EAAqB5zC,EAAME,GAChC,IAAMpU,EAAW1S,IAAO4mB,GAClBhU,EAAS5S,IAAO8mB,GAChB2zC,EAAS/nD,EAASqU,KAAKnU,EAAQ,WAC/B8nD,EAAS16D,IAAOs6D,SAASG,EAAQ,WAAWE,iBAElD,OAAO36D,IAAOC,IAAIy6D,GAAQvzD,OAAO,wCAGrC,SAASyzD,EAAiBh0C,EAAME,GAC9B,IAAMpU,EAAW1S,IAAOC,IAAI2mB,GACtBhU,EAASkU,EAAK9mB,IAAOC,IAAI6mB,GAAM9mB,IAAOC,MAE5C,OAAOD,IAAOs6D,SAAS1nD,EAAOmU,KAAKrU,IAAWmoD,WAGjC,QACbC,oBAAqB,SAAUl0C,EAAME,GACnC,OAAO8zC,EAAiBh0C,EAAME,IAE9Bi0C,wBAAyB,SAAUn0C,EAAME,GACrC,OAAO0zC,EAAqB5zC,EAAME,IAEtC1T,oBAAqB,SAAUwT,EAAME,GACjC,OAAOuzC,EAAiBzzC,EAAME,IAElCrlB,oBAAqB,SAAUF,EAAMC,GACjC,OAAOq4D,EAAet4D,EAAMC,IAEhCvC,sBAAuB,SAAUsC,GAC7B,OAAOw4D,EAAWx4D,EAAMm4D,IAE5Bt6D,sBAAuB,SAAU86D,GAC7B,OAAOH,EAAWG,EAAUP,IAEhC9yC,0BAA2B,SAAUqzC,EAAUC,GAC3C,OAAOF,EAAeC,EAAUC,IAEpCt6D,YAAa,SAAU0B,EAAMC,GACzB,OAAO4lB,EAAW7lB,EAAMC,IAE5BylB,QAAS,SAAU1lB,GACf,OAAOqR,EAAOrR,IAElBy5D,sBAAuB,SAAUz5D,GAC7B,OAAO64D,EAAmB74D,IAE9B05D,cAAe,WACX,OAAOvB,GAEXwB,cAAe,WACX,OAAOvB,GAEXwB,kBAAmB,SAAU55D,GACzB,OAAOqR,EAAOrR,GAAMqR,UAExBwoD,YAAa,SAAUC,GACnB,OAAOA,EAAW7iD,MAAM,gD,+GCpGhC,SAAS8iD,EAAkBC,EAAYC,EAAUC,GAC7C,IACIC,EADAr6C,EAAY,GAKhB,GAFAm6C,EAAWA,EAAS70D,cAEH,WAAb60D,EACAE,EAAiBC,IAAWC,OAAOL,EAAY,CAAEl6C,UAAWA,SACzD,GAAiB,eAAbm6C,EACPE,EAAiBC,IAAWE,WAAWN,EAAY,CAAEO,MAAOL,EAAiBp6C,UAAWA,SACrF,GAAiB,UAAbm6C,EAAsB,CAC7B,IAAIO,EAAuC16D,aAAEkM,OAAOguD,GAChD,SAASrlB,GACL,OAAOA,EAAM,GAAK,GAAKA,EAAM,GAAK,KAE1CwlB,EAAiBC,IAAWK,MAAMD,EAAsC,CAAE16C,UAAWA,SAClF,GAAiB,gBAAbm6C,EACPE,EAAiBC,IAAWM,YAAYV,EAAY,CAAEl6C,UAAWA,SAC9D,GAAiB,gBAAbm6C,EAA4B,CACnC,IAAIU,EAA6C76D,aAAEkM,OAAOguD,GACtD,SAASrlB,GACL,OAAOA,EAAM,GAAK,KAE1BwlB,EAAiBC,IAAWQ,YAAYD,EAA4C,CAAE76C,UAAWA,IAGrG,OAAOq6C,EAGX,SAASU,EAAkBj6C,EAAGu5C,GAC1B,OAAOA,EAAeW,QAAQl6C,GAGlC,SAASm6C,EAAkBn6C,EAAGu5C,GAC1B,IAAIa,EAAiBH,EAAkBj6C,EAAGu5C,GAC1C,OAAOa,EAAe,GAG1B,SAASC,EAAmBrlE,EAAMukE,GAI9B,IAHA,IAAIh5B,EAAMvrC,EAAK,GAAG,GACd+7B,EAAM/7B,EAAK,GAAG,GAETM,EAAI,EAAGA,EAAIN,EAAKQ,OAAQF,IAAK,CAClC,IAAI4F,EAAQlG,EAAKM,GAAG,GAChB4F,EAAQqlC,IACRA,EAAMrlC,GAGNA,EAAQ61B,IACRA,EAAM71B,GAGd,IAAIo/D,EAAYvpC,EAAM,IAClBwpC,EAAaxpC,EAAMupC,EACnBE,EAAc,GACdpB,EAAa,GAEjB,IAAS9jE,EAAIirC,EAAKjrC,EAAIilE,EAAYjlE,GAAKglE,EAAW,CAC9C,IAAIF,EAAiBH,EAAkB3kE,EAAGikE,GACtC7uC,SAAS0vC,EAAe,KACxBI,EAAY1kE,KAAKskE,GAIzB,IAAS9kE,EAAI,EAAGA,EAAIN,EAAKQ,OAAQF,IAAK,CAC9B8kE,EAAiBH,EAAkBjlE,EAAKM,GAAG0qB,EAAGu5C,GAE9C7uC,SAAS0vC,EAAe,KACxBhB,EAAWtjE,KAAKskE,GAOxB,OAHA1zD,EAAc8zD,GACd9zD,EAAc0yD,GAEP,CAAEoB,YAAaA,EAAapB,WAAYA,GAGnD,SAASqB,EAAuBlB,EAAgBh5B,EAAKxP,GACjD,IAAI2pC,EAAOn6B,EACPo6B,EAAO5pC,EACN7xB,aAAEwrB,SAAS6V,KACZm6B,EAAOx7D,aAAEqhC,IAAIg5B,EAAeqB,QAAQ,SAAS7mB,GACzC,OAAOA,EAAM,MACd,IAGF70C,aAAEwrB,SAASqG,KACZ4pC,EAAOz7D,aAAE6xB,IAAIwoC,EAAeqB,QAAQ,SAAS7mB,GACzC,OAAOA,EAAM,MACd,IAMP,IAJA,IAAIumB,EAAY/pC,KAAKsqC,IAAIF,EAAKD,GAAQ,IAClCH,EAAaI,EAAOL,EACpBQ,EAAkB,GAEbxlE,EAAIolE,EAAMplE,EAAIilE,EAAYjlE,GAAKglE,EAAW,CAC/C,IAAIF,EAAiBH,EAAkB3kE,EAAGikE,GACtC7uC,SAAS0vC,EAAe,KACxBU,EAAgBhlE,KAAKskE,GAI7B,OAAOl7D,aAAEof,OAAOw8C,GACZ,SAAS/mB,GACL,OAAOA,EAAM,MAIzB,SAASrtC,EAAcyxC,GACnBA,EAAM9tC,MAAK,SAAUC,EAAGC,GACpB,OAAID,EAAE,GAAKC,EAAE,GAAa,EACtBD,EAAE,GAAKC,EAAE,IAAc,EACpB,KAIf,SAASwwD,EAAiC3B,GAEtC,IADA,IAAIpkE,EAAO,GACFM,EAAI,EAAGA,EAAI8jE,EAAW5jE,OAAQF,IACnCN,EAAKM,GAAK,GACL4J,aAAE2C,YAAYu3D,EAAW9jE,GAAG0qB,IAI7BhrB,EAAKM,GAAG,GAAK8jE,EAAW9jE,GAAG,GAC3BN,EAAKM,GAAG,GAAK8jE,EAAW9jE,GAAG,KAJ3BN,EAAKM,GAAG,GAAK8jE,EAAW9jE,GAAG0qB,EAC3BhrB,EAAKM,GAAG,GAAK8jE,EAAW9jE,GAAGy8C,GAMnC,OAAO/8C,EAGX,SAASgmE,EAAiBhmE,EAAMimE,GAI5B,IAHA,IAAIC,EAAK,EACLC,EAAInmE,EAAKQ,OAEJF,EAAI,EAAGA,EAAIN,EAAKQ,OAAQF,IACV,OAAfN,EAAKM,GAAG,GAAmC,OAArB2lE,EAAc3lE,GACpC4lE,GAAM3qC,KAAKG,IAAI17B,EAAKM,GAAG,GAAK2lE,EAAc3lE,GAAG,GAAI,GAEjD6lE,IAKR,OAFAD,EAAK3qC,KAAK6qC,KAAKF,GAAMC,EAAE,IAEhBD,EAGX,SAASG,EAAQC,GACb,OAAOp8D,aAAEkhB,OAAOk7C,GAAW,SAASl+B,EAAM2W,GAEtC,OAAO3W,EAAO2W,EAAM,KACrB,GAAKunB,EAAU9lE,OAGtB,SAAS+lE,EAAOD,EAAWE,GACvB,IAAIC,EAAwBv8D,aAAEkhB,OAAOk7C,GAAW,SAASl+B,EAAM2W,GAC3D,IAAInvB,EAAOmvB,EAAM,GAAKynB,EACtB,OAAOp+B,EAAQxY,EAAOA,IACvB,GAEC82C,EAAWD,EAAwBH,EAAU9lE,OAE7CmmE,EAAoBprC,KAAK6qC,KAAKM,GAElC,OAAOC,EAIX,SAASC,EAAI57C,GAET,IAAI67C,EAAQ77C,GAAK,EAAK,GAAK,EAC3BA,EAAIuQ,KAAKsqC,IAAI76C,GAGb,IAAI87C,EAAM,WACNC,GAAM,WACNC,EAAM,YACNC,GAAM,YACNC,EAAM,YACNllE,EAAM,SAGNmE,EAAI,GAAK,EAAMnE,EAAEgpB,GACjB+xB,EAAI,MAAWmqB,EAAK/gE,EAAI8gE,GAAM9gE,EAAK6gE,GAAM7gE,EAAI4gE,GAAM5gE,EAAI2gE,GAAM3gE,EAAIo1B,KAAK4rC,KAAKn8C,EAAIA,GACnF,OAAO67C,EAAO9pB,EAGlB,SAASqqB,EAAKp8C,GACV,OAAO,EAAI47C,EAAI57C,GAMnB,SAASq8C,EAAUnhE,EAAOsgE,EAAMc,EAAKnB,GACjC,IAAIoB,EAAY,GAAO,EAAIpB,GAEvB1gE,EAAI81B,KAAKsqC,IAAI3/D,EAAQsgE,GAAQc,EAC7BE,EAAY/hE,EAAK81B,KAAKG,IAAI,EAAK,IAE/B+rC,EAAOL,EAAKI,GACZH,EAAYI,EAAOF,EACvB,OAAOF,EAGI,QACXlD,kBAAmB,SAAUC,EAAYC,EAAUC,GAC/C,OAAOH,EAAkBC,EAAYC,EAAUC,IAEnDoD,uBAAwB,SAAU18C,EAAGo5C,EAAYC,EAAUC,GACvD,IAAIC,EAAiBJ,EAAkBC,EAAYC,EAAUC,GAC7D,OAAOa,EAAkBn6C,EAAGu5C,IAEhCU,kBAAmB,SAASj6C,EAAGu5C,GAC3B,OAAOU,EAAkBj6C,EAAGu5C,IAEhCc,mBAAoB,SAASrlE,EAAMukE,GAC/B,OAAOc,EAAmBrlE,EAAMukE,IAEpCwB,iCAAkC,SAAS3B,GACvC,OAAO2B,EAAiC3B,IAE5CqB,uBAAwB,SAASlB,EAAgBh5B,EAAKxP,GAClD,OAAO0pC,EAAuBlB,EAAgBh5B,EAAKxP,IAEvDiqC,iBAAkB,SAAShmE,EAAMimE,GAC7B,OAAOD,EAAiBhmE,EAAMimE,IAElCI,QAAS,SAASC,GACd,OAAOD,EAAQC,IAEnBC,OAAQ,SAASD,EAAWE,GACxB,OAAOD,EAAOD,EAAWE,IAE7BmB,sBAAuB,SAASpD,EAAgB+B,GAC5C,OAAOp8D,aAAEoM,IAAIgwD,GACT,SAASvnB,GACL,IAAIqmB,EAAiB,GAGrB,OAFAA,EAAe,GAAKrmB,EAAM,GAC1BqmB,EAAe,GAAKD,EAAkBC,EAAe,GAAIb,GAClDa,MAGnBiC,UAAW,SAASr8C,EAAGw7C,EAAMoB,EAAMzB,GAC/B,OAAOkB,EAAUr8C,EAAGw7C,EAAMoB,EAAMzB,M,mBCvPxC,IAAIpiE,EAAO,wmCAEX7B,EAAOD,QAAU8B,G,kFCAbkgB,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAASgC,GAC7B,IAAIwK,EAAS,CACTxK,SAAUA,GAGd,OAAOsY,OAAIpe,IAAI,kBAAmBsQ,IAGtC6N,EAAOvjB,UAAU6F,OAAS,SAASy5C,GAC/B,OAAO97B,OAAIG,KAAK,aAAc27B,IAGlC/7B,EAAOvjB,UAAU2K,OAAS,SAAS20C,GAC/B,OAAO97B,OAAIW,IAAI,cAAgBm7B,EAASxxC,IAAI/D,MAAK,WAC7CtC,OAAOmmD,gBAAgB5kD,SAASs2C,OAIzB,WAAI/7B,G,mBCxBnB,IAAIlgB,EAAO,suBAEX7B,EAAOD,QAAU8B,G,qHCEjBwZ,OAAUsqD,cAAc,CACtB,mBACA,mBACA,sB,4BCLFrxD,aAAIC,IAAIqxD,QAEO,UAAIA,OAAQ,CACzBC,MAAO,CACL9rB,QAAS,CACP+rB,kBAAkB,GAEpBC,OAAQ,CACNC,MAAO,CACLC,QAAS,UACTC,SAAU,UACVC,UAAW,UACXC,WAAY,UACZC,WAAY,UACZC,gBAAiB,UACjBC,OAAQ,UACR5jE,MAAO,UACP6jE,KAAM,UACNzH,QAAS,UACT0H,QAAS,eCtBb,EAAS,WAAa,IAAI7vD,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACa,YAAY,eAAe,CAAEhB,EAAI+7C,aAAe/7C,EAAIu+C,WAAYp+C,EAAG,WAAWH,EAAIkC,KAAOlC,EAAIu+C,WAG8hBv+C,EAAIkC,KAHthB/B,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,QAAQ,IAAM,GAAG,MAAQ,KAAK,CAAEL,EAAc,WAAEG,EAAG,kBAAkB,CAACa,YAAY,oBAAoB,CAAChB,EAAIc,GAAG,IAAId,EAAI6B,GAAG7B,EAAI8vD,iBAAiB,KAAK3vD,EAAG,iBAAiB,GAAG,CAACA,EAAG,MAAM,CAACa,YAAY,OAAOX,MAAM,CAAC,IAAM,EAAQ,QAA8D,OAAS,SAASF,EAAG,YAAaH,EAA8B,2BAAEG,EAAG,UAAU,CAACa,YAAY,uCAAuCX,MAAM,CAAC,KAAO,OAAO,KAAO,GAAG,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACa,YAAY,eAAe,CAACb,EAAG,QAAQ,CAACa,YAAY,QAAQ,CAAChB,EAAIc,GAAG,2BAA2BX,EAAG,QAAQ,CAACa,YAAY,UAAU,CAACb,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,SAAW,IAAI1M,GAAG,CAAC,MAAQqM,EAAI+vD,2BAA2B,CAAC/vD,EAAIc,GAAG,WAAW,IAAI,IAAI,GAAGd,EAAIkC,KAAK/B,EAAG,MAAM,CAACa,YAAY,mBAAmB,CAAEhB,EAAc,WAAEG,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,WAAW1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,kBAAkBnK,EAAOjL,iBAAiB0K,EAAIgwD,uBAAwB,KAAQ,CAAChwD,EAAIc,GAAG,cAAcd,EAAIkC,KAAMlC,EAAI+7C,YAAc/7C,EAAIiwD,kCAAoC,EAAG9vD,EAAG,UAAU,CAAC+vD,YAAY,CAAC,eAAe,OAAO,gBAAgB,QAAQ7vD,MAAM,CAAC,MAAQ,MAAM,QAAUL,EAAIiwD,qCAAqCjwD,EAAIkC,MAAM,GAAIlC,EAAc,WAAEG,EAAG,SAAS,CAACE,MAAM,CAAC,OAAS,GAAG,WAAW,GAAG,WAAa,sBAAsBe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAC7jD,IAAI5N,EAAK4N,EAAI5N,GACT0M,EAAQkB,EAAIlB,MAChB,MAAO,CAACF,EAAG,cAAcH,EAAIwB,GAAGxB,EAAIyB,GAAG,CAACT,YAAY,gBAAgB,cAAcX,GAAM,GAAO1M,GAAI,CAACwM,EAAG,sBAAsB,CAACa,YAAY,QAAQ,CAACb,EAAG,oBAAoB,CAACH,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAI8F,aAAa3F,EAAG,uBAAuB,CAACH,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAIq/B,eAAe,IAAI,OAAO,MAAK,EAAM,YAAY,CAACl/B,EAAG,SAAS,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,eAAe,CAACF,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACH,EAAIc,GAAG,0BAA0B,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,iBAAiB,IAAI,GAAGX,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,IAAI1M,GAAG,CAAC,MAAQqM,EAAIggC,SAAS,CAAC7/B,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACH,EAAIc,GAAG,iBAAiB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,cAAc,IAAI,IAAI,IAAI,GAAGd,EAAIkC,MAAM,GAAY/B,EAAG,SAAS,CAACA,EAAG,eAAeA,EAAG,WAAWA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQL,EAAImwD,aAAah6B,MAAM,QAAUn2B,EAAImwD,aAAavkE,SAASwV,YAAYpB,EAAIqB,GAAG,CAAErB,EAAImwD,aAAwB,YAAE,CAACziE,IAAI,SAAS4T,GAAG,SAASC,GACr8B,IAAIlB,EAAQkB,EAAIlB,MAChB,MAAO,CAACF,EAAG,QAAQH,EAAIyB,GAAG,CAACpB,MAAM,CAAC,KAAO,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIowD,mBAAmB,QAAQ/vD,GAAM,GAAO,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIc,GAAG,YAAY,MAAM,MAAM,MAAK,GAAML,MAAM,CAACrT,MAAO4S,EAAImwD,aAAiB,KAAEzvD,SAAS,SAAUC,GAAMX,EAAIi7C,KAAKj7C,EAAImwD,aAAc,OAAQxvD,IAAME,WAAW,sBAAsB,CAACV,EAAG,MAAM,CAACa,YAAY,SAAS0yC,SAAS,CAAC,UAAY1zC,EAAI6B,GAAG7B,EAAImwD,aAAa/zD,WAAY4D,EAAc,WAAEG,EAAG,mBAAmB,CAACE,MAAM,CAAC,UAAYL,EAAIgwD,uBAAuBr8D,GAAG,CAAC,mBAAmB,SAAS4M,GAAQP,EAAIgwD,sBAAsBzvD,GAAQ,oBAAoB,SAASA,GAAQP,EAAIgwD,sBAAsBzvD,MAAWP,EAAIkC,MAAM,IAAI,IAC/pBG,EAAkB,G,wICNlB,EAAS,WAAa,IAAIrC,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAC/F,EAAkB,G,iGCMtB,SAAS9R,EAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKD,OAASM,IAAGC,aACjBN,EAAKqW,UAAYhW,IAAGC,aACpBN,EAAK8hE,cAAgBzhE,IAAGC,aACxBN,EAAK+hE,QAAU1hE,IAAGC,YAAW,GAC7BN,EAAK60D,gBAAkBx0D,IAAGC,aAE1B,IAAI0hE,EAAiB,GAErBhiE,EAAKiiE,mBAAqBnhE,OAAO8M,YAAY5M,KAAI,SAASqV,EAAWtW,EAAQ+hE,GACzE9hE,EAAKqW,UAAUA,GACfrW,EAAKD,OAAOA,GACZC,EAAK8hE,cAAcA,GACnB9hE,EAAK60D,gBAAgB90D,EAAO80D,oBAKhC70D,EAAKorD,SAAW/qD,IAAGc,cAAa,WAC5B,OAAQnB,EAAK60D,mBACT,IAAK,QACD,MAAO,OACX,IAAK,OACD,MAAO,QACX,IAAK,SACD,MAAO,MACX,QACI,MAAO,aAKnB70D,EAAKkiE,eAAiB7hE,IAAGc,cAAa,WAClC,OAAQnB,EAAK60D,mBACT,IAAK,QACD,MAAO,WACX,IAAK,OACD,MAAO,WACX,IAAK,SACD,MAAO,SACX,QACI,MAAO,aAInB,IAAIsN,EAAkB,SAAS/9D,GAC3B,IAAIg+D,EAAgBpkE,YAAW,WAC3BgC,EAAK+hE,SAAQ,GACb9/D,IAAE,YAAYmpD,SAAS,CACnBiX,GAAIriE,EAAKorD,WACTkX,GAAItiE,EAAKkiE,iBACTK,UAAW,MACXC,GAAIp+D,MAET,KACH49D,EAAevoE,KAAK2oE,IAGxBpiE,EAAKyiE,0BAA4BziE,EAAK8hE,cAAcvgD,WAAU,SAASnd,GACnE+9D,EAAgB/9D,MAGpBpE,EAAKoN,oBAAsBtM,OAAOuM,aAAarM,KAAI,WAC/ChB,EAAK+hE,SAAQ,GACb/hE,EAAKD,OAAO,MACZC,EAAKqW,UAAU,MAEf,IAAIqsD,EAAwB,GAC5B7/D,aAAEe,KAAKo+D,GAAgB,SAASI,GAC5B3kE,aAAa2kE,GACbM,EAAsBjpE,KAAK2oE,MAE/BJ,EAAiBn/D,aAAE2nD,WAAWwX,EAAgBU,MAGlD1iE,EAAK2iE,yBAA2B7hE,OAAOglD,kBAAkB9kD,KAAI,WACzD,IAAI8gE,EAAgB9hE,EAAK8hE,gBACpBA,GACLK,EAAgBL,MAIxBhiE,EAAUzG,UAAUupE,YAAc,WAC9B,OAAO3iE,KAAK40D,kBAAoB50D,KAAK40D,kBAAoB,OAG7D/0D,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKgiE,mBAAmBpgE,SACxB5B,KAAKmN,oBAAoBvL,SACzB5B,KAAKwiE,0BAA0B7gE,WAGpB,OAAEyB,UAAWvD,EAAWwD,SAAUA,KC1F5Bu/D,EAAc,wDAAnC,iD,0BACE,EAAAC,SAAgB,GADlB,EAAmC,8CAGjC,WACE7iE,KAAK6iE,SAAW,IAAIC,EAAmB1/D,UAAU,IACjD,IAAQC,EAAay/D,EAAbz/D,SACRrD,KAAK2qD,IAAI9qC,UAAYxc,EACrBjD,IAAG2iE,cAAc/iE,KAAK6iE,SAAU7iE,KAAK2qD,OAPN,2BAUjC,WACEvqD,IAAG4iE,UAAUhjE,KAAK2qD,KAClB3qD,KAAK6iE,SAASlhE,cAZiB,GAASuN,QAAvB0zD,EAAc,gBADlC3sD,QACoB2sD,WCVsY,I,YCOvZxsD,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QClBX,EAAS,WAAa,IAAI5E,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,yBAAyB,CAACoB,IAAI,yBAAyB5N,GAAG,CAAC,kBAAoBqM,EAAIyxD,qBAAqBtxD,EAAG,sBAAsB,CAACE,MAAM,CAAC,eAAeL,EAAI0xD,YAAY,MAAQ,UAAU,KAAO,GAAG,UAAY,GAAG,IAAM,IAAI/9D,GAAG,CAAC,qBAAqB,SAAS4M,GAAQP,EAAI0xD,YAAYnxD,GAAQ,sBAAsB,SAASA,GAAQP,EAAI0xD,YAAYnxD,KAAU,CAACJ,EAAG,cAAc,CAACa,YAAY,QAAQ,CAAGhB,EAAI0xD,YAAiK1xD,EAAIkC,KAAxJ/B,EAAG,QAAQ,CAACa,YAAY,yBAAyBX,MAAM,CAAC,IAAM,EAAQ,QAA8D,QAAU,MAAeF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,kBAAkB1K,EAAI0xD,aAAe1xD,EAAI0xD,eAAe,CAAE1xD,EAAe,YAAEG,EAAG,SAAS,CAACH,EAAIc,GAAG,uBAAuBX,EAAG,SAAS,CAACH,EAAIc,GAAG,uBAAuB,IAAI,GAAGX,EAAG,aAAaA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,IAAM,GAAG,GAAK,iBAAiB,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,YAAY,GAAG,MAAQ,QAAQ,MAAQ,MAAMe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,WAAW,MAAO,CAACnB,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,yBAAyB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,iBAAiB,GAAGX,EAAG,qBAAqB,CAACa,YAAY,yBAAyB,CAACb,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAC55C,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,QAAQH,EAAIwB,GAAG,CAACR,YAAY,OAAOX,MAAM,CAAC,KAAO,GAAG,MAAQ,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAiC,OAAzBA,EAAOmK,kBAAyB1K,EAAI2xD,gCAAgCh+D,GAAI,CAACwM,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIc,GAAG,cAAc,SAAS,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,0BAA0B,KAAKmB,OAAM,MAAS,CAAEjC,EAAI4xD,iBAAiBlqE,OAAS,EAAGyY,EAAG,cAAc,CAACH,EAAIc,GAAG,eAAed,EAAIkC,KAAK/B,EAAG,MAAM,CAACa,YAAY,wBAAwBhB,EAAI29C,GAAI39C,EAAsB,oBAAE,SAASggB,GAAW,OAAO7f,EAAG,cAAc,CAACzS,IAAIsyB,EAAUtqB,GAAGsL,YAAY,OAAO85C,MAAM,CAAE,sBAAuB96C,EAAI6xD,kBAAkB7xC,IAAa3f,MAAM,CAAC,OAAS,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAI8xD,mBAAmB9xC,EAAUtqB,OAAO,CAACyK,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAGd,EAAI6B,GAAGme,EAAU3zB,UAAU,GAAG8T,EAAG,qBAAqB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,WAAa,qBAAqB,WAAW,GAAG,SAAW,GAAG,KAAO,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GACt8B,IAAIlB,EAAQkB,EAAIlB,MACZ1M,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,QAAQH,EAAIwB,GAAGxB,EAAIyB,GAAG,CAACT,YAAY,OAAOX,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,QAAQA,GAAM,GAAO1M,GAAI,CAACwM,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIc,GAAG,wBAAwB,OAAO,MAAK,IAAO,CAACX,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,oBAAoB,CAACxM,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAI+xD,0BAA0B/xC,EAAUtqB,OAAO,CAACsK,EAAIc,GAAG,2BAA2BX,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,GAAG,YAAY,QAAQ,MAAQ,qBAAqBe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GACniB,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,SAASH,EAAIwB,GAAG,CAACnB,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK1M,GAAI,CAACqM,EAAIc,GAAG,iCAAiC,MAAK,IAAO,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,qGAAqG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAK,GAAId,EAAI4xD,iBAAiBlqE,OAAS,EAAGyY,EAAG,cAAc,CAACH,EAAIc,GAAG,qBAAqBd,EAAIkC,KAAK/B,EAAG,MAAM,CAACa,YAAY,wBAAwBhB,EAAI29C,GAAI39C,EAAoB,kBAAE,SAASggB,GAAW,OAAO7f,EAAG,cAAc,CAACzS,IAAIsyB,EAAUtqB,GAAGsL,YAAY,OAAO85C,MAAM,CAAE,sBAAuB96C,EAAI6xD,kBAAkB7xC,IAAa3f,MAAM,CAAC,OAAS,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAI8xD,mBAAmB9xC,EAAUtqB,OAAO,CAACyK,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAGd,EAAI6B,GAAGme,EAAU3zB,UAAU,IAAI,MAAK,IAAI,GAAG8T,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,oBAAoB,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,sBAAsB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,sBAAsB,IAAI,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,YAAY,GAAG,MAAQ,QAAQ,MAAQ,YAAYe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,WAAW,MAAO,CAACnB,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,gBAAgB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,cAAc,KAAKmB,OAAM,MAAS,CAAEjC,EAAuB,oBAAEG,EAAG,cAAc,CAACa,YAAY,gCAAgC,CAAC,CAACb,EAAG,QAAQ,CAACa,YAAY,cAAcX,MAAM,CAAC,gBAAgB,SAAS,QAAU,WAAW,CAACF,EAAG,QAAQ,CAACa,YAAY,2BAA2BX,MAAM,CAAC,KAAO,OAAO,CAACL,EAAIc,GAAG,2BAA2BX,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQ,QAAQ,cAAgB,GAAG,QAAU,GAAG,OAAS,QAAQ,IAAI,KAAK,GAAGF,EAAG,MAAM,CAACa,YAAY,wBAAwB,CAAEhB,EAAIiN,QAAQvlB,OAAS,EAAGsY,EAAI29C,GAAI39C,EAAW,SAAE,SAASoN,GAAQ,OAAOjN,EAAG,cAAc,CAACzS,IAAI0f,EAAO1X,GAAGsL,YAAY,OAAOX,MAAM,CAAC,OAAS,GAAG,KAAO,GAAG,GAAM,WAAc+M,EAAS,GAAI,IAAOkX,mBAAmBlX,EAAO/gB,QAAU,CAAC8T,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAC5jE,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,cAAcH,EAAIwB,GAAG,GAAG7N,GAAI,CAACwM,EAAG,OAAO,CAACa,YAAY,kBAAkB85C,MAAM96C,EAAIgyD,2BAA2B5kD,GAAQ6lC,MAAOjzC,EAAIiyD,sBAAsB7kD,EAAO8kD,UAAW/xD,EAAG,oBAAoB,CAACuzC,SAAS,CAAC,YAAc1zC,EAAI6B,GAAGuL,EAAO/gB,UAAU,OAAO,MAAK,IAAO,CAAC8T,EAAG,OAAO,CAACH,EAAIc,GAAGd,EAAI6B,GAAGuL,EAAO/gB,YAAY,MAAK8T,EAAG,cAAc,CAACH,EAAIc,GAAG,0BAA0B,IAAI,GAAId,EAAkB,eAAEG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,WAAW,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,2BAA2B,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,gBAAgB,IAAI,GAAGd,EAAIkC,KAAMlC,EAAW,QAAEG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,aAAa,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,0BAA0B,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,mBAAmB,IAAI,GAAGd,EAAIkC,KAAMlC,EAAW,QAAEG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,0BAA0B,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,0BAA0B,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,qBAAqB,IAAI,GAAGd,EAAIkC,KAAK/B,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,kBAAkB,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,gBAAgB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,oBAAoB,IAAI,GAAId,EAAkB,eAAEG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,yBAAyB,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,uBAAuB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,4BAA4B,IAAI,GAAGd,EAAIkC,KAAMlC,EAAW,QAAEG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,kBAAkB,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,0BAA0B,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,oBAAoB,IAAI,GAAGd,EAAIkC,KAAMlC,EAAW,QAAEG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,cAAc,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,gBAAgB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,eAAe,IAAI,GAAGd,EAAIkC,KAAMlC,EAAW,QAAEG,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,kBAAkB,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,mBAAmB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,mBAAmB,IAAI,GAAGd,EAAIkC,KAAK/B,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,qBAAqB,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,mBAAmB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,oBAAoB,IAAI,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,YAAY,GAAG,MAAQ,QAAQ,MAAQ,UAAUe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,WAAW,MAAO,CAACnB,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,eAAe,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,WAAW,KAAKmB,OAAM,MAAS,CAAC9B,EAAG,MAAM,CAACa,YAAY,wBAAwBhB,EAAI29C,GAAI39C,EAAkB,gBAAE,SAASmyD,EAAazlD,GAAO,OAAOvM,EAAG,cAAc,CAACzS,IAAIgf,EAAM1L,YAAY,OAAOX,MAAM,CAAC,OAAS,GAAG,KAAO,GAAG,GAAM,SAAY8xD,EAAiB,OAAK,CAAChyD,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GACvrG,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,cAAcH,EAAIwB,GAAG,GAAG7N,GAAI,CAACwM,EAAG,oBAAoB,CAACuzC,SAAS,CAAC,YAAc1zC,EAAI6B,GAAGswD,EAAa9lE,UAAU,OAAO,MAAK,IAAO,CAAC8T,EAAG,OAAO,CAACH,EAAIc,GAAGd,EAAI6B,GAAGswD,EAAa9lE,YAAY,MAAK,KAAK8T,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,GAAG,GAAK,WAAW,CAACF,EAAG,mBAAmB,CAACa,YAAY,QAAQ,CAACb,EAAG,SAAS,CAACH,EAAIc,GAAG,sBAAsB,GAAGX,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACH,EAAIc,GAAG,YAAY,IAAI,IAAI,IAAI,GAAGX,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQL,EAAIoyD,sBAAsB,YAAY,IAAI,qBAAuBC,QAAQryD,EAAIsyD,2BAA2B,OAAStyD,EAAIuyD,yBAAyB5+D,GAAG,CAAC,eAAe,SAAS4M,GAAQP,EAAIoyD,sBAAsB7xD,GAAQ,gBAAgB,SAASA,GAAQP,EAAIuyD,wBAAwBhyD,GAAQ,KAAOP,EAAIwyD,8BAA8B,MAAQxyD,EAAIyyD,4BAA4BrxD,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,oBAAoB4T,GAAG,WAAW,MAAO,CAACnB,EAAG,WAAW,CAACa,YAAY,OAAOX,MAAM,CAAC,MAAQL,EAAIwgB,QAAQ,YAAY,OAAO,aAAa,KAAK,MAAQ,iBAAiB,KAAO,2DAA2D,iBAAiBxgB,EAAIsyD,0BAA0B,SAAW,GAAG,SAAW,GAAG,kBAAkB,GAAG,gBAAgB,IAAI7xD,MAAM,CAACrT,MAAO4S,EAAmB,gBAAEU,SAAS,SAAUC,GAAMX,EAAI0yD,gBAAgB/xD,GAAKE,WAAW,uBAAuBoB,OAAM,OAAU9B,EAAG,gBAAgB,CAACoB,IAAI,mBAAmB,IACv1C,EAAkB,G,2KCZlB,EAAS,WAAa,IAAIvB,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACoB,IAAI,kBAAkBpB,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,OAAO1M,GAAG,CAAC,gBAAgB,SAAS4M,GAAQ,OAAOP,EAAIQ,UAAUC,MAAM,CAACrT,MAAO4S,EAAU,OAAEU,SAAS,SAAUC,GAAMX,EAAIuzC,OAAO5yC,GAAKE,WAAW,WAAW,CAACV,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,wBAAwB,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,YAAY,CAACF,EAAG,kBAAkB,CAACH,EAAIc,GAAG,2BAA2B,GAAGX,EAAG,MAAM,CAACa,YAAY,sBAAsB,CAACb,EAAG,UAAU,CAACa,YAAY,mBAAmB,CAACb,EAAG,cAAc,CAACA,EAAG,qBAAqB,CAACE,MAAM,CAAC,SAAW,GAAG,UAAY,IAAII,MAAM,CAACrT,MAAO4S,EAAS,MAAEU,SAAS,SAAUC,GAAMX,EAAI2yD,MAAMhyD,GAAKE,WAAW,UAAU,CAACV,EAAG,YAAY,CAACM,MAAM,CAACrT,MAAO4S,EAAiC,8BAAEU,SAAS,SAAUC,GAAMX,EAAI4yD,8BAA8BjyD,GAAKE,WAAW,kCAAkC,CAACb,EAAI29C,GAAI39C,EAAiC,+BAAE,SAAS6yD,GAAsB,MAAO,CAAC1yD,EAAG,oBAAoB,CAACzS,IAAImlE,EAAqB7yC,UAAUtqB,GAAGsL,YAAY,eAAerN,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,qBAAsB,CAACvK,EAAG,2BAA2B,CAACa,YAAY,kDAAkDX,MAAM,CAAC,eAAe,IAAI1M,GAAG,CAAC,MAAQ,CAAC,SAAS4M,GAAQA,EAAOmK,mBAAoB,SAASnK,GAAQA,EAAOjL,qBAAsB,CAAC6K,EAAG,eAAe,CAACa,YAAY,uBAAuBX,MAAM,CAAC,YAAc,OAAO,UAAYwyD,EAAqBC,QAAQ,MAAQ,EAAED,EAAqBC,UAAUD,EAAqBt8D,QAAQ7O,OAAS,GAAK,0BAAkC,eAAe,GAAG,KAAO,GAAG,OAAS,GAAG,QAAU,GAAG,MAAQ,IAAIiM,GAAG,CAAC,QAAU,CAAC,SAAS4M,GAAQ,OAAIA,EAAO/V,KAAKkK,QAAQ,QAAQsL,EAAIozC,GAAG7yC,EAAO8yC,QAAQ,QAAQ,GAAG9yC,EAAO7S,IAAI,SAAkB,MAAO6S,EAAOjL,iBAAwB0K,EAAI+yD,oBAAoBF,KAAuB,SAAStyD,GAAQ,OAAIA,EAAO/V,KAAKkK,QAAQ,QAAQsL,EAAIozC,GAAG7yC,EAAO8yC,QAAQ,MAAM,GAAG9yC,EAAO7S,IAAI,CAAC,MAAM,WAAoB,MAAO6S,EAAOmK,kBAAyB1K,EAAIgzD,wBAAwBH,MAAwB,MAAQ,SAAStyD,GAAQA,EAAOmK,kBAAkBmoD,EAAqBC,SAAU,GAAM,KAAO,SAASvyD,GAAQ,OAAOP,EAAIgzD,wBAAwBH,IAAuB,MAAQ,SAAStyD,GAAQA,EAAOjL,mBAAoB8L,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,SAAS4T,GAAG,WAAW,MAAO,CAAGuxD,EAAqBC,QAEljE3yD,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAiC,OAAzBA,EAAOmK,kBAAyB1K,EAAIgzD,wBAAwBH,MAAyB,CAAC1yD,EAAG,SAAS,CAACH,EAAIc,GAAG,aAAa,GAAGX,EAAG,QAAQ,CAACE,MAAM,CAAC,UAAYwyD,EAAqBt8D,QAAQ7O,OAAO,KAAO,GAAG,MAAQ,IAAIiM,GAAG,CAAC,MAAQ,SAAS4M,GAAiC,OAAzBA,EAAOmK,kBAAyB1K,EAAI+yD,oBAAoBF,MAAyB,CAAC1yD,EAAG,SAAS,CAACH,EAAIc,GAAG,WAAW,IAAI,GAFsoDX,EAAG,MAAM,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GACj+E,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,MAAMH,EAAIwB,GAAG,CAAC7N,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,qBAAsB/W,GAAI,CAACwM,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,kBAAkBmoD,EAAqBC,SAAU,KAAQ,CAAC3yD,EAAG,SAAS,CAACH,EAAIc,GAAG,WAAW,IAAI,OAAO,MAAK,IAAO,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,6BAA6B,KAA6bmB,OAAM,GAAM,CAACvU,IAAI,UAAU4T,GAAG,WAAW,MAAO,CAACnB,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GACv4B,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,MAAMH,EAAIwB,GAAG,CAAC7N,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,qBAAsB/W,GAAI,CAACwM,EAAG,SAAS,CAACH,EAAIc,GAAG,oCAAoC,OAAO,MAAK,IAAO,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,sDAAsDmB,OAAM,IAAO,MAAK,GAAMxB,MAAM,CAACrT,MAAOylE,EAA4B,QAAEnyD,SAAS,SAAUC,GAAMX,EAAIi7C,KAAK4X,EAAsB,UAAWlyD,IAAME,WAAW,kCAAkCV,EAAG,OAAO,CAACa,YAAY,+BAA+B,CAACb,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GACjjB,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,MAAMH,EAAIwB,GAAG,CAAC7N,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,qBAAsB/W,GAAI,CAAGqM,EAAIizD,gBAAkOjzD,EAAIkC,KAArN/B,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAiC,OAAzBA,EAAOmK,kBAAyB1K,EAAIkzD,gBAAgBL,MAAyB,CAAC1yD,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,QAAQ,CAACL,EAAIc,GAAG,yBAAyB,IAAa,OAAO,MAAK,IAAO,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,4BAA4BX,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAChe,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,MAAMH,EAAIwB,GAAG,GAAG7N,GAAI,CAACwM,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,CAACL,EAAIc,GAAG,gCAAgC,IAAI,OAAO,MAAK,IAAO,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,6CAA8Cd,EAAIizD,iBAAmBjzD,EAAImzD,mBAAmBN,EAAqB7yC,UAAUtqB,IAAKyK,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAC9Y,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,MAAMH,EAAIwB,GAAG,CAAC7N,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,qBAAsB/W,GAAI,CAACwM,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,SAAW,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,CAACL,EAAIc,GAAG,oCAAoC,IAAI,OAAO,MAAK,IAAO,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,yBAAyBX,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQ,IAAIe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GACjX,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,MAAMH,EAAIwB,GAAG,GAAG7N,GAAI,CAACwM,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAiC,OAAzBA,EAAOmK,kBAAyB1K,EAAI8xD,mBAAmBe,EAAqB7yC,UAAUtqB,OAAO,CAACyK,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,CAACL,EAAIc,GAAG,mCAAmC,IAAI,OAAO,MAAK,IAAO,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,yBAAyB,IAAI,GAAGX,EAAG,4BAA4B,CAACA,EAAG,OAAO,CAACa,YAAY,eAAe,CAAChB,EAAIc,GAAG,yDAAyDX,EAAG,YAAY,CAACE,MAAM,CAAC,IAAM,GAAG,MAAQ,oBAAoB,YAAY,OAAOe,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAC7lB,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,MAAMH,EAAIwB,GAAG,CAAC7N,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,qBAAsB/W,GAAI,CAACwM,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,CAACL,EAAIc,GAAG,gCAAgC,OAAO,MAAK,IAAO,CAACX,EAAG,OAAO,CAACH,EAAIc,GAAG,2JAA2J,GAAGX,EAAG,SAASH,EAAI29C,GAAI39C,EAAsB,oBAAE,SAASqH,GAAM,OAAOlH,EAAG,cAAc,CAACzS,IAAI2Z,EAAK3R,GAAG2K,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQgH,EAAK3R,GAAG,MAAQ2R,EAAKhb,MAAMsH,GAAG,CAAC,OAAS,SAAS4M,GAAQ,OAAOP,EAAIozD,yBAAyBP,EAAqB7yC,UAAW3Y,KAAQ5G,MAAM,CAACrT,MAAOylE,EAAqB7yC,UAA2B,kBAAEtf,SAAS,SAAUC,GAAMX,EAAIi7C,KAAK4X,EAAqB7yC,UAAW,oBAAqBrf,IAAME,WAAW,uDAAuD,MAAK,IAAI,IAAI,QAAO,IAAI,GAAGV,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,MAAQ,SAAS1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIqzD,wBAAwB,CAAClzD,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACL,EAAIc,GAAG,cAAcd,EAAIc,GAAG,aAAaX,EAAG,aAAa,IAAI,IAAI,GAAGA,EAAG,iBAAiB,CAACa,YAAY,QAAQ,CAACb,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,KAAO,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIQ,WAAW,CAACR,EAAIc,GAAG,cAAc,IAAI,IAAI,IAAI,IAAI,IAClyC,EAAkB,G,+HCqQhBwyD,EAAOp+C,eAAUq+C,OAAiBn+C,QAClC3V,GAAWyV,eAAUs+C,OAAgBp+C,QACrChX,GAAQ8W,eAAUu+C,OAAar+C,QAC/BjX,GAAO+W,eAAUypB,OAAYvpB,QAeds+C,GAAsB,wDAA3C,iD,0BAGE,EAAAngB,QAAS,EACT,EAAAogB,sBAAgD,GAChD,EAAAhB,MAAkB,GALpB,EAA2C,kEAOzC,WACE,IAAMiB,EAAoBplE,KAAKmlE,sBAAsBr2D,QAAO,SAAA3Q,GAAC,OAAIA,EAAEqzB,UAAUna,SAAW1H,GAAK0H,UAGvFgb,EAAkD9N,aAAaU,QAAQ,yBAE7E,GAAwC,MAApCoN,EAA0C,CAC5C,IAAMC,EAA4DlN,KAAKC,MAAMgN,GAE7E,OADA+yC,EAAkBj0C,SAAQ,SAAAhzB,GAAC,aAAKA,EAAEg0B,SAAF,UAAaG,EAAsBhwB,MAAK,SAAAoX,GAAI,OAAIA,EAAKxS,KAAO/I,EAAEqzB,UAAUtqB,aAAxE,aAAa,EAAgEirB,YACtGizC,EAAkBr3D,MAAK,SAACC,EAAQC,GAAT,OAAoBD,EAAEmkB,SAAWlkB,EAAEkkB,YAEjE,OAAOizC,GAlB8B,IAsBzC,SAAkCC,GAChCrlE,KAAKmlE,sBAAwBE,EAC7B,IAAM/yC,EAAwBtyB,KAAKmlE,sBAAsBn2D,KAAI,SAAC7Q,EAAGnF,GAAJ,MAAW,CAAEkO,GAAI/I,EAAEqzB,UAAUtqB,GAAIirB,SAAUn5B,MACxGgH,KAAKsU,MAAM,oBAAqBge,GAChC/N,aAAaoB,QAAQ,wBAAyBP,KAAKQ,UAAU0M,MA1BtB,sBA6BzC,WACE,OAAOwyC,EAAKlzC,aA9B2B,2BAiCzC,WACE,OAAOkzC,EAAKpyC,kBAlC2B,2BAqCzC,WACE,OAA6C,IAAtC1yB,KAAKmlE,sBAAsBjsE,SAtCK,8BAyCzC,WAAsB,WACpB,OAAO,SAACu4B,GACN,OAAOA,IAAgB,EAAKiB,gBAAgBxrB,MA3CP,8BA+CzC,WACE,OAAO0I,GAAMsH,MAAMpI,QAAO,SAAAw2D,GAAC,OAAIA,EAAEp+D,KAAOyI,GAAK0H,YAhDN,kBAmDzC,WACEzH,GAAMmtC,eACN/8C,KAAKulE,wBACLvlE,KAAK+kD,QAAS,IAtDyB,mBAyDzC,WACE/kD,KAAK+kD,QAAS,EACd/kD,KAAKmkE,MAAQ,KA3D0B,mCA8DzC,WACE,IAAMgB,EAAgD,GAEtDnlE,KAAK4xB,WAAWT,SAAQ,SAAAK,GACtB2zC,EAAsB3rE,KAAK,CAAEg4B,UAAWA,EAAW8yC,SAAS,EAAOv8D,QAASypB,EAAU3zB,UAGxFmC,KAAKmlE,sBAAwBA,IArEU,yFAwEzC,6GACQK,EAAmB,kBAAoBxlE,KAAK4xB,WAAW14B,OAAS,GADxE,kBAI+B4rE,EAAKD,mBAAmBW,GAJvD,OAIUhzC,EAJV,OAKIxyB,KAAKsjE,mBAAmB9wC,EAAatrB,IAErC+J,GAASw0D,aAAa,CACpB73D,KAAM,qBAAF,OAAuB83D,OAAYhmD,WAAW8lD,GAA9C,4BACJ79B,MAAO,YAGT3nC,KAAKulE,wBAZT,qDAcIt0D,GAASw0D,aAAa,CAAE73D,KAAM,+BAdlC,0DAxEyC,yFA0FzC,SAAmB6jB,GACjBqzC,EAAKxB,mBAAmB7xC,KA3Fe,sFA8FzC,WAAsB4yC,GAAtB,uGAC0BrkE,KAAK2lE,cAAcC,KACzC,mBADsB,2CAEcF,OAAYhmD,WAAW2kD,EAAqB7yC,UAAU3zB,MAFpE,iFAD1B,UACQgoE,EADR,OAMOA,EANP,0EASUf,EAAKJ,gBAAgBL,EAAqB7yC,UAAUtqB,IAT9D,OAWI+J,GAASw0D,aAAa,CACpB73D,KAAM,iBAAF,OAAmB83D,OAAYhmD,WAAW2kD,EAAqB7yC,UAAU3zB,MAAzE,4BACJ8pC,MAAO,YAGT3nC,KAAKulE,wBAhBT,qDAkBIt0D,GAASw0D,aAAa,CAAE73D,KAAM,+BAlBlC,0DA9FyC,oJAoHzC,WAA0By2D,GAA1B,0FACOA,EAAqBt8D,QAAQ7O,OADpC,iEAIU4sE,EAAoBhB,EAAKiB,cAAc1B,EAAqB7yC,UAAUtqB,IAC5E4+D,EAAkBjoE,KAAOwmE,EAAqBt8D,QALlD,SAMU+8D,EAAKkB,gBAAgBF,GAN/B,OAQI70D,GAASw0D,aAAa,CACpB73D,KAAM,+BACN+5B,MAAO,YAGT08B,EAAqBC,SAAU,EAbnC,qDAeIrzD,GAASw0D,aAAa,CAAE73D,KAAM,+BAC9BpO,QAAQjC,MAAM,oCAAd,MAhBJ,0DApHyC,+FAwIzC,SAAwB8mE,GACtBA,EAAqBt8D,QAAUs8D,EAAqB7yC,UAAU3zB,KAC9DwmE,EAAqBC,SAAU,IA1IQ,+FA6IzC,WAA+B9yC,EAAuB3Y,GAAtD,oHAEUisD,EAAKkB,gBAAgBx0C,GAF/B,uBAGUszC,EAAKmB,oBAHf,OAIIjmE,KAAKulE,wBACD5yC,EAAmBmyC,EAAKiB,cAAcv0C,EAAUtqB,IAEhDgX,EAPR,UAOgByU,EAAiBuzC,yBAPjC,aAOgB,EAAoC/nD,WAAU,SAAAjX,GAAE,OAAIA,IAAO2R,EAAK3R,WAC9DpJ,IAAVogB,GAAuBA,GAAS,EAClCjN,GAASw0D,aAAa,CACpB73D,KAAM,gCAAF,OAAkC83D,OAAYhmD,WAAW7G,EAAKhb,MAA9D,QACJ8pC,MAAO,YAGT12B,GAASw0D,aAAa,CACpB73D,KAAM,yCAAF,OAA2C83D,OAAYhmD,WAAW7G,EAAKhb,MAAvE,QACJ8pC,MAAO,YAhBf,qDAoBI12B,GAASw0D,aAAa,CAAE73D,KAAM,gDAC9BpO,QAAQjC,MAAM,gDAAd,MArBJ,0DA7IyC,iEAAS2R,QAC5B0G,gBAArBuwD,eAAI,kBAAiB,qCADHjB,GAAsB,gBAN1CjvD,eAAU,CACTC,WAAY,CACVkvC,qBACAghB,kBAGiBlB,cCtS4X,M,iQCQ7Y,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,MAIa,MAAiB,QAsBhC,KAAkB,GAAW,CAAC7uD,QAAA,KAAKC,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUy3C,aAAA,KAAUx3C,WAAA,KAAQ4vD,mBAAA,KAAgBC,0BAAA,KAAuBC,yBAAA,KAAsBC,oBAAA,KAAiB9vD,SAAA,KAAM+vD,SAAA,KAAMC,aAAA,KAAU7vD,WAAA,KAAQC,cAAA,KAAWC,YAAA,KAASC,cAAA,QAAcC,YAAA,O,kFC6Z1NtH,GAAO+W,eAAUypB,OAAYvpB,QAC7B/W,GAAU6W,eAAUC,QAAeC,QACnClX,GAAYgX,eAAUigD,QAAiB//C,QACvCk+C,GAAOp+C,eAAUq+C,OAAiBn+C,QAClCggD,GAAyBlgD,eAAU/V,QAA+BiW,QAClEnW,GAAUiW,eAAUmgD,QAAejgD,QAUpBkgD,GAAO,wDAA5B,iD,0BAIE,EAAA5D,YAAc,KACd,EAAAU,uBAAwB,EACxB,EAAAM,gBAA4B,GAC5B,EAAAlyC,QAAoB,GACpB,EAAA1e,8BAAgC,WAChC,EAAAC,gBAAsE,CACpEU,SAAU1S,MAAS2S,QAAQ,QAAQxL,OAAO,cAC1CyL,OAAQ5S,MAASmH,OAAO,eAE1B,EAAAq7D,wBAA0B,CACxB9vD,SAAU,GACVE,OAAQ,GACRM,gBAAiB,eACjBnB,8BAA+B,IAEjC,EAAAU,wBAA0B,CAAC,MAAO,QAAS,SAAU,OAAQ,KAAM,QAAS,QAC5E,EAAA+yD,eAAiB,CACf,CACElpE,KAAM,cACNoe,KAAM,kBAER,CACEpe,KAAM,kBACNoe,KAAM,kBAER,CACEpe,KAAM,mCACNoe,KAAM,OAER,CACEpe,KAAM,uBACNoe,KAAM,SAER,CACEpe,KAAM,cACNoe,KAAM,eAER,CACEpe,KAAM,kBACNoe,KAAM,WAER,CACEpe,KAAM,gBACNoe,KAAM,gBAER,CACEpe,KAAM,sBACNoe,KAAM,iBAER,CACEpe,KAAM,kBACNoe,KAAM,kBAER,CACEpe,KAAM,mCACNoe,KAAM,QA3DZ,EAA4B,6HA+D1B,mIAC0Bjc,KAAK2lE,cAAcC,KACzC,wBADsB,6EAEgD5lE,KAAKkkE,gBAAgBl1D,KACzF,SAAAijB,GAAM,OAAIA,EAAOp0B,QAHG,iGAD1B,UACQgoE,EADR,OAQOA,EARP,kEAU8B7lE,KAAKgnE,uBAAuB7iD,WAV1D,iGAUmBlG,EAVnB,KAWIA,EAAOgpD,QAAQ91C,SAAQ,SAAA9iB,GAAM,OAAIlV,OAAOwc,OAAOtH,EAAQ,EAAK01D,4BAXhE,UAYmB/jE,KAAKknE,uBAAuBjpD,GAZ/C,eAYIA,EAZJ,iBAaU2oD,GAAuBO,6BAA6BlpD,GAb9D,mKAeQ2oD,GAAuBQ,iCAf/B,QAiBEpnE,KAAKgyB,QAAU,GACfhyB,KAAKkkE,gBAAkB,GAlBzB,gEA/D0B,sJAoF1B,WAA6BjmD,GAA7B,oHACgCA,EAAOgpD,QAAQ9iD,WAD/C,qFACcjG,EADd,KACqB7P,EADrB,KAEUoe,EAAiBpe,EAAOyG,aAAa9F,KAAI,SAAA+F,GAAQ,OAAIA,EAAS7N,MACrC,mBAA3BmH,EAAOoG,kBACTpG,EAAO4F,SAAW1S,IAAOC,IAAI,IAAIiU,KAAQ,cAAcC,SAASnV,OAAWoU,oBAAoBtG,EAAO4F,SAAU5F,EAAO8F,QAAS,SAASzL,SACzI2F,EAAO8F,OAAS5S,IAAOC,IAAI,IAAIiU,KAAQ,cAAc/M,UAEnD3O,OAPR,OASYsU,EAAOoG,gBATnB,OAUW,iBAVX,QAeW,uBAfX,QAoBW,0BApBX,QAyBW,aAzBX,QAgCW,gBAhCX,QAuCW,mBAvCX,0CAWuBhE,GAAQqc,yBAAyB,CAC9CL,eAAgBA,EAAe3d,QAAO,SAAC5H,GAAD,OAAgB0iB,OAAOy9C,UAAUngE,MAAKy3C,SAZtF,eAWQ5kD,EAXR,qDAgBuB0W,GAAQuc,wBAAwB,CAC7CP,eAAgBA,EAAe3d,QAAO,SAAC5H,GAAD,OAAgB0iB,OAAOy9C,UAAUngE,MAAKy3C,SAjBtF,eAgBQ5kD,EAhBR,qDAqBuB0W,GAAQsc,2BAA2B,CAChDN,eAAgBA,EAAe3d,QAAO,SAAC5H,GAAD,OAAgB0iB,OAAOy9C,UAAUngE,MAAKy3C,SAtBtF,eAqBQ5kD,EArBR,qDA0BuB0W,GAAQmc,+BAA+B,CACpDH,eAAgBA,EAAe3d,QAAO,SAAC5H,GAAD,OAAgB0iB,OAAOy9C,UAAUngE,MAAKy3C,OAC5E1qC,SAAU5F,EAAO4F,SACjBE,OAAQ9F,EAAO8F,SA7BzB,eA0BQpa,EA1BR,qDAiCuB0W,GAAQic,kCAAkC,CACvDD,eAAgBA,EAAe3d,QAAO,SAAC5H,GAAD,OAAgB0iB,OAAOy9C,UAAUngE,MAAKy3C,OAC5E1qC,SAAU5F,EAAO4F,SACjBE,OAAQ9F,EAAO8F,SApCzB,eAiCQpa,EAjCR,uCAwCqD,aAAzCsU,EAAOiF,8BAxCnB,kCAyCyB7C,GAAQmc,+BAA+B,CACpDH,eAAgBA,EAAe3d,QAAO,SAAC5H,GAAD,OAAgB0iB,OAAOy9C,UAAUngE,MAAKy3C,OAC5E1qC,SAAU5F,EAAO4F,SACjBE,OAAQ9F,EAAO8F,SA5C3B,QAyCUpa,EAzCV,kCA8C4D,gBAAzCsU,EAAOiF,8BA9C1B,kCA+CyB7C,GAAQic,kCAAkC,CACvDD,eAAgBA,EAAe3d,QAAO,SAAC5H,GAAD,OAAgB0iB,OAAOy9C,UAAUngE,MAAKy3C,OAC5E1qC,SAAU5F,EAAO4F,SACjBE,OAAQ9F,EAAO8F,SAlD3B,QA+CUpa,EA/CV,uFA0DQ8pE,QAAQ9pE,IAASmV,OAAIkF,IAAI6J,EAAOgpD,QAAQ/oD,GAAQ,gBAAiBnkB,GA1DzE,2KA4DSkkB,GA5DT,gEApF0B,4FAmJ1B,WACE,IAAMqpD,EAA4C,GAKlD,OAJAtnE,KAAKkkE,gBAAgB/yC,SAAQ,SAAAc,GAC3B,IAAMs1C,EAAeX,GAAuBY,cAAcv1C,EAAOw1C,UAC7C,MAAhBF,GAAsBD,EAAsB9tE,KAAK+tE,MAEhDD,IAzJiB,gCA4J1B,WAAwB,WAChBI,EAAgD,GAWtD,OAVA1nE,KAAKgnE,uBAAuB71C,SAAQ,SAAAlT,GAClC,IAAI0pD,GAA0B,EAC9B1pD,EAAOgpD,QAAQ91C,SAAQ,SAAA9iB,GAChBA,EAAOyG,aAAa5b,QACrBmV,EAAOyG,aAAarP,MAAK,SAAAsP,GAAQ,aAAK,EAAKC,iBAAL,UAAsBD,EAASE,YAA/B,aAAsB,EAAeC,cAC7EyyD,GAA0B,MAG1BA,GAAyBD,EAA0BluE,KAAKykB,MAEvDypD,IAxKiB,oCA2K1B,WAA4B,WACpBE,EAAmB5nE,KAAKkkE,gBAAgBp1D,QAAO,SAAAmjB,GAAM,OAAI,EAAK41C,qBAAqBpiE,MAAK,SAAAwY,GAAM,OAAIA,EAAO/W,KAAO+qB,EAAOw1C,eAC7H,OAAOG,EAAiB54D,KAAI,SAAAijB,GAAM,OAAIA,EAAOp0B,UA7KrB,qCAgL1B,WAA6B,MAC3B,OACoD,gBAAjDmC,KAAK+jE,wBAAwBtvD,iBACsB,mBAAjDzU,KAAK+jE,wBAAwBtvD,iBAAwG,iBAAhE,UAAAzU,KAAK+jE,+BAAL,eAA8BzwD,gCACnD,0BAAjDtT,KAAK+jE,wBAAwBtvD,kBAC/BzU,KAAK6nE,qBAAqB3uE,OAAS,EAEnC,oBAAoB8G,KAAK8nE,yBAAzB,qFACyC,IAAhC9nE,KAAKkkE,gBAAgBhrE,OACvB,wBACK,KA1LU,8BA6L1B,SAAiB+b,GACf,OAAOjV,KAAKgU,wBAAwBmB,SAASF,KA9LrB,mBAiM1B,WACE,OAAOtF,GAAKo4D,UAlMY,0BAqM1B,WACE,OAAOp4D,GAAKq4D,iBAtMY,mBA0M1B,WACE,OAAOn4D,GAAQo4D,gBAAgBl6D,MAAK,SAAU2V,EAAG+xB,GAC/C,IAAMznC,EAAI0V,EAAE7lB,KAAKi3B,cACf7mB,EAAIwnC,EAAE53C,KAAKi3B,cAEb,OAAO9mB,GAAKC,EAAI,EAAID,EAAIC,EAAI,GAAK,OA/MX,+BAmN1B,WACE,OAAO4B,GAAQq4D,sBApNS,4BAuN1B,WACE,OAAOv4D,GAAKw4D,gBAxNY,8BA2N1B,WACE,IAAM/C,EAAoBN,GAAKlzC,WAAW9iB,QAAO,SAAA3Q,GAAC,OAAIA,EAAEkZ,SAAW1H,GAAK0H,UAGlEgb,EAAkD9N,aAAaU,QAAQ,yBAE7E,GAAwC,MAApCoN,EAA0C,CAC5C,IAAMC,EAA4DlN,KAAKC,MAAMgN,GAE7E,OADA+yC,EAAkBj0C,SAAQ,SAAAhzB,GAAC,aAAKA,EAAEg0B,SAAF,UAAaG,EAAsBhwB,MAAK,SAAAoX,GAAI,OAAIA,EAAKxS,KAAO/I,EAAE+I,aAA9D,aAAa,EAAsDirB,YAC5FizC,EAAkBr3D,MAAK,SAACC,EAAQC,GAAT,OAAoBD,EAAEmkB,SAAWlkB,EAAEkkB,YAEjE,OAAOizC,IAtOe,4BA0O1B,WACE,OAAON,GAAKlzC,WAAW9iB,QAAO,SAAA3Q,GAAC,OAAIA,EAAEkZ,SAAW1H,GAAK0H,YA3O7B,2BA8O1B,WACE,OAAOytD,GAAKpyC,kBA/OY,+BAkP1B,SAAkBP,GAChB2yC,GAAKsD,yBAAyBj2C,KAnPN,+BAsP1B,SAAkBX,GAChB,MAAyB,cAArBxxB,KAAKsvD,OAAOzxD,MACT2zB,EAAUtqB,KAAOlH,KAAK0yB,gBAAgBxrB,KAxPrB,mCA2P1B,SAAsBw8D,GACpB,GAAKA,EACL,MAAO,CAAE2E,UAAW,UAAF,OAAY3E,EAAZ,WA7PM,wCAgQ1B,SAA2B9kD,GAAsB,MAC/C,iBAAOA,EAAO0pD,mBAAd,aAAO,EAAoBpqB,oBAjQH,gCAoQ1B,SAAmBzsB,GACQ,cAArBzxB,KAAKsvD,OAAOzxD,MAAsBmC,KAAKwtD,QAAQh0D,KAAK,KACxDsrE,GAAKxB,mBAAmB7xC,KAtQA,wCAyQ1B,WACEzxB,KAAKuoE,uBAAuB3C,SA1QJ,uCA6Q1B,SAA0Bn0C,GACxB,IAAMD,EAAYszC,GAAKiB,cAAct0C,GACrCzxB,KAAKgyB,QAAUR,EAAUQ,QAAQljB,QAAO,SAAAmjB,GAAS,MACzCs1C,EAAeX,GAAuBY,cAAcv1C,EAAOw1C,UACjE,GAA8B,sBAA1B,UAAAx1C,EAAOj2B,YAAP,eAAaqH,WAAmC4uB,EAAOa,QAAvD,OAAiEy0C,QAAjE,IAAiEA,KAAc9oD,SAAW8oD,EAAa9oD,QAAQvlB,OAAS,EAC1H,OAAO+4B,KAGXjyB,KAAK4jE,uBAAwB,IArRL,wCAwR1B,WACE5jE,KAAKgyB,QAAU,GACfhyB,KAAKkkE,gBAAkB,KA1RC,8EA6R1B,8GACQr0D,GAAQ24D,yBADhB,uBAEQ94D,GAAU+4D,sBAFlB,uBAGQ3D,GAAKmB,oBAHb,UAI2B,cAArBjmE,KAAKsvD,OAAOrzC,KAJlB,gCAI8C6oD,GAAK4D,sBAJnD,gDA7R0B,8DAASx5D,QACJ0G,gBAA9BuwD,eAAI,2BAA0B,8CACTvwD,gBAArBuwD,eAAI,kBAAiB,qCAFHW,GAAO,gBAR3B7wD,eAAU,CACTC,WAAY,CACVgvD,0BACA/uD,4BACArC,uBACAsxC,yBAGiB0hB,cCrd6W,M,kMCQ9X,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,MAIa,MAAiB,QAwBhC,KAAkB,GAAW,CAACzwD,QAAA,KAAK63C,QAAA,KAAKC,cAAA,KAAWwa,YAAA,KAASjyD,SAAA,KAAM23C,QAAA,KAAKoY,SAAA,KAAMmC,cAAA,KAAWlC,aAAA,KAAUmC,mBAAA,KAAgBC,iBAAA,QAAiBC,iBAAA,KAAcC,eAAA,QAAeC,SAAA,KAAMC,qBAAA,KAAkBC,mBAAA,KAAgB7a,QAAA,KAAK8a,WAAA,KAAQC,cAAA,KAAWpyD,YAAA,OC3ChO,IAAI,GAAS,WAAa,IAAIzF,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAQD,EAAgB,aAAEG,EAAG,OAAO,CAACA,EAAG,SAAS,CAACH,EAAIc,GAAG,uBAAuBX,EAAG,6BAA6BA,EAAG,OAAO,CAACH,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAIhI,eAAemI,EAAG,SAAS,CAACH,EAAIc,GAAG,uBAAuBX,EAAG,OAAO,CAACa,YAAY,YAAY,CAAChB,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAI89C,OAAOr4B,KAAK24B,aAAgC,gBAAlBp+C,EAAI89C,OAAOzxD,KAAsB8T,EAAG,OAAO,CAACa,YAAY,YAAY,CAAChB,EAAIc,GAAG,IAAId,EAAI6B,GAAG7B,EAAI83D,2BAA2B93D,EAAIkC,MAAM,GAAGlC,EAAIkC,MACnf,GAAkB,GCDlB,I,UAAS,WAAa,IAAIlC,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACa,YAAY,2BAA2B,CAACb,EAAG,OAAO,CAACa,YAAY,kBAAkB85C,MAAM96C,EAAI+3D,UAAU,CAAC53D,EAAG,MAAM,CAACa,YAAY,QAAQX,MAAM,CAAC,IAAM,GAAG,IAAML,EAAIg4D,kBAAmBh4D,EAAY,SAAEG,EAAG,OAAO,CAACH,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAIi4D,gBAAgBj4D,EAAIkC,SACtV,GAAkB,G,aCwBhB7D,GAAU6W,eAAUC,QAAeC,QAGpB8iD,GAAqB,wDAA1C,iD,0BACE,EAAAC,aAAwB,UACxB,EAAAC,iBAA4B,GAC5B,EAAAC,gBAA2B,GAH7B,EAA0C,mDAMxC,SAAaxhD,EAAWF,GAC2B,QAA7CE,EAAGvoB,OAAOwE,WAAa6jB,EAAKroB,OAAOwE,UACrCtE,KAAK8pE,mBAAL,UAAwB9pE,KAAK6mB,qBAA7B,iBAAwB,EAAoByhD,mBAA5C,aAAwB,EAAiCpqB,qBARrB,sCAaxC,WAAwB,QACtBl+C,KAAK8pE,mBAAL,UAAwB9pE,KAAK6mB,qBAA7B,iBAAwB,EAAoByhD,mBAA5C,aAAwB,EAAiCpqB,qBAdnB,yBAiBxC,WACE,OAAOruC,GAAQgX,gBAlBuB,qBAqBxC,WAAO,QACL7mB,KAAK8pE,mBAAL,UAAwB9pE,KAAK6mB,qBAA7B,iBAAwB,EAAoByhD,mBAA5C,aAAwB,EAAiCpqB,qBAtBnB,gCAyBxC,SAAmBhjC,GACZA,IACLlb,KAAKupE,SAAWQ,QAAwBlrB,6BAA6B3jC,GACrElb,KAAKwpE,aAAeO,QAAwB3rB,6BAA6BljC,GACzElb,KAAKypE,YAAcM,QAAwB9rB,yBAAyB/iC,MA7B9B,oBAmCxC,WACE,OAAOlb,KAAK2pE,cApC0B,IAgCxC,SAAaJ,GACXvpE,KAAK2pE,aAAeJ,IAjCkB,wBAyCxC,WACE,OAAOvpE,KAAK4pE,kBA1C0B,IAsCxC,SAAiBttE,GACf0D,KAAK4pE,iBAAmBttE,IAvCc,uBA+CxC,WACE,OAAO0D,KAAK6pE,iBAhD0B,IA4CxC,SAAgBj8D,GACd5N,KAAK6pE,gBAAkBj8D,IA7Ce,oBAmDxC,WACE,OAAO,MApD+B,GAASsB,QAMjD0G,gBADCI,eAAM,WACP,kCAOAJ,gBADCI,eAAM,gBAAiB,CAAEg0D,MAAM,KAChC,8CAbmBN,GAAqB,gBADzCzzD,QACoByzD,cC5B2X,MCO5Y,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,M,QCGT75D,GAAU6W,eAAUC,QAAeC,QAOpBqjD,GAAW,0KAC9B,WAAc,MACZ,iBAAOp6D,GAAQgX,qBAAf,aAAO,EAAuBhpB,OAFF,wBAK9B,WACE,OAAOmC,KAAKsvD,OAAOxvD,OAAOwE,WANE,kCAS9B,WAA0B,MACxB,GAAI,UAACuL,GAAQgX,qBAAT,OAAC,EAAuB03B,sBAA5B,CACA,IAAM3/B,EAAS/O,GAAQgX,cACjBytC,EAAUgH,GAAW18C,EAAOsrD,kBAC5B1V,EAAU8G,GAAW18C,EAAOurD,kBAElC,OAAO7V,EAAU,MAAQE,OAfG,GAAStlD,QAApB+6D,GAAW,gBAL/Bh0D,eAAU,CACTC,WAAY,CACVk0D,8BAGiBH,cAkBrB,SAAS3O,GAAWvP,GAClB,IAAMse,EAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACvFvnE,EAAO,IAAI2S,KAAKs2C,GAEtB,gBAAUjpD,EAAK0lB,UAAf,YAA4B6hD,EAAOvnE,EAAKwnE,YAAxC,YAAuDxnE,EAAKynE,eClDwU,UCQlY,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC7zD,SAAA,O,2CCtB1B8zD,GAAgB,aAIpBA,GAAcpxE,UAAUqxE,WAAa,WACjC,OAAO7tD,QAAIpe,IAAI,aAGJ,WAAIgsE,GCVf,GAAS,WAAa,IAAIh5D,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACzS,IAAIsS,EAAIk5D,aAAa74D,MAAM,CAAC,gBAAgB,qBAAqB,YAAY,OAAO1M,GAAG,CAAC,gBAAgBqM,EAAIw0C,YAAY/zC,MAAM,CAACrT,MAAO4S,EAAQ,KAAEU,SAAS,SAAUC,GAAMX,EAAIo0D,KAAKzzD,GAAKE,WAAW,SAAS,CAACV,EAAG,SAAS,CAACA,EAAG,eAAe,CAACa,YAAY,UAAU,CAACb,EAAG,OAAO,CAACH,EAAIc,GAAG,yCAAyCX,EAAG,SAAS,CAACoB,IAAI,GAAGP,YAAY,OAAOX,MAAM,CAAC,GAAK,wBAAwB,CAAC,CAACF,EAAG,SAAS,CAACA,EAAG,QAAQ,CAACa,YAAY,UAAUrN,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIm5D,gBAAgB,MAAM,CAACn5D,EAAIc,GAAG,sBAAkD,GAA3Bd,EAAIo5D,oBAA0Bj5D,EAAG,OAAO,CAAC+vD,YAAY,CAAC,MAAQ,MAAM,cAAc,SAAS,CAAClwD,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAIo5D,wBAAwBp5D,EAAIkC,KAAK/B,EAAG,aAAa,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,UAAUL,EAAI29C,GAAI39C,EAAmB,iBAAE,SAASq5D,EAAQC,GAAU,OAAOn5D,EAAG,cAAc,CAACzS,IAAI4rE,EAASt4D,YAAY,aAAakvD,YAAY,CAAC,QAAU,UAAU,CAAC/vD,EAAG,MAAM,CAACa,YAAY,gBAAgB,CAACb,EAAG,MAAM,CAACa,YAAY,WAAW,CAAsB,YAApBq4D,EAAQ1/C,SAAwBxZ,EAAG,MAAM,CAACa,YAAY,eAAekvD,YAAY,CAAC,MAAQ,QAAQ,mBAAmB,MAAM,OAAS,QAAQ,CAAClwD,EAAIc,GAAGd,EAAI6B,GAAGw3D,EAAQ1/C,aAAaxZ,EAAG,MAAM,CAACa,YAAY,eAAekvD,YAAY,CAAC,MAAQ,QAAQ,mBAAmB,UAAU,OAAS,QAAQ,CAAClwD,EAAIc,GAAGd,EAAI6B,GAAGw3D,EAAQ1/C,eAAgB0/C,EAAuB,gBAAEl5D,EAAG,MAAM,CAACa,YAAY,UAAUkvD,YAAY,CAAC,eAAe,QAAQ,CAAC/vD,EAAG,IAAI,CAACH,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAIu5D,WAAWF,EAAQG,gBAAgBvqE,iBAAiB+Q,EAAIkC,KAAK/B,EAAG,MAAM,CAACa,YAAY,WAAW,CAACb,EAAG,SAAS,CAACiB,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAC3oD,IAAI5N,EAAK4N,EAAI5N,GACb,MAAO,CAACwM,EAAG,QAAQH,EAAIwB,GAAG,CAACR,YAAY,OAAOX,MAAM,CAAC,KAAO,GAAG,MAAQ,IAAI1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQA,EAAOmK,qBAAsB/W,GAAI,CAACwM,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIc,GAAG,wBAAwB,OAAO,MAAK,IAAO,CAACX,EAAG,SAAS,CAACA,EAAG,cAAc,CAACA,EAAG,oBAAoB,CAACxM,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIy5D,mBAAmBJ,EAAQ3jE,OAAO,CAACsK,EAAIc,GAAG,kBAAkB,IAAI,IAAI,IAAI,KAAMu4D,EAAuB,gBAAEl5D,EAAG,MAAM,CAACA,EAAG,MAAM,CAAC+vD,YAAY,CAAC,cAAc,SAAS,CAAClwD,EAAIc,GAAG,IAAId,EAAI6B,GAAGw3D,EAAQrhE,YAAY,MAAMgI,EAAI6B,GAAG7B,EAAI05D,iBAAiBL,EAAQ5/C,qBAAqB,OAAQ4/C,EAA0B,mBAAEl5D,EAAG,OAAOH,EAAIkC,OAAOlC,EAAIkC,KAAK/B,EAAG,MAAM,CAACA,EAAG,MAAM,CAACH,EAAIc,GAAG,IAAId,EAAI6B,GAAGw3D,EAAQM,kBAAkB,cAAa,IAAI,GAAGx5D,EAAG,QAAQ,CAACa,YAAY,UAAUrN,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIm5D,gBAAgB,MAAM,CAACn5D,EAAIc,GAAG,mBAA6C,GAAzBd,EAAI45D,kBAAwBz5D,EAAG,OAAO,CAAC+vD,YAAY,CAAC,MAAQ,MAAM,cAAc,SAAS,CAAClwD,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAI45D,sBAAsB55D,EAAIkC,KAAK/B,EAAG,aAAa,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,UAAUL,EAAI29C,GAAI39C,EAAU,QAAE,SAASq5D,EAAQC,GAAU,OAAOn5D,EAAG,cAAc,CAACzS,IAAI4rE,EAASt4D,YAAY,cAAc,CAACb,EAAG,MAAM,CAACa,YAAY,YAAYrN,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAI65D,WAAWR,EAAQtY,mBAAmB,CAAC5gD,EAAG,MAAM,CAAC+vD,YAAY,CAAC,aAAa,QAAQ,MAAQ,OAAO,cAAc,SAAS,CAAC/vD,EAAG,IAAI,CAACH,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAIu5D,WAAWF,EAAQS,mBAAmB35D,EAAG,MAAM,CAAC+vD,YAAY,CAAC,cAAc,OAAO,YAAY,UAAU,CAAClwD,EAAIc,GAAG,IAAId,EAAI6B,GAAGw3D,EAAQ9yD,OAAO,OAAOpG,EAAG,MAAM,CAAC+vD,YAAY,CAAC,gBAAgB,QAAQ,CAAClwD,EAAIc,GAAG,IAAId,EAAI6B,GAAGw3D,EAAQvY,qBAAqB,cAAa,IAAI,GAAG3gD,EAAG,QAAQ,CAACa,YAAY,UAAUrN,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIm5D,gBAAgB,MAAM,CAACn5D,EAAIc,GAAG,cAAcX,EAAG,aAAa,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,UAAUL,EAAI29C,GAAI39C,EAAY,UAAE,SAASq5D,EAAQC,GAAU,OAAOn5D,EAAG,cAAc,CAACzS,IAAI4rE,EAASt4D,YAAY,cAAc,CAACb,EAAG,MAAM,CAACa,YAAY,aAAa,CAACb,EAAG,MAAM,CAAC+vD,YAAY,CAAC,aAAa,QAAQ,MAAQ,OAAO,cAAc,SAAS,CAAC/vD,EAAG,IAAI,CAACH,EAAIc,GAAGd,EAAI6B,GAAG7B,EAAIu5D,WAAWF,EAAQS,mBAAmB35D,EAAG,MAAM,CAAC+vD,YAAY,CAAC,cAAc,OAAO,YAAY,UAAU,CAAClwD,EAAIc,GAAG,IAAId,EAAI6B,GAAGw3D,EAAQ9yD,OAAO,OAAOpG,EAAG,MAAM,CAAC+vD,YAAY,CAAC,gBAAgB,QAAQ,CAAClwD,EAAIc,GAAG,IAAId,EAAI6B,GAAGw3D,EAAQvY,qBAAqB,cAAa,IAAI,IAAI,IAAI3gD,EAAG,MAAM,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,QAAU,KAAK,CAACF,EAAG,QAAQ,CAACa,YAAY,cAAcX,MAAM,CAAC,KAAO,OAAO,CAAmB,GAAjBL,EAAI+5D,UAAgB55D,EAAG,QAAQ,CAACa,YAAY,OAAOX,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAW1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIg6D,mBAAmB,CAACh6D,EAAIc,GAAG,wBAAwBd,EAAIkC,KAAuB,GAAjBlC,EAAI+5D,UAAgB55D,EAAG,QAAQ,CAACa,YAAY,OAAOX,MAAM,CAAC,KAAO,GAAG,MAAQ,WAAW1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQ,OAAOP,EAAIi6D,2BAA2B,CAACj6D,EAAIc,GAAG,gCAAgCd,EAAIkC,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IACvyF,GAAkB,G,uBCHtB,SAASg4D,GAAwBC,GAK/B,OAJIA,EAAU5xD,MAAM,0BAClB4xD,EAAY,uBACVA,EAAU5xD,MAAM,yBAClB4xD,EAAY,qBACNA,GACN,IAAK,qBACH,MAAO,8BACT,IAAK,sBACH,MAAO,4CACT,IAAK,oBACH,MAAO,2CACT,IAAK,qBACH,MAAO,mDACT,IAAK,iBACH,MAAO,yCACT,IAAK,sBACH,MAAO,0CACT,IAAK,wBACH,MAAO,uDACT,QACE,MAAO,IAIE,QACbD,wBAAyB,SAAUC,GACjC,OAAOD,GAAwBC,KCyK7Br8D,GAAOoX,eAAUwpB,QAAYtpB,QAC7B3V,GAAWyV,eAAUs+C,OAAgBp+C,QACrCrX,GAAemX,eAAUklD,QAAoBhlD,QAC7ClX,GAAYgX,eAAUigD,QAAiB//C,QAGxBilD,GAAgB,wDAArC,iD,0BAIE,EAAAnB,aAAe,EACf,EAAAoB,iBAAmC,GACnC,EAAAC,YAAmB,GACnB,EAAAC,gBAAkC,GAClC,EAAAC,OAAyB,GACzB,EAAAC,SAA2B,GAC3B,EAAAX,UAAY,EAEZ,EAAAY,aAAe,IACf,EAAAvB,oBAAsB,EACtB,EAAAQ,kBAAoB,EAEpB,EAAAtiC,MAAe,CACb,CAAE/wB,MAAO,mBAAoBq0D,SAAU,EAAKJ,iBAC5C,CAAEj0D,MAAO,SAAUq0D,SAAU,EAAKH,QAClC,CAAEl0D,MAAO,WAAYq0D,SAAU,EAAKF,WAnBxC,EAAqC,+CAsBnC,WACE,OAAO58D,GAAKi+C,aAvBqB,wBA0BnC,WACEvtD,KAAK4lE,MAAO,IA3BqB,qBA8BnC,WAAO,WACL5lE,KAAKqsE,MAAMC,IAAI,yBAAyB,WACtC,EAAKC,iBAhC0B,gFAqCnC,sHACyBh9D,GAAai9D,yBADtC,cACQlnE,EADR,OAEEtF,KAAK8rE,iBAAmBxmE,EAF1B,SAG8BoK,GAAU+8D,6BAHxC,OAGQ/Z,EAHR,OAIE1yD,KAAKgsE,gBAAkBtZ,EAEvB1yD,KAAKisE,OAASjsE,KAAK8rE,iBAAiBh9D,QAAO,SAAC4K,GAAD,OAA+C,IAAhBA,EAAKgzD,UAC/E1sE,KAAKksE,SAAWlsE,KAAK8rE,iBAAiBh9D,QAAO,SAAC4K,GAAD,OAA+C,IAAhBA,EAAKgzD,UACjF1sE,KAAKgsE,gBAAkBhsE,KAAKgsE,gBAAgBl9D,QAAO,SAAA4K,GAAI,OAAyB,GAArBA,EAAKizD,gBAChE3sE,KAAK4qE,oBAAsB5qE,KAAKgsE,gBAAgB9yE,OAChD8G,KAAKorE,kBAAoBprE,KAAKisE,OAAO/yE,OACrC8G,KAAKqsE,MAAM/3D,MAAM,0BAXnB,iDArCmC,sFAmDnC,SAAgBtb,GACdgH,KAAKurE,UAAYvyE,IApDgB,8EAuDnC,8GACQgH,KAAKusE,YADb,OAEEvsE,KAAK4sE,oBAFP,gDAvDmC,wFA4DnC,WAAiB,WACf5sE,KAAK6sE,aAAetqC,aAAY,WAC9B,EAAKgqC,cACJvsE,KAAKmsE,gBA/DyB,oFAkEnC,wGAKI,IAASnzE,KALb,SAEU8zE,EAAa9sE,KAAK8rE,iBAAiBh9D,QAAO,SAAC4K,GAAD,OAA+C,IAAhBA,EAAKgzD,UAC9E/zC,EAA+C,GAEvCm0C,EACZn0C,EAAqBn/B,KAAK,CACxBuzE,UAAW/sE,KAAK+rE,YAAYv0D,MAC5Bw1D,UAAWhtE,KAAK+rE,YAAY78C,UAC5B+9C,eAAgBH,EAAW9zE,GAAGu5D,iBATtC,gBAYUhjD,GAAa29D,uBAAuBv0C,GAZ9C,cAcI1nB,GAASw0D,aAAa,CACpB73D,KAAM,+CACN+5B,MAAO,YAhBb,SAkBU3nC,KAAKusE,YAlBf,4DAoBIt7D,GAASw0D,aAAa,CAAE73D,KAAM,WApBlC,0DAlEmC,0IA0FnC,WAAiBu/D,GAAjB,8FACQx0C,EAA+C,GACrDA,EAAqBn/B,KAAK,CACxBuzE,UAAW/sE,KAAK+rE,YAAYv0D,MAC5Bw1D,UAAWhtE,KAAK+rE,YAAY78C,UAC5B+9C,eAAgBE,IALpB,SAOQ10C,QAAmBD,WAAWG,GAPtC,cASE1nB,GAASw0D,aAAa,CACpB73D,KAAM,2CACN+5B,MAAO,YAXX,SAaQ3nC,KAAKusE,YAbb,gDA1FmC,mJA0GnC,WAAyBrlE,GAAzB,iGACyBuxB,QAAmB+5B,oBAAoBtrD,GADhE,8BAEQlH,KAAKusE,YAFb,gDA1GmC,sJA+GnC,8GACyB9zC,QAAmBg6B,wBAAwBzyD,KAAKgsE,iBADzE,8BAEQhsE,KAAKusE,YAFb,gDA/GmC,iFAoHnC,SAAWzpE,GACT,IAAIsqE,EAAU,IAAI33D,KAAK3S,GAAMuqE,eAAe,QAAS,CACnDC,cAAe,WACfC,aAAc,UAEVC,EAAY,IAAI/3D,KAAK23D,EAAU,QAAQppC,UAC7C,OAAOziC,IAAOisE,GAAWC,YA1HQ,8BA6HnC,SAAiBxiD,GACf,IAAIyiD,EAAgBC,GAAoBjC,wBAAwBzgD,GAChE,OAAOyiD,MA/H0B,GAASx+D,QAEc0G,gBAAzDC,eAAS,YAAa,CAAE7Z,KAAM6nE,QAAS9tD,SAAS,KAAS,4BAmC1DH,gBADCI,eAAM,eACP,+BArCmB61D,GAAgB,gBADpC51D,QACoB41D,cC1MwY,M,6ECQzZ,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAmBhC,KAAkB,GAAW,CAACx1D,QAAA,KAAKC,SAAA,KAAM03C,WAAA,QAAWE,QAAA,KAAKz3C,WAAA,KAAQm3D,WAAA,KAAQxf,SAAA,KAAM13C,SAAA,KAAM+vD,SAAA,KAAMC,aAAA,KAAUsC,eAAA,QAAeC,SAAA,KAAM4E,QAAA,KAAKC,YAAA,KAASC,SAAA,OC8HxI,IAAMz+D,GAAOoX,eAAUwpB,QAAYtpB,QAC7BjX,GAAO+W,eAAUypB,OAAYvpB,QAC7B3V,GAAWyV,eAAUs+C,OAAgBp+C,QACrCrX,GAAemX,eAAUklD,QAAoBhlD,QAC7ClX,GAAYgX,eAAUigD,QAAiB//C,QAUxBonD,GAAG,wDAAxB,iD,0BACE,EAAAC,aAAc,EACd,EAAAC,4BAA6B,EAC7B,EAAAC,gBAAkB34D,SAAStG,OAAI4iB,SAAStzB,IAAI,oBAE5C,EAAA4vE,kBAAyB,KAEzB,EAAA5M,uBAAwB,EACxB,EAAA6M,wBAA0B,EAC1B,EAAA5M,kCAAoC,EATtC,EAAwB,+CAYtB,WACE,OAAOnyD,GAAKi+C,aAbQ,sBAgBtB,WACE,OAAO59C,GAAKogD,aAjBQ,oBAoBtB,WACE,OAAOpgD,GAAK2H,WArBQ,qBAwBtB,WACE,OAAO3H,GAAKkhC,YAzBQ,2BA4BtB,WACE,OAAOlhC,GAAK2xD,kBA7BQ,wBAgCtB,WACE,OAAOrwD,GAASrT,UAjCI,qBAoCtB,WAAO,WACLoC,KAAKqsE,MAAMC,IAAI,yBAAf,wCAAyC,8GACjC,EAAKgC,yBAD4B,4CAGzCtuE,KAAKouE,kBAAoBvtE,OAAOmpC,WAAWjpC,KAAI,SAACxD,GAC9C,EAAKgxE,OAAOnsE,SAAS,wBAAyB,CAC5CwL,KAAMrQ,EAAMoe,aAAa/d,SAAW,2BA1CpB,8EA+CtB,uGACEoC,KAAKwuE,oCACLxuE,KAAKyuE,qBACDzuE,KAAKutD,WAHX,gCAI+Bj+C,GAAKo/D,eAJpC,OAIUA,EAJV,OAKSA,GAAc1uE,KAAKwxC,SAL5B,uBAOQxxC,KAAKsuE,yBAPb,gDA/CsB,oFAyDtB,WACEtuE,KAAKouE,kBAAkBxsE,WA1DH,+CA+DtB,WACE,IAAM+sE,EAAqB3uE,KAAK4uE,OAAO,YAAY,SAAAC,GAC7CA,IACF,gDACAF,UAnEgB,6FAwEtB,+GACO3uE,KAAKutD,WADZ,iEAEyBh+C,GAAai9D,yBAFtC,cAEQlnE,EAFR,OAGQwnE,EAAaxnE,EAASwJ,QAAO,SAAC4K,GAAD,OAA+C,IAAhBA,EAAKgzD,UACvE1sE,KAAKquE,wBAA0BvB,EAAW5zE,OAJ5C,SAM8BwW,GAAU+8D,6BANxC,OAMQ/Z,EANR,OAOQoc,EAA0Bpc,EAAc5jD,QAAO,SAAA4K,GAAI,OAAyB,GAArBA,EAAKizD,gBAC5DoC,EAA+BD,EAAwB51E,OAE7D8G,KAAKyhE,kCAAoCzhE,KAAKquE,wBAA0BU,EAV1E,iDAxEsB,iJAsFtB,iGACE/uE,KAAKkuE,4BAA6B,GACV,IAApBluE,KAAKutD,WAFX,gCAGgCid,GAAcC,aAH9C,OAGIzqE,KAAKgvE,eAHT,SAIShvE,KAAKmuE,iBAAmBnuE,KAAKgvE,eAAiBhvE,KAAKmuE,mBACtDnuE,KAAKkuE,4BAA6B,GALxC,gDAtFsB,+FAgGtB,WACEh/D,OAAI4iB,SAAS1d,IAAI,kBAAmBpU,KAAKgvE,eAAgB,MACzDhvE,KAAKkuE,4BAA6B,EAClCluE,KAAKmuE,gBAAkBnuE,KAAKgvE,eAC5BhvE,KAAKwtD,QAAQh0D,KAAK,0BApGE,2BAuGtB,WACEwG,KAAKuuE,OAAOnsE,SAAS,oBAxGD,oBA2GtB,WAAM,WACJpC,KAAKkuE,4BAA6B,EAClC5+D,GAAKmiC,UAAU30C,MAAK,WAClB,EAAK0wD,QAAQh0D,KAAK,UAClBkG,OAAO0xC,SAAS69B,gBA/GE,GAAS//D,QAsF/B0G,gBADCI,eAAM,eACP,uCAtFmBg4D,GAAG,gBARvB/3D,eAAU,CACTC,WAAY,CACVg5D,UACApI,WACAqI,gBACAtD,wBAGiBmC,cClLuV,M,oGCSxW,GAAY,eACd,GACA,EACAn6D,GACA,EACA,KACA,WACA,MAIa,MAAiB,QAuBhC,KAAkB,GAAW,CAACi6C,UAAA,KAAOshB,QAAA,KAAKC,WAAA,KAAQC,UAAA,KAAOj5D,QAAA,KAAK63C,QAAA,KAAKx3C,SAAA,KAAM+vD,SAAA,KAAMC,aAAA,KAAUoC,iBAAA,QAAiBC,iBAAA,KAAcwG,kBAAA,QAAkBvG,eAAA,QAAewG,SAAA,KAAMvG,SAAA,KAAM3a,QAAA,KAAKmhB,aAAA,KAAU54D,WAAA,KAAQG,cAAA,U,iBC3CxL,GAAS,WAAa,IAAIxF,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACa,YAAY,kBAAkB85C,MAAM96C,EAAIk+D,eAAe79D,MAAM,CAAC,MAAQ,GAAG,cAAc,KAAK,CAACF,EAAG,SAAS,CAACa,YAAY,UAAU85C,MAAM96C,EAAIm+D,UAAU99D,MAAM,CAAC,YAAYL,EAAIo+D,SAAS,MAAQ,SAAS,CAACj+D,EAAG,cAAc,CAACH,EAAIe,GAAG,YAAY,IAAI,IAAI,IACjW,GAAkB,GCuBDs9D,GAAgB,qJAAS3gE,QACD0G,gBAA1Ck6D,eAAK,CAAE9zE,KAAMuzD,OAAQx5C,QAAS,YAAY,gCACUH,gBAApDk6D,eAAK,CAAE9zE,KAAMuzD,OAAQx5C,QAAS,sBAAsB,iCAC7BH,gBAAvBk6D,eAAK,CAAE9zE,KAAMuzD,UAAU,sCAHLsgB,GAAgB,gBADpC55D,QACoB45D,cCxBsX,MCOvY,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACv5D,SAAA,KAAM63C,cAAA,O,2ECnBpCnsD,IAAE+tE,eAAc,SAAUC,EAAMC,EAAcC,GAG5C,IAAIF,EAAKG,eAAT,CAKA,IAAMC,EAAMpuE,IAAEypB,WAuBd,OApBAykD,EAAM/sE,KAAKitE,EAAIl1E,SAIfg1E,EAAMj1D,MAAK,WACT,IAAMo1D,EAAO9sD,MAAMnqB,UAAUwG,MAAMtG,KAAKuyB,WACxC,GAAqB,MAAjBqkD,EAAMh1D,OAAgB,CAExB,IAAMo1D,EAAajhE,OAAMgd,QAAQ,iCACjC,IAAKikD,GAAc,IAAI76D,KAAK66D,GAAc,IAAI76D,KAAQ,CAGpD,GAFA26D,EAAIG,WAAWL,EAAOG,GACtBhhE,OAAMjN,SAAS,gBACqB,UAAhCsvC,QAAOZ,QAAQ0/B,QAAQ3yE,KAAkB,OAE7C,YADA6zC,QAAOl4C,KAAK,gBAId42E,EAAIG,WAAWL,EAAOG,MAGnBD,EAAIpzE,QAAQkzE,O,iECFrB,SAASrwE,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK0wE,cAAgB3wE,EAAO2wE,cAC5B1wE,EAAK+rD,gBAAkBhsD,EAAOgsD,gBAC9B/rD,EAAKm+C,kBAAoBp+C,EAAOo+C,kBAEhCn+C,EAAK2wE,UAAYtwE,IAAGC,aACpBN,EAAK4wE,gBAAkBvwE,IAAGC,YAAW,GACrCN,EAAK4/C,QAAUv/C,IAAGwK,gBAAgB,IAElC7K,EAAK6wE,UAAYxwE,IAAGC,WAAWwwE,QAAgB3sE,QAE/CnE,EAAK+wE,kBACL/wE,EAAKgxE,iBACLhxE,EAAKixE,kBAELjxE,EAAKkxE,uBAAyBlxE,EAAK4wE,gBAAgBrvD,WAAU,SAAU1iB,GAC/DA,EACAmB,EAAKgxE,iBAELhxE,EAAKmxE,uBAIbnxE,EAAK6wE,YAAYzrE,GAAG,aAAa,SAAUhJ,GACnC4D,EAAK4wE,mBACL5wE,EAAKmxE,uBAIbnxE,EAAK6wE,YAAYzrE,GAAG,WAAW,SAAUhJ,GACjC4D,EAAK4wE,mBACL5wE,EAAKgxE,oBA3DjBj9B,KAAEq9B,cAAgBr9B,KAAEs9B,OAAO75D,OAAO,CAC9Bo9B,QAAS,CACL08B,MAAO,EACPC,eAAgB,UAEpBC,QAAS,SAAUC,GAIf,GAHA19B,KAAEs9B,OAAOh4E,UAAUm4E,QAAQj4E,KAAK0G,KAAMwxE,GACtCxxE,KAAKyxE,MAAMhtB,MAAM3Q,KAAE49B,QAAQC,UAAU,UAAY3xE,KAAK20C,QAAQ28B,eAE1Dx9B,KAAE49B,QAAQC,UAEV3xE,KAAKyxE,MAAMhtB,MAAM3Q,KAAE49B,QAAQC,YAAc,WAAa3xE,KAAK20C,QAAQ08B,MAAQ,YACxE,GAAIv9B,KAAE89B,QAAQC,GAAI,CAErB,IAAIC,EAAM9xE,KAAK20C,QAAQ08B,MAAQv9B,KAAEqM,OAAO4xB,WACpCC,EAAW/9C,KAAKg+C,IAAIH,GACpBI,EAAWj+C,KAAKk+C,IAAIL,GACxB9xE,KAAKyxE,MAAMhtB,MAAM31C,QAAU,6EACvBkjE,EAAW,UAAaE,EAAY,SAAWA,EAAW,SAAWF,EAAW,QAKhGl+B,KAAEs+B,cAAgB,SAAUZ,EAAK78B,GAC7B,OAAO,IAAIb,KAAEq9B,cAAcK,EAAK78B,IAwCpC90C,GAAUzG,UAAU23E,eAAiB,WACjC/wE,KAAKqyE,cACLryE,KAAKsyE,8BAGTzyE,GAAUzG,UAAU83E,kBAAoB,WACpClxE,KAAKuyE,gBACLvyE,KAAKwyE,kBAGT3yE,GAAUzG,UAAUi5E,YAAc,WAC9B,IAAIvmB,EAAkB9rD,KAAK8rD,kBACvB4kB,EAAYG,QAAgB4B,gBAAgB3mB,GAChD9rD,KAAK0wE,UAAUA,IAGnB7wE,GAAUzG,UAAUk5E,2BAA6B,WAC7C,IAAIvyE,EAAOC,KACP8rD,EAAkB/rD,EAAK+rD,kBACvB4mB,EAAuB3yE,EAAK0wE,gBAC5BzhE,EAAMjP,EAAK6wE,YACX+B,EAAmB,GAEvB/vE,aAAEe,KAAKmoD,GAAiB,SAAU2kB,GAC9B,GAAIiC,EAAqBxrE,OAASupE,EAAcvpE,KAAM,CAClD,IAAI0rE,EAAiB/B,QAAgBgC,aAAapC,EAAe,oBAEjE,GAAImC,EAAgB,CAChB,IAAIE,EAAwBF,EAAe1yB,YACvC6yB,EAAqB/jE,EAAIgkE,mBAAmBF,GAE5CG,EAAkBrwE,aAAE6C,KAAK1F,EAAK4/C,WAAW,SAAUI,GACnD,IAAImzB,EAAenzB,EAAOG,YACtBizB,EAAcnkE,EAAIgkE,mBAAmBE,GAEzC,OAAOC,EAAY18B,WAAWs8B,GAAsBJ,KAGnDM,GACDlzE,EAAK4/C,QAAQnmD,KAAKo5E,SAOtC/yE,GAAUzG,UAAU03E,gBAAkB,WAClC,IAAI/wB,EAAS8wB,QAAgBgC,aAAa7yE,KAAKywE,gBAAiBzwE,KAAKk+C,mBAEvD,MAAV6B,EACA//C,KAAK2/C,QAAQnmD,KAAKumD,GAEpBxkD,SAAS63E,eAAe,wBAAwBC,UAAUtyE,IAAI,4BAIpElB,GAAUzG,UAAUm5E,cAAgB,WAIhC,IAHA,IAAIvjE,EAAMhP,KAAK4wE,YACXjxB,EAAU3/C,KAAK2/C,UAEV3mD,EAAI,EAAGA,EAAI2mD,EAAQzmD,OAAQF,IAAK,CACrC,IAAI+mD,EAASJ,EAAQ3mD,GACrB+mD,EAAO3I,aACPpoC,EAAIskE,YAAYvzB,GAGpB//C,KAAK2/C,QAAQ,CAACA,EAAQ,MAG1B9/C,GAAUzG,UAAUo5E,eAAiB,WACjC,IAAIxjE,EAAMhP,KAAK4wE,YACXF,EAAY1wE,KAAK0wE,YAErB9tE,aAAEe,KAAK+sE,GACH,SAAS6C,GACLvkE,EAAIskE,YAAYC,OAI5B1zE,GAAUzG,UAAUo6E,kCAAoC,WACpD,IAAIzzE,EAAOC,KACPyzE,EAAoC,EACpC3nB,EAAkB/rD,EAAK+rD,kBACvB4nB,EAAsB,GAEtBC,EAAsB7nB,EAAgB,GACtC8nB,EAAqB9nB,EAAgBA,EAAgB5yD,OAAS,GAE9D6uB,EAAYxmB,IAAOoyE,EAAoBE,cACvC7rD,EAAUzmB,IAAOqyE,EAAmBC,cAExC,EAAG,CACC,IAAIpD,EAAgB7tE,aAAEN,KAAKwpD,GAAiB,SAAU2kB,GAClD,IAAIoD,EAAatyE,IAAOkvE,EAAcoD,cACtC,OAAOA,EAAa9rD,EAAUllB,QAAQ6S,SAAS+9D,EAAmC,YAGlFhD,IAAkB7tE,aAAE2C,YAAYkrE,IAChCiD,EAAoBl6E,KAAKi3E,GAG7B1oD,EAAUrS,SAAS+9D,EAAmC,eAEjD1rD,EAAYC,GAErB,OAAO0rD,GAGX7zE,GAAUzG,UAAU43E,gBAAkB,WAClC,IAAIrxB,EAAU3/C,KAAK2/C,UACf3wC,EAAMhP,KAAK4wE,YAEXjxB,EAAQzmD,OAAS,GACjB8V,EAAI8xC,UAAU+vB,QAAgBnxB,iBAAiBC,GAAU,CACrDoB,QAAS,CAAC,IAAK,KACfC,QAAS,KAKrBnhD,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKixE,uBAAuBtvE,WAGjB,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBCjMjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK+zE,uBAAyBh0E,EAAOg0E,uBAG1B,QAAE1wE,UAAWvD,GAAWwD,SAAUA,M,2DCDjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKmgB,UAAY9f,IAAGC,WAAWP,EAAOogB,WACtCngB,EAAK0+C,kBAAoBr+C,IAAGC,aAC5BN,EAAKg0E,WAAa3zE,IAAGC,YAAW,GAChCN,EAAKi0E,YAAc5zE,IAAGC,aAEtBN,EAAKI,UAAYC,IAAGC,YAAW,GAE/BN,EAAKqxD,YAAchxD,IAAGc,cAAa,WAC/B,IAAIgf,EAAYngB,EAAKmgB,YACrB,OAAOA,EAAU+zD,mBAGrBl0E,EAAKm+C,kBAAoB99C,IAAGc,cAAa,WACrC,IAAIgf,EAAYngB,EAAKmgB,YACrB,OAAOA,EAAUg+B,qBAGrBn+C,EAAKm0E,6BAA+B9zE,IAAGc,cAAa,WAChD,IAAIgf,EAAYngB,EAAKmgB,YACrB,OAAIA,EAAUu+B,kBACH,yCAEA,8CAIf1+C,EAAKuuB,aAGTzuB,GAAUzG,UAAU+6E,wBAA0B,SAAUryE,EAAIhH,GACxD,IAAIiF,EAAOC,KACXD,EAAKg0E,YAAW,GAEhB,IAAI7zD,EAAYtd,aAAEC,MAAM9C,EAAKmgB,aAO7B,OANAA,EAAUu+B,kBAAoB1+C,EAAK0+C,oBAEnC1+C,EAAK4C,KAAKud,GAAWjR,QAAO,WACxBlP,EAAKq0E,8BAA8BtyE,EAAIhH,OAGpC,GAGX+E,GAAUzG,UAAUuJ,KAAO,SAAUud,GACjC,IAAIngB,EAAOC,KACX,OAAOqpB,QAAiBnmB,OAAOgd,GAAW/c,MAAK,SAAUzK,GACrDqH,EAAKmgB,UAAUxnB,MAChBuiB,MAAK,SAAUngB,GACdiF,EAAKi0E,YAAY,kCACjBj0E,EAAKI,WAAU,MAChB8O,QAAO,WACNlP,EAAKuuB,aACLvuB,EAAKg0E,YAAW,OAIxBl0E,GAAUzG,UAAUk1B,WAAa,WAC7B,IAAIpO,EAAYlgB,KAAKkgB,YACrBlgB,KAAKy+C,kBAAkBv+B,EAAUu+B,oBAGrC5+C,GAAUzG,UAAUg7E,8BAAgC,SAAUtyE,EAAIhH,GAC9D,IAAIqJ,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM5N,KAAKk0E,gCAAkC/vE,IAG/FtE,GAAUzG,UAAUi7E,cAAgB,WAChCxzE,OAAOuM,aAAahL,YAGxBvC,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBC7EjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKmgB,UAAYpgB,EAAOogB,UAExBngB,EAAKu0E,wBAA0Bl0E,IAAGc,cAAa,WAC3C,IAAIgf,EAAYngB,EAAKmgB,YACrB,OAAOA,EAAUo0D,2BAGrBv0E,EAAKw0E,0BAA4Bn0E,IAAGc,cAAa,WAC7C,IAAIgf,EAAYngB,EAAKmgB,YACrB,OAAIA,EAAUo0D,wBACH,iCAAmCp0D,EAAUs0D,qBAAuB,IAEpE,gDAKnB30E,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAUq7E,2BAA6B,SAAU3yE,EAAIhH,GAC3D,IAAIqJ,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM5N,KAAKu0E,6BAA+BpwE,IAG5FtE,GAAUzG,UAAUi7E,cAAgB,WAChCxzE,OAAOuM,aAAahL,YAGT,QAAEgB,UAAWvD,GAAWwD,SAAUA,M,qCC7BjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKm+C,kBAAoBp+C,EAAOo+C,mBAAqB99C,IAAGC,WAAWP,EAAO40E,0BAC1E30E,EAAK40E,SAAWv0E,IAAG6gD,MAAMC,iBAAiBphD,EAAO60E,UAEjD50E,EAAKwpE,SAAWnpE,IAAGc,cAAa,WAC5B,OAAO6oE,QAAwBlrB,6BAA6B9+C,EAAKm+C,wBAGrEn+C,EAAK0pE,YAAcrpE,IAAGc,cAAa,WAC/B,OAAO6oE,QAAwB9rB,yBAAyBl+C,EAAKm+C,wBAGjEn+C,EAAKypE,aAAeppE,IAAGc,cAAa,WAChC,OAAO6oE,QAAwB3rB,6BAA6Br+C,EAAKm+C,wBAGrEn+C,EAAKuE,SAAWxE,EAAOwE,SACnBvE,EAAKuE,WACLvE,EAAK60E,wBAA0B/zE,OAAO21B,iBAAiBz1B,KAAI,SAAUmf,GAC7DA,EAAU5b,WAAavE,EAAKuE,WAEhCvE,EAAKm+C,kBAAkB,MACvB22B,QAAgCr2E,IAAIuB,EAAKuE,UAAUnB,MAAK,SAAUyb,GAC9D7e,EAAKm+C,kBAAkBt/B,EAAOs/B,2BAM9Cr+C,GAAUzG,UAAUuI,QAAU,WACtB3B,KAAK40E,yBACL50E,KAAK40E,wBAAwBhzE,UAItB,QAAEwB,UAAWvD,GAAWwD,SAAUA,M,wBCxCjD,SAASxD,GAAUC,IAGJ,QAAEsD,UAAWvD,GAAWwD,SAAUA,M,wBCLjD,SAASyxE,GAAuB94E,GAC5B,OAAQA,GACR,IAAK,aACD,MAAO,QACX,IAAK,YACD,MAAO,OACX,QACI,MAAO,IAIf,SAAS+4E,GAAyBC,GAC9B,OAAQA,GACR,IAAK,OACD,MAAO,kBACX,IAAK,SACD,MAAO,oBACX,QACI,MAAO,IAIA,QACXF,uBAAwB,SAAU50E,GAC9B,IAAI+0E,EAAkB/0E,EAAY7G,eAAe,QAAU6G,EAAYlE,KAAOkE,EAC9E,OAAO40E,GAAuBG,IAElCC,2BAA4B,SAAUh1E,GAClC,IAAIi1E,EAAWn1E,KAAK80E,uBAAuB50E,GAAagI,cACpDnD,EAAMs5C,UAAQ,KAA+B82B,EAAW,aAC5D,OAAOpwE,GAEXgwE,yBAA0B,SAAU70E,GAChC,OAAO60E,GAAyB70E,EAAY80E,SAEhDI,6BAA8B,SAAUl1E,GACpC,IAAIi1E,EAAkC,SAAvBj1E,EAAY80E,OAAoB,SAAW,SACtDjwE,EAAMs5C,UAAQ,KAA+B82B,EAAW,aAC5D,OAAOpwE,ICjCf,SAASlF,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKG,YAAcE,IAAGC,WAAWP,EAAOI,aAExCH,EAAKU,UAAYL,IAAGc,cAAa,WAC7B,IAAIhB,EAAcH,EAAKG,cACvB,OAAOA,EAAYO,aAGvBV,EAAKlC,KAAOuC,IAAGc,cAAa,WACxB,IAAIhB,EAAcH,EAAKG,cACvB,OAAOA,EAAYrC,QAGvBkC,EAAKk1E,gBAAkB70E,IAAGc,cAAa,WACnC,IAAIhB,EAAcH,EAAKG,cACvB,OAAOA,EAAYlE,QAGvB+D,EAAKs1E,WAAaj1E,IAAGc,cAAa,WAC9B,IAAIhB,EAAcH,EAAKG,cACvB,OAAOo1E,GAAkBP,yBAAyB70E,MAGtDH,EAAKw1E,eAAiBn1E,IAAGc,cAAa,WAClC,IAAIhB,EAAcH,EAAKG,cACvB,OAAOo1E,GAAkBF,6BAA6Bl1E,MAG1DH,EAAK0oD,UAAY,WACf5nD,OAAO4nD,UAAUrmD,SAASrC,EAAKG,gBAGjCH,EAAK2oD,YAAc,WACjB7nD,OAAO6nD,YAAYtmD,SAASrC,EAAKG,gBAIvCL,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBCzCjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACPhE,EAAOoE,IAAG6gD,MAAMC,iBAAiBphD,EAAO9D,MAC5C+D,EAAKlC,KAAOuC,IAAG6gD,MAAMC,iBAAiBphD,EAAOjC,MAC7CkC,EAAK40E,SAAWv0E,IAAG6gD,MAAMC,iBAAiBphD,EAAO60E,UACjD50E,EAAKy1E,SAAWF,GAAkBR,uBAAuB94E,GACzD+D,EAAK01E,aAAeH,GAAkBJ,2BAA2Bl5E,GAGrE6D,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAUs8E,iBAAmB,SAAS5zE,EAAIhH,GAChD,GAAKkF,KAAKnC,KAAV,CACA,IAAIsG,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM5N,KAAKnC,MAAQsG,KAGrEtE,GAAUzG,UAAUgU,aAAe,WAC1BpN,KAAKnC,MACVgD,OAAOuM,aAAahL,YAGT,QAAEgB,UAAWvD,GAAWwD,SAAUA,M,wBCxBjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK41E,wBAA0Bv1E,IAAG6gD,MAAMC,iBAAiBphD,EAAO61E,yBAChE51E,EAAK61E,QAAUx1E,IAAG6gD,MAAMC,iBAAiBphD,EAAO81E,SAChD71E,EAAK81E,iBAAmBjzE,aAAEgoD,MAAM7qD,EAAK61E,QAAQ19C,cAC7Cn4B,EAAK+1E,sBAAwB/1E,EAAK81E,iBAAiBE,QAAQ78E,OAAS,EAGxE2G,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBCbjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK41E,wBAA0B71E,EAAO61E,wBACtC51E,EAAKi2E,WAAal2E,EAAOm2E,YAAYD,WACrCj2E,EAAKgmC,mBAAqBjmC,EAAOm2E,YAAYlwC,mBAC7ChmC,EAAKg2E,QAAUj2E,EAAOm2E,YAAYF,QAGtCl2E,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,qCCRjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKgmC,mBAAqBjmC,EAAOimC,mBACjChmC,EAAKm2E,aAAep2E,EAAO/F,OAAOm8E,aAClCn2E,EAAK0Y,QAAU3Y,EAAO/F,OAAO0e,QAC7B1Y,EAAK41E,wBAA0B71E,EAAO61E,wBACtC51E,EAAKnB,MAAQkB,EAAO/F,OAAO6E,MAC3BmB,EAAKo2E,MAAQA,MAAMp2E,EAAKnB,OACxBmB,EAAKoK,kBAAoB/J,IAAGC,YAAW,GACvCN,EAAKoN,oBAAsBtM,OAAOuM,aAAarM,KAAI,WAC/ChB,EAAKoK,mBAAkB,MAG3BpK,EAAKq2E,UAAYh2E,IAAGc,cAAa,WAC7B,IAAIg1E,EAAen2E,EAAKm2E,aACpBC,EAAQp2E,EAAKo2E,MACbR,EAA0B51E,EAAK41E,wBAC/BU,EAAav2E,EAAO/F,OAAOs8E,WAAWnuE,cAE1C,OAA+C,IAA3CmuE,EAAWnwE,QAAQ,qBACfiwE,GAASR,GAAiC,SAG3CO,KAIfr2E,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmN,oBAAoBvL,UAG7B/B,GAAUzG,UAAUsU,kBAAoB,SAAU5L,EAAIhH,GAClD,IAAIqP,EAAoBnK,KAAKmK,oBAC7B,GAAKA,EAKDtJ,OAAOuM,aAAahL,eALA,CACpB,IAAI+B,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAMkT,QAAsBglB,8BAA8B9lC,KAAK+lC,qBAAuB5hC,GACpInE,KAAKmK,mBAAkB,KAM/BtK,GAAUzG,UAAU0U,gBAAkB,WAC9B9N,KAAKmK,sBACLnK,KAAKmK,mBAAkB,GACvBtJ,OAAOuM,aAAahL,aAIb,QAAEgB,UAAWvD,GAAWwD,SAAUA,M,wBChDjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKg0E,WAAa3zE,IAAGC,YAAW,GAChCN,EAAKmgB,UAAYpgB,EAAOogB,UACxBngB,EAAK0+C,kBAAoBr+C,IAAGC,aAC5BN,EAAKu0E,wBAA0Bl0E,IAAGC,aAClCN,EAAKy0E,qBAAuBp0E,IAAGC,aAC/BN,EAAKi0E,YAAc5zE,IAAGC,aAEtBN,EAAKu2E,mBAAqBl2E,IAAGc,cAAa,WACtC,IAAIq1E,GAA2B,GAC3BC,EAA0B,GAC1BhC,EAAuB9lD,WAAW3uB,EAAKy0E,wBAEvC8B,EAAqB,GAIzB,QAHK1zE,aAAEwrB,SAASomD,IAAyBA,EAAuB+B,GAA2B/B,EAAuBgC,IAC9GF,EAAmB98E,KAAK,mDAAqD+8E,EAA0B,QAAUC,GAE9GF,KAGXv2E,EAAKuuB,aAGTzuB,GAAUzG,UAAUk1B,WAAa,WAC7B,IAAIpO,EAAYlgB,KAAKkgB,YACrBlgB,KAAKy+C,kBAAkBv+B,EAAUu+B,mBACjCz+C,KAAKs0E,wBAAwBp0D,EAAUo0D,yBACvCt0E,KAAKw0E,qBAAqBt0D,EAAUs0D,uBAGxC30E,GAAUzG,UAAUwvB,OAAS,WACzB,IAAI7oB,EAAOC,KACX,KAAID,EAAKu2E,qBAAqBp9E,OAAS,GAAvC,CAGA6G,EAAKi0E,YAAY,MAEjB,IAAI9zD,EAAYtd,aAAEC,MAAM9C,EAAKmgB,aAC7BA,EAAUo0D,wBAA0Bv0E,EAAKu0E,0BACzCp0D,EAAUs0D,qBAAuB9lD,WAAW3uB,EAAKy0E,wBAEjDz0E,EAAKg0E,YAAW,GAChB1qD,QAAiBnmB,OAAOgd,GAAW/c,MAAK,SAAUzK,GAC9CqH,EAAKmgB,UAAUxnB,GACfkuB,OAAMxkB,SAAS,qCAAsC1J,EAAK4L,aAC3D2W,MAAK,SAAUngB,GACdiF,EAAKi0E,YAAY,qCAClB/kE,QAAO,WACNlP,EAAKuuB,aACLvuB,EAAKg0E,YAAW,QAIxBl0E,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBC3DjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK6N,KAAOxN,IAAGq2E,aAAa32E,EAAO8N,MAAQ9N,EAAO8N,KAAOxN,IAAGC,WAAWP,EAAO8N,MAC9E7N,EAAK8N,OAAS/N,EAAO+N,OACrB9N,EAAK60D,gBAAkBx0D,IAAGC,WAAWP,EAAO80D,iBAC5C70D,EAAK22E,eAAiBt2E,IAAGC,WAAWP,EAAO42E,gBAE3C32E,EAAKwpE,SAAWnpE,IAAGc,cAAa,WAC5B,IAAIupD,EAAM,GACNisB,EAAiB32E,EAAK22E,iBAS1B,OARIA,IACAjsB,GAAOisB,GAGP32E,EAAK8N,SACL48C,GAAO,SAGJA,KAGX1qD,EAAK42E,iBAAmB52E,EAAK6N,KAAK0T,WAAU,WACxCzgB,OAAOglD,kBAAkBzjD,cAIjCvC,GAAU8B,QAAU,WAChB3B,KAAK22E,iBAAiBh1E,WAGX,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,0EC9B7CuzE,GAAqB,SAAU/mB,EAAQ3oD,EAAIrJ,EAAM2pB,EAAWC,EAAmBozC,GAC/E,IAAI96D,EAAOC,KAEP62E,EAAe,CACfC,SAAU,GACVt+D,MAAO,GAGXzY,EAAKlC,KAAOA,EACZkC,EAAKg3E,eAAiB32E,IAAGwK,gBAAgB,IAEzChI,aAAEe,KAAK6jB,GAAW,SAAUzS,GACxB,IAAI4hD,GAAa,EACb5qC,GAAahX,EAAS7N,GAAK6N,EAAS7N,IACpC8vE,EAAejiE,EAASlX,KAAOkX,EAASlX,KAAOkX,EAASq8C,YAExDxuD,aAAEkf,SAAS2F,EAAmBsE,EAAW2I,cACzCiiC,GAAa,GAGjB52D,EAAKg3E,eAAev9E,KAAK,IAAIohE,QAAcoc,EAAcjrD,EAAY4qC,EAAYlvC,EAAmBozC,EAAgC9lD,EAAS0O,cAAe1O,EAAS+b,iBAGzK/wB,EAAKg3E,eAAen0E,aAAEof,OAAOjiB,EAAKg3E,kBAAkB,SAAUhiE,GAAY,OAAOA,EAASlX,SAE1FkC,EAAKk3E,uBAAyB72E,IAAGc,cAAa,WAC1C,IAAI+1E,EAAyBr0E,aAAEkM,OAAO/O,EAAKg3E,kBAAkB,SAAUhiE,GACnE,OAAOA,EAAS4hD,gBAEpB,OAAO/zD,aAAEof,OAAOi1D,EAAwB,YAG5Cl3E,EAAKm3E,yBAA2B92E,IAAGc,cAAa,WAC5C,OAAO0B,aAAEkM,OAAO/O,EAAKg3E,kBAAkB,SAAUhiE,GAC7C,OAAQA,EAAS4hD,mBAIzB52D,EAAKo3E,YAAc/2E,IAAGc,cAAa,WAC/B,IAAIk2E,EAAY,GAQhB,OAPAx0E,aAAEe,KAAK5D,EAAKk3E,0BAA0B,SAAUv9D,EAAMwE,GAClDk5D,GAAa19D,EAAKxS,GAAGwtB,WACrB,IAAI2iD,EAAmB,IAAPnwE,EAAW,IAAM,IAC7BgX,EAAQne,EAAKk3E,yBAAyB/9E,OAAS,IAC/Ck+E,GAAaC,MAGdD,KAGXr3E,EAAKu3E,MAAQl3E,IAAGc,cAAa,WACzB,OAAOnB,EAAKk3E,yBAAyB/9E,UAGzC6G,EAAK82E,aAAez2E,IAAGc,cAAa,WAChC,IAAIgd,EAAQ2xC,EAAO0nB,oBACnB,OAAiB,IAAVr5D,EAAc24D,EAAaC,SAAWD,EAAar+D,SAG9DzY,EAAKy3E,MAAQ,WACT50E,aAAEe,KAAK5D,EAAKg3E,kBAAkB,SAAUhiE,GACpCA,EAASimD,gBAKN4b,MCjEf,SAAS/2E,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK03E,UAAY,GAEjB13E,EAAK86D,+BAAiCz6D,IAAGC,aACzCN,EAAKw3E,kBAAoBn3E,IAAGC,WAAW,GAEvCN,EAAKuwB,OAASlwB,IAAGwK,gBAAgB,IAEjC7K,EAAKynB,UAAY1nB,EAAO0nB,UACxBznB,EAAK0nB,kBAAoB3nB,EAAO2nB,kBAEhC,IAAIiwD,EAA2BC,GAA4B53E,EAAK0nB,qBAEhE1nB,EAAK63E,kBAAoBx3E,IAAGsY,UAAS,WACjC3Y,EAAK86D,iCACL,IAAIuc,EAAY,GAkBhB,OAhBAx0E,aAAEe,KAAK5D,EAAKuwB,UAAU,SAAU9X,EAAO0F,GACnC,IAAI25D,EAAmBr/D,EAAM2+D,cAChB,GAATj5D,GAA0C,IAA5B25D,EAAiB3+E,SAC/Bk+E,GAAa,KAGbS,EAAiB3+E,OAAS,IAC1Bk+E,GAAaS,EAGTT,GADS,GAATl5D,EACa,IAEA,QAIlBne,EAAK0nB,kBAAkB2vD,MAGlCx0E,aAAEe,KAAK+zE,GAA0B,SAAUh+D,EAAMwE,GAC7C,IAAI45D,EAAsB,IAAV55D,EAAc,WAAa,QAC3Cne,EAAKuwB,OAAO92B,KAAK,IAAIo9E,GAAmB72E,EAAMme,EAAO45D,EAAW/3E,EAAKynB,YAAa9N,EAAM3Z,EAAK86D,oCAGjG96D,EAAKg4E,aAAe33E,IAAGc,cAAa,WAChC,IAAIgd,EAAQne,EAAKw3E,oBACjB,OAAOx3E,EAAKuwB,SAASpS,MAGzBne,EAAKi4E,SAAW,WACZj4E,EAAKuwB,OAAO92B,KAAK,IAAIo9E,GAAmB72E,EAAMA,EAAKuwB,SAASp3B,OAAQ,QAAS6G,EAAKynB,YAAa,GAAIznB,EAAK86D,iCACxG96D,EAAKw3E,kBAAkBx3E,EAAKuwB,SAASp3B,OAAS,IAGlD6G,EAAKy3E,MAAQ,WACTz3E,EAAKuwB,OAAOl2B,OAAO,EAAG2F,EAAKuwB,SAASp3B,QACpC6G,EAAKw3E,kBAAkB,GACvBx3E,EAAKuwB,SAAS,GAAGknD,SAIzB,SAASG,GAA4BM,GACD,KAA5BA,IACAA,EAA0B,KAG9B,IAAIC,EAAyBD,EAAwB7vE,MAAM,KAK3D,OAHA8vE,EAAyBC,GAAgCD,GACzDA,EAAyBE,GAAkCF,GAEpDG,GAA+BH,GAG1C,SAASC,GAAgCt8B,GAKrC,MAJgC,KAA5BA,EAAMA,EAAM3iD,OAAS,IACrB2iD,EAAMxzC,MAGHwzC,EAGX,SAASu8B,GAAkCE,GACvC,GAAIA,EAAyBp/E,OAAS,EAAG,CACrC,IAAIo3B,EAASgoD,EAAyB,GAAGlwE,MAAM,KAC/CkwE,EAAyBjwE,MAEzBzF,aAAEe,KAAK2sB,GAAQ,SAAU9X,GACrB8/D,EAAyB9+E,KAAKgf,MAItC,OAAO8/D,EAGX,SAASD,GAA+Bx8B,GACpC,IAAI08B,EAAa31E,aAAEoM,IAAI6sC,GAAO,SAAU28B,GACpC,OAAOA,EAAIpwE,MAAM,WAGrB,OAAOmwE,EAGX14E,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK43E,kBAAkBj2E,WAGZ,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBCzGjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEPy4E,EAAmB,uDACnBC,EAA2B,4CAC3BC,EAA2B,4CAC3Bzd,EAAa,QAsEjB,SAAS0d,IACD74E,EAAKkoB,yBAA2B,EACE,eAA9BloB,EAAK2nB,sBACL3nB,EAAK84E,gBAAgBF,GACrB54E,EAAK+4E,UAAU,KACsB,cAA9B/4E,EAAK2nB,uBACZ3nB,EAAK84E,gBAAgB,IACrB94E,EAAK+4E,UAAUH,KAGnB54E,EAAK84E,gBAAgB,IACrB94E,EAAK+4E,UAAU,KAIvB,SAASC,IACL,IAAI/rB,GAAQ,EAERgsB,EAAej5E,EAAK4nB,cACpBqlC,GAAQ,GAERjtD,EAAK+mB,eAAiBkyD,EAAej5E,EAAK6zD,eAC1C5G,GAAQ,GAERjtD,EAAKgnB,iBAAmBiyD,EAAej5E,EAAK8zD,iBAC5C7G,GAAQ,GAGRA,GACAjtD,EAAK6nB,uBAAsB,GAC3B7nB,EAAK84E,gBAAgB,MAErB94E,EAAK6nB,uBAAsB,GAC3B7nB,EAAK84E,gBAAgBH,IAGS,eAA9B34E,EAAK2nB,sBAA0E,IAAjC3nB,EAAKkoB,yBACnDloB,EAAK84E,gBAAgBF,GAI7B,SAASK,EAAep6E,GACpB,IAAIq6E,EAAkB,KAAVr6E,EAEZ,OADAA,EAAQgrB,OAAOhrB,GACRgE,aAAEuzE,MAAMv3E,KAAWgE,aAAE2zD,SAAS33D,IAAUA,EAAQ,GAAKq6E,EAhHhEl5E,EAAK+mB,cAAgBhnB,EAAOgnB,cAC5B/mB,EAAKgnB,gBAAkBjnB,EAAOinB,gBAC9BhnB,EAAKinB,aAAelnB,EAAOknB,aAC3BjnB,EAAKknB,WAAannB,EAAOmnB,WAEzBlnB,EAAKkoB,sBAAwBnoB,EAAOmoB,sBACpCloB,EAAK2nB,mBAAqB5nB,EAAO4nB,mBACjC3nB,EAAK4nB,SAAW7nB,EAAO6nB,SACvB5nB,EAAK6zD,UAAY9zD,EAAO8zD,UACxB7zD,EAAK8zD,YAAc/zD,EAAO+zD,YAC1B9zD,EAAKkU,SAAWnU,EAAOmU,SACvBlU,EAAKoU,OAASrU,EAAOqU,OACrBpU,EAAK+zD,SAAWh0D,EAAOg0D,SACvB/zD,EAAKg0D,OAASj0D,EAAOi0D,OACrBh0D,EAAK+nB,WAAahoB,EAAOgoB,WACzB/nB,EAAKqnB,iBAAmBtnB,EAAOsnB,iBAE/BrnB,EAAK+4E,UAAY14E,IAAGC,aACpBN,EAAK84E,gBAAkBz4E,IAAGC,aAE1BN,EAAK6nB,sBAAwB9nB,EAAO8nB,sBACpC7nB,EAAKk0D,qBAAuBn0D,EAAOm0D,qBAEnCl0D,EAAKm5E,kBAAoB94E,IAAGc,cAAa,WACrC,OAAQnB,EAAK+nB,gBAGjB/nB,EAAKo5E,qBAAuB/4E,IAAGc,cAAc,WACzC,OAAOnB,EAAK+nB,aAAL,WACGvnB,OAAWC,sBAAsBT,EAAK+nB,aAAaC,WADtD,gBACwExnB,OAAWC,sBAAsBT,EAAK+nB,aAAaE,SAD3H,KAED,2BAGVjoB,EAAKq5E,yBAA2B,SAAU/4E,GACtC,IAAIzB,EAAQyB,IAGZ,OAFA04E,IAEOC,EAAep6E,IAG1BmB,EAAKs5E,mBAAqB,SAAUh5E,GAChC,IAAI8nB,EAAO5mB,IAAOxB,EAAK+zD,WAAYoH,GAAY,GAC3C7yC,EAAK9mB,IAAOxB,EAAKg0D,SAAUmH,GAAY,GACvCoe,EAAU/3E,IAAOlB,IAAc66D,GAAY,GAc/C,OAZI/yC,EAAK1P,WAAa4P,EAAG5P,WACrB1Y,EAAKk0D,sBAAqB,GAC1Bl0D,EAAK+4E,UAAU,MAEf/4E,EAAKk0D,sBAAqB,GAC1Bl0D,EAAK+4E,UAAUL,IAGe,cAA9B14E,EAAK2nB,sBAAwC3nB,EAAKkoB,yBAA2B,GAC7EloB,EAAK+4E,UAAUH,IAGXW,EAAQ7gE,WAGpB1Y,EAAKw5E,6BAA+Bx5E,EAAK2nB,mBAAmBpG,WAAU,SAAS1iB,GAC3Eg6E,OAGJ74E,EAAKy5E,gCAAkCz5E,EAAKkoB,sBAAsB3G,WAAU,SAAU1iB,GAClFg6E,OAmDR/4E,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKu5E,6BAA6B53E,UAClC3B,KAAKw5E,gCAAgC73E,WAG1B,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBCpIjD,SAASxD,GAAUC,GAAQ,WACrBC,EAAOC,KAEPy5E,EAAgB,CAClB,IAAOlxD,GAAc,GACrB,OAAUA,GAAc,GACxB,QAAWA,GAAc,IACzB,KAAQA,GAAc,KAGpBmxD,EAAyB,CAC3B,OAAUC,GAAsB,GAChC,QAAWA,GAAsB,IACjC,KAAQA,GAAsB,IAC9B,IAAOA,GAAsB,OAkC/B,SAASC,IACP,IAAIC,EAA8B95E,EAAK+5E,8BAA8B/5E,EAAKi0D,wBAE1E,GAAI6lB,EAA6B,CAC/B,IAAI7sB,GAAQ,EACRvD,EAAWswB,EAA8Bh6E,EAAKi0D,wBAElD,OAAQhH,EACDjtD,EAAK+5E,8BAA8BrwB,KACtC1pD,EAAKi0D,qBAAqBvK,GAC1BuD,GAAQ,GAEVvD,EAAWswB,EAA8BtwB,IA+B/C,SAASswB,EAA8BvJ,GACrC,OAAQA,GACN,IAAK,MACH,MAAO,SACT,IAAK,SACH,MAAO,UACT,IAAK,UACH,MAAO,OACT,IAAK,OACH,MAAO,MACT,QACE,MAAO,OArFbzwE,EAAKi0D,qBAAuBl0D,EAAOk0D,qBACnCj0D,EAAKkoB,sBAAwBnoB,EAAOmoB,sBACpCloB,EAAKynB,UAAY1nB,EAAO0nB,UACxBznB,EAAK0nB,kBAAoB3nB,EAAO2nB,kBAEhC1nB,EAAKi6E,iBAAmB55E,IAAGc,cAAa,kBAAMnB,EAAKynB,YAAY1Y,QAAO,SAAAmrE,GAAC,OAAI,EAAKxyD,oBAAoBvhB,QAAQ+zE,EAAE/yE,KAAO,QAErHnH,EAAK+5E,8BAAgC,SAAUl7E,GAC7C,OAAQmB,EAAKm6E,iCAAiCt7E,KAAWmB,EAAKo6E,qCAAqCv7E,IAGrGmB,EAAKo6E,qCAAuC,SAAUv7E,GACpD,IAAIw7E,EAAaV,EAAuB96E,GACxC,OAAKw7E,GAIEr6E,EAAKi6E,mBAAmBK,OAAM,SAAAJ,GAAC,OAAKA,EAAEK,kBAAoBF,EAAaH,EAAEK,mBAAqB,MAGvGv6E,EAAKm6E,iCAAmC,SAAUt7E,GAChD,OAAK66E,EAAc76E,IAGZmB,EAAKkoB,yBAA2BwxD,EAAc76E,IAGvDmB,EAAKw6E,oBAAsBx6E,EAAKkoB,sBAAsB3G,WAAU,SAAUi0C,GACxEqkB,OAoBF75E,EAAKqxD,YAAc,SAAUxyD,GAC3B,IAAIgP,EAAO,GAEX,OAAK7N,EAAKm6E,iCAAiCt7E,GAItCmB,EAAKo6E,qCAAqCv7E,IAIjC,QAAVA,EACFgP,EAAO,uBACY,WAAVhP,EACTgP,EAAO,iCACY,YAAVhP,EACTgP,EAAO,qCACY,SAAVhP,EACTgP,EAAO,+BACY,QAAVhP,IACTgP,EAAO,+BAEFA,GAdE,mDAJA,+CAsCb,SAAS2a,GAAcoB,GACrB,OAAc,GAAPA,EAAY,GAGrB,SAASgwD,GAAsBlmB,GAC7B,OAAiB,GAAVA,EAAe,IAGxB5zD,GAAUzG,UAAUuI,QAAU,WAC5B3B,KAAKu6E,oBAAoB54E,WAGZ,QACbyB,UAAWvD,GACXwD,SAAUA,M,qFC1HRm3E,GAAwB,iBAE5B,SAASC,GAAaC,EAAKC,EAAY/7E,GACnC,IAAIg8E,EAAKplE,SAASye,KAAKC,MAAMwmD,EAAM,KAAO,EACtCG,EAAIH,EAAM,GAAKzmD,KAAKC,MAAMwmD,EAAM,IAEpC97E,GAAgB,IAChB,IAAIq7E,EAAIzkE,SAAS5W,GACblE,EAAI8a,SAAS5W,GAAS,EAAI+7E,IAC1BG,EAAItlE,SAAS5W,GAAS,EAAIi8E,EAAIF,IAC9B97E,EAAI2W,SAAS5W,GAAS,GAAK,EAAIi8E,GAAKF,IAExC,OAAQC,GACR,KAAK,EACD,OAAOG,KAAM,CAAEt8E,EAAGw7E,EAAGe,EAAGn8E,EAAGoP,EAAGvT,IAClC,KAAK,EACD,OAAOqgF,KAAM,CAAEt8E,EAAGq8E,EAAGE,EAAGf,EAAGhsE,EAAGvT,IAClC,KAAK,EACD,OAAOqgF,KAAM,CAAEt8E,EAAG/D,EAAGsgF,EAAGf,EAAGhsE,EAAGpP,IAClC,KAAK,EACD,OAAOk8E,KAAM,CAAEt8E,EAAG/D,EAAGsgF,EAAGF,EAAG7sE,EAAGgsE,IAClC,KAAK,EACD,OAAOc,KAAM,CAAEt8E,EAAGI,EAAGm8E,EAAGtgF,EAAGuT,EAAGgsE,IAClC,QACI,OAAOc,KAAM,CAAEt8E,EAAGw7E,EAAGe,EAAGtgF,EAAGuT,EAAG6sE,KAIvB,QACXG,iBAAkB,SAAS/8D,GACvB,GAAc,IAAVA,EAAa,MAAO,UAExB,IAAIg9D,EAAIxsD,WAAWxQ,EAAQ,GAAKs8D,GAC5B7yC,EAAQ8yC,GAAiB,IAAJS,EAAS,IAAM,KACxC,OAAOvzC,EAAMwzC,W,gDC3BjBC,IAAgB,EAChBC,GAAe95E,IAAOC,MACtB85E,GAAuB,uBAK3B,SAASC,KACLC,KAAWC,WAAW,CAClBC,MAAO,CACH1/E,KAAM,OACN2/E,SAAU,IACVC,aAAc,GACdC,UAAW,GACXC,WAAW,EACXj7E,OAAQ,CACJu2E,UAAW,WACPiE,GAAe95E,IAAOC,SAIlCu6E,QAAS,CACLxqB,SAAS,GAEbyqB,OAAQ,CACJzqB,SAAS,GAEb0qB,MAAO,CACHC,cAAe,EACflgF,KAAM,WACN+b,MAAO,CACHnK,KAAM,MAEVuuE,OAAQ,CACJ1mC,EAAG,KAGX2mC,YAAa,CACTC,OAAQ,CACJC,qBAAqB,EACrBv8B,OAAQ,CACJwR,SAAS,KAIrB2d,QAAS,CACLqN,cAAe,GAEnBC,UAAW,CACPC,aAAc,IACdC,YAAa,OAGrBtB,IAAgB,EAGpB,SAASuB,KACL,MAAO,CACHjB,MAAO,GAGP3jE,MAAO,CACHnK,KAAM,WAEVgvE,MAAO,CACH7kE,MAAO,CACHnK,KAAM,WAEVivE,kBAAmB,IAEvBZ,MAAO,CACHa,UAAW,GACXC,UAAW,IAEfX,YAAa,CACTC,OAAQ,CACJrgF,KAAM,OACN0oD,OAAQ,EACR3E,OAAQ,CACJwR,SAAS,GAEbuqB,WAAW,IAGnBE,OAAQ,CACJzqB,SAAS,GAEbirB,UAAW,CACP72E,SAAU,aACVq3E,aAAc,CACVhB,OAAQ,CACJzqB,SAAS,MAO7B,SAAS0rB,KACL,MAAO,CACHvB,MAAO,CACHC,SAAgD,MAAtCuB,UAAUC,UAAUpjE,MAAM,SAAmB,KAAO,IAC9DlZ,OAAQ,IAGZkX,MAAO,CACHnK,KAAM,WAEVgvE,MAAO,CACH7kE,MAAO,CACHnK,KAAM,WAEVivE,kBAAmB,IAEvBZ,MAAO,CACHa,UAAW,GACXC,UAAW,GACXl8E,OAAQ,GAERkX,MAAO,CACHnK,KAAM,OAGdwuE,YAAa,CACTC,OAAQ,CACJrgF,KAAM,OACN2rC,MAAO,UACP+c,OAAQ,IAGhB83B,UAAW,CACP72E,SAAU,yBACVq3E,aAAc,CACVhB,OAAQ,CACJzqB,SAAS,GAEbx5C,MAAO,CACHnK,KAAM,UACN62C,MAAO,CACHE,MAAO,aAQ/B,SAASy4B,GAAuCx8D,GAC5C,IAAIy7D,EAAS,GAYb,OAXAz5E,aAAEe,KAAKid,GAAkB,SAASiB,EAAiB7oB,GAC1C6oB,EAAgBw7D,WAErBhB,EAAO7iF,KAAK,CACRqE,KAAM,YAAc7E,EACpBN,KAAM,CACF,CAAC6I,IAAOC,IAAIqgB,EAAgBw7D,UAAUC,MAAM55D,GAAGsgB,UAAWniB,EAAgBw7D,UAAUC,MAAM7nC,GAC1F,CAACl0C,IAAOC,IAAIqgB,EAAgBw7D,UAAUE,IAAI75D,GAAGsgB,UAAWniB,EAAgBw7D,UAAUE,IAAI9nC,SAI3F4mC,EAGX,SAASmB,GAA8C58D,EAAkBP,EAAY5B,GAEjF,IAAIg/D,EAAuC76E,aAAE6d,QAAQG,EAAkB,eAEnEy7D,EAAS,GAiCb,OAhCAz5E,aAAEe,KAAK85E,GAAsC,SAASC,EAAsB37D,GACxE,IAAI7B,EAAYtd,aAAEN,KAAK+d,GAAY,SAASH,GACxC,OAAOA,EAAUhZ,KAAOsO,SAASuM,MAGjCnD,EAAShc,aAAEN,KAAKmc,GAAS,SAASG,GAClC,OAAOA,EAAO1X,KAAOgZ,EAAU5b,YAE/Bq5E,EAAc/6E,aAAEsD,QAAQuY,EAASG,GAEjCg/D,EAAQ,CACR//E,KAAM+gB,EAAO/gB,KACbnF,KAAM,GACNivC,MAAOk2C,GAAY5C,iBAAiB0C,IAGxC/6E,aAAEe,KAAK+5E,GAAsB,SAAS77D,GAC9BA,EAAgBw7D,WAChBO,EAAMllF,KAAKc,KACP,CAAC+H,IAAOC,IAAIqgB,EAAgBw7D,UAAUC,MAAM55D,GAAGsgB,UAAWniB,EAAgBw7D,UAAUC,MAAM7nC,GAC1F,CAACl0C,IAAOC,IAAIqgB,EAAgBw7D,UAAUE,IAAI75D,GAAGsgB,UAAWniB,EAAgBw7D,UAAUE,IAAI9nC,GACtF,CAACl0C,IAAOC,IAAIqgB,EAAgBw7D,UAAUE,IAAI75D,GAAGsgB,UAAW,UAK1C,IAAtB45C,EAAMllF,KAAKQ,SACX0kF,EAAM//E,MAAQ,wCAGlBw+E,EAAO7iF,KAAKokF,MAETvB,EAGX,SAASyB,GAAiDl9D,EAAkBP,EAAY5B,EAASs/D,GAC7F,IAAIN,EAAuC76E,aAAE6d,QAAQG,EAAkB,eAEnEy7D,EAAS,GAoCb,OAnCAz5E,aAAEe,KAAK85E,GAAsC,SAASC,EAAsB37D,GACxE,IAAI7B,EAAYtd,aAAEN,KAAK+d,GAAY,SAASH,GACxC,OAAOA,EAAUhZ,KAAOsO,SAASuM,MAGjCnD,EAAShc,aAAEN,KAAKmc,GAAS,SAASG,GAClC,OAAOA,EAAO1X,KAAOgZ,EAAU5b,YAE/Bq5E,EAAc/6E,aAAEsD,QAAQuY,EAASG,GAEjCg/D,EAAQ,CACR//E,KAAM+gB,EAAO/gB,KACbnF,KAAM,GACNivC,MAAOk2C,GAAY5C,iBAAiB0C,IAGpCK,EAAyBp7E,aAAEN,KAAKo7E,GAAsB,SAAS77D,GAC/D,OAAOA,EAAgBo8D,aAG3B,GAAoC,iBAAhC/9D,EAAUg+B,kBACV0/B,EAAM//E,MAAQ,2CACX,CACH,IAAIqgF,EAAmB38E,IAAOC,IAAIw8E,EAAuBX,UAAUE,IAAI75D,GAAG4E,KAAK01D,EAAuBX,UAAUC,MAAM55D,EAAG,UACrHy6D,EAAkBH,EAAuBX,UAAUE,IAAI9nC,EAAIuoC,EAAuBX,UAAUC,MAAM7nC,EAClG2oC,EAAcL,EAAoB,EAAIC,EAAuBX,UAAUC,MAAM7nC,EAC7E4oC,EAAYN,EAAoBI,EAAkBH,EAAuBX,UAAUE,IAAI9nC,EAC3FmoC,EAAMllF,KAAKc,KACP,CAAC,EAAG4kF,GACJ,CAACF,EAAkBG,IAI3BhC,EAAO7iF,KAAKokF,MAETvB,EAGX,SAASiC,GAAgC19D,GACrC,IAAI29D,EAAQ,GA8BZ,OA7BA37E,aAAEe,KAAKid,GAAkB,SAASiB,EAAiB7oB,GAC/CulF,EAAM/kF,KAAK,CACPmuC,MAAO,yBACPxf,KAAM5mB,IAAOC,IAAIqgB,EAAgBy7D,OAAOt5C,UACxC3b,GAAI9mB,IAAOC,IAAIqgB,EAAgB07D,KAAKv5C,UACpCjiB,YAAaF,EAAgBE,YAC7B2iC,OAAQ,EACR7jD,OAAQ,CACJ25D,MAAO,WAEH,GAAIj5D,IAAOC,MAAM8mB,KAAK+yD,IAAgB,IAAK,CACvC,IAAMmD,EAAc,CAClBz8D,YAAa/hB,KAAK20C,QAAQ5yB,YAC1BgG,UAAW,IAAItS,KAAKzV,KAAK20C,QAAQxsB,MAAMs2D,cACvCz2D,QAAS,IAAIvS,KAAKzV,KAAK20C,QAAQtsB,IAAIo2D,eAGrC59E,OAAO+nD,uBAAuBxmD,SAASo8E,KAG/CE,UAAW,SAAS5jF,GAChBkF,KAAK2+E,QAAQC,KAAK,OAAQ,6BAE9BC,SAAU,SAAS/jF,GACfkF,KAAK2+E,QAAQC,KAAK,OAAQ5+E,KAAK20C,QAAQhN,cAKhD42C,EAGX,SAASO,GAAuCl+D,EAAkBuB,GAC9D,IAAI48D,EAA0Bn8E,aAAEof,OAAOpB,EAAkB,SACrDo+D,EAAoBp8E,aAAEqhC,IAAI86C,GAAyB,SAASl9D,GAC5D,OAAOtgB,IAAOC,IAAIqgB,EAAgBy7D,OAAOt5C,aAEzCi7C,EAAkBr8E,aAAE6xB,IAAIsqD,GAAyB,SAASl9D,GAC1D,OAAOtgB,IAAOC,IAAIqgB,EAAgB07D,KAAKv5C,aAGvCu6C,EAAQ,CAAC,CACT52C,MAAO,yBACPxf,KAAM5mB,IAAOC,IAAIw9E,EAAkB1B,OAAOt5C,UAC1C3b,GAAI9mB,IAAOC,IAAIy9E,EAAgB1B,KAAKv5C,UACpC0gB,OAAQ,EACR7jD,OAAQ,CACJ25D,MAAO,WAECj5D,IAAOC,MAAM8mB,KAAK+yD,IAAgB,KAClCx6E,OAAOqhB,oBAAoB9f,SAAS+f,IAG5Cu8D,UAAW,SAAS5jF,GAChBkF,KAAK2+E,QAAQC,KAAK,OAAQ,6BAE9BC,SAAU,SAAS/jF,GACfkF,KAAK2+E,QAAQC,KAAK,OAAQ5+E,KAAK20C,QAAQhN,WAKnD,OAAO42C,EAGX,SAASW,GAAiCt+D,GACtC,IAAIy7D,EAAS,GAeb,OAdAz5E,aAAEe,KAAKid,GAAkB,SAASiB,EAAiB7oB,GAC/C,IAAIN,EAAOkK,aAAEoM,IAAI6S,EAAgBs9D,eAAe,SAAS1nC,GACrD,MAAO,CAACl2C,IAAOC,IAAIi2C,EAAM/zB,GAAGsgB,UAAWyT,EAAMhC,MAGjD4mC,EAAO7iF,KAAK,CACRqE,KAAM,YACN7B,KAAM,OACN2rC,MAAO,UACPy3C,UAAW,EACX16B,OAAQ,EACRhsD,KAAMA,OAGP2jF,EAGX,SAASgD,GAA0Bn/E,GAC/B,IAAIynC,EAA4B,aAApBznC,EAAYlE,KAAsB,UAAY,UACtDkL,EAAK,aAAehH,EAAYgH,GAChCtI,EAAQ4W,SAASjU,IAAOC,IAAItB,EAAYO,WAAWujC,WACnDs7C,EAAO,wCAA0Cp/E,EAAYlE,KAAO,cAAgBuM,QAAamrB,WAAWxzB,EAAYrC,MAAQ,4BAEpI,MAAO,CACHe,MAAOA,EACP+oC,MAAOA,EACPgd,MAAO,EACPz9C,GAAIA,EACJq4E,MAAO,CACHC,SAAU,EACV/6B,MAAO,CACH9c,MAAOA,GAEX/5B,KAAM0xE,EACNG,SAAS,EACThqC,GAAI,GACJ/xB,GAAI,KAKhB,SAASg8D,GAA4Bl0C,GACjC,IAAIm0C,EAAQ,GAIZ,OAHA/8E,aAAEe,KAAK6nC,GAAc,SAAStrC,EAAalH,GACvC2mF,EAAMnmF,KAAK6lF,GAA0Bn/E,OAElCy/E,EAGX,SAASC,GAAiC1/E,GACtC,MAAO,CACHgH,GAAI,kBACJygC,MAAO,UACPgd,MAAO,EACP/lD,MAAOsB,EAAcsV,SAASjU,IAAOC,IAAItB,EAAYO,WAAWujC,WAAa,MAIrF,SAAS67C,GAA0BC,EAAWC,EAAW74E,GACrD,IAAIygC,EAAQ,UACZ,MAAO,CACHA,MAAOA,EACPgd,MAAO,EACP/lD,MAAO4W,SAASjU,IAAOC,IAAIs+E,GAAW97C,WACtCu7C,MAAO,CACHC,SAAU,EACV/6B,MAAO,CACH9c,MAAOA,GAEX/5B,KAAMmyE,EACNtqC,GAAI,GACJ/xB,GAAI,IAERxc,GAAIA,GAIZ,SAAS84E,GAAiCniF,EAAMoiF,GAC5C,MAAO,CACHvE,MAAO,CACHwE,oBAAqB,KACrBC,gBAAiB,KACjBC,YAAY,EACZpkF,KAAM,OAEV+b,MAAO,CACHnK,KAAM/P,GAEVqxE,QAAS,CACLmR,YAAa,0BAEjBjE,YAAa,CACTkE,IAAK,CACDC,kBAAkB,EAClBC,OAAQ,UACRC,WAAY,CACRlvB,SAAS,EACT7oD,OAAQ,sCAEZozE,WAAW,IAGnBO,OAAQ,CACJ,CACIx+E,KAAMA,EACN6iF,cAAc,EACdhoF,KAAMunF,KAMtB,SAASU,GAA4BjF,EAAO5gF,GACxCA,EAAI4gF,EAAMkF,QAAQC,UAAU/lF,GAC5B,IAAImhF,EAAQP,EAAMO,MAAM,GACpBr9E,EAAQq9E,EAAM6E,QAAQhmF,EAAEimF,QACxBj+E,EAAOvB,IAAOC,IAAI5C,GAEtBiC,OAAOC,qBAAqBsB,SAASU,GAErCm5E,EAAM+E,eAAe1F,IACrBW,EAAMgF,YAAY,CACdriF,MAAOA,EACP+oC,MAAO,UACPgd,MAAO,EACPz9C,GAAIo0E,KAIZ,SAAS4F,GAAyBxF,GAC9B,IAAIO,EAAQP,EAAMO,MAAM,GACxBA,EAAM+E,eAAe1F,IAGzB,SAAS6F,GAAmBzoF,EAAMi8C,GAC9B,IAAIysC,EAAe,CACf1oF,KAAMA,EACN0mF,UAAW,EACXr/B,OAAQ,CAAEwR,SAAS,GACnB8vB,kBAAkB,EAClB/E,qBAAqB,EACrBtgF,KAAM,SACNslF,cAAc,EACd35C,MAAO,QAEX,OAAO45C,KAAMH,EAAczsC,GAG/B,SAAS6sC,GAAoB9oF,EAAMi8C,GAC/B,IAAIysC,EAAe,CACfplF,KAAM,UACNtD,KAAMA,EACNivC,MAAO,UACPoY,OAAQ,CACJ0hC,OAAQ,WAGhB,OAAOF,KAAMH,EAAczsC,GAld/B+sC,KAAalG,MAqdE,QACfyB,4CAA6C,SAAU/8E,GAEnD,OADKk7E,IAAeG,KACb0B,MAEXG,uCAAwC,SAAUx8D,GAC9C,OAAOw8D,GAAuCx8D,IAElD48D,8CAA+C,SAAU58D,EAAkBP,EAAY5B,GACnF,OAAO++D,GAA8C58D,EAAkBP,EAAY5B,IAEvFq/D,iDAAkD,SAAUl9D,EAAkBP,EAAY5B,EAASs/D,GAC/F,OAAOD,GAAiDl9D,EAAkBP,EAAY5B,EAASs/D,IAEnGO,gCAAiC,SAAU19D,GACvC,OAAO09D,GAAgC19D,IAE3Ck+D,uCAAwC,SAAUl+D,EAAkBuB,GAChE,OAAO28D,GAAuCl+D,EAAkBuB,IAEpE+8D,iCAAkC,SAAUt+D,GACxC,OAAOs+D,GAAiCt+D,IAE5Cy+D,0BAA2B,SAAUn/E,GACjC,OAAOm/E,GAA0Bn/E,IAErCw/E,4BAA6B,SAAUl0C,GACnC,OAAOk0C,GAA4Bl0C,IAEvCo0C,iCAAkC,SAAU1/E,GACxC,OAAO0/E,GAAiC1/E,IAE5C2/E,0BAA2B,SAAUC,EAAWC,EAAW74E,GACvD,OAAO24E,GAA0BC,EAAWC,EAAW74E,IAE3Dy1E,kCAAmC,WAE/B,OADKvB,IAAeG,KACboB,MAEXqD,iCAAkC,SAAUniF,EAAMoiF,GAE9C,OADK7E,IAAeG,KACbyE,GAAiCniF,EAAMoiF,IAElDU,4BAA6B,SAAUjF,EAAO5gF,GAC1C,OAAO6lF,GAA4BjF,EAAO5gF,IAE9ComF,yBAA0B,SAAUxF,GAChC,OAAOwF,GAAyBxF,IAEpCyF,mBAAoB,SAASzoF,EAAMi8C,GAC/B,OAAOwsC,GAAmBzoF,EAAMi8C,IAEpC6sC,oBAAqB,SAAS9oF,EAAMi8C,GAChC,OAAO6sC,GAAoB9oF,EAAMi8C,K,aCjhBrC,SAAS90C,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK4hF,UAAYvhF,IAAG6gD,MAAMC,iBAAiBphD,EAAO6hF,WAClD5hF,EAAK6hF,yBAA2B9hF,EAAO8hF,yBACvC7hF,EAAK8hF,iBAAmB/hF,EAAO+hF,iBAC/B9hF,EAAK+hF,iBAAmBhiF,EAAOgiF,iBAC/B/hF,EAAKg9D,SAAWj9D,EAAOi9D,SACvBh9D,EAAKi9D,gBAAkBl9D,EAAOk9D,gBAC9Bj9D,EAAKgiF,gBAAqC,gBAAnBhiF,EAAK4hF,WAAkD,eAAnB5hF,EAAK4hF,UAChE5hF,EAAKgwD,aAAc1gD,OAAMgd,QAAQ,mBACjCtsB,EAAK27E,MAAQt7E,IAAGC,aAEhBN,EAAKiiF,UAAY5hF,IAAGc,cAAa,WAC7B,IAAIygF,EAAY5hF,EAAK4hF,UACjBM,EAAgBliF,EAAK8hF,mBACrBK,EAAgBniF,EAAK+hF,mBACrB/kB,EAAWh9D,EAAKg9D,WAAW70D,cAC3B05E,EAA2B7hF,EAAK6hF,2BAChCvkB,EAAQt9D,EAAKi9D,kBACbqf,EAAS,GAEb,GAAIuF,EAAyB1oF,OAAS,GAAmB,eAAdyoF,EAA4B,CACnE,IAAIQ,EACAC,QAAsBvlB,kBAAkB+kB,EAA0B7kB,EAAUM,GAE5EglB,EAA0BD,QAAsBjkB,uBAAuBgkB,GACvEG,EAAsBC,GAAiBpB,mBAAmBkB,EAC1D,CACIxkF,KAAM,kBACN8pC,MAAO,wBACP25C,cAAc,IAGlBkB,EAAO5/E,aAAEqhC,IAAI29C,GAA0B,SAASnqC,GAAS,OAAOA,EAAM,MAAO,GAC7EgrC,EAAO7/E,aAAE6xB,IAAImtD,GAA0B,SAASnqC,GAAS,OAAOA,EAAM,MAAO,GAC7EnvB,EAAO2L,KAAKsqC,IAAIkkB,EAAOD,GAC3BC,GAAQn6D,EAAO,EACfk6D,GAAQl6D,EAAO,EAEf,IAAIo6D,EACAN,QAAsBjkB,uBAAuBgkB,EAA8BK,EAAMC,GACjFE,EAA8BJ,GAAiBpB,mBAAmBuB,EAClE,CACI7kF,KAAM,WACNyjF,cAAc,EACd35C,MAAO,wBACPi7C,UAAW,OACXxD,UAAW,EACX16B,OAAQ,EACRm+B,SAAU,cAGlBxG,EAAO7iF,KAAK8oF,GACZjG,EAAO7iF,KAAKmpF,GAEZ,IAAIG,EAAiBP,GAAiBf,oBAAoBI,EACtD,CACI/jF,KAAM,iBAEdw+E,EAAO7iF,KAAKspF,GAGhB,IAAIC,EAAoBb,EAAqBniF,EAAKgiF,gBAAkB,UAAYG,EAAcjtE,KAAKC,QAA3D,GAEpC8sE,EAAY,CACZ/F,MAAO,CACHlkE,MAAO,CACHnK,KAAMq0E,EAAgBA,EAAcpkF,KAAO,KAAOokF,EAAchtE,KAAKC,QAAU,IAAM,IAEzFlZ,MAAOimF,GAAiBC,EAAgB,WAAa,IAEzDtF,MAAO,CACH7kE,MAAO,CACHnK,KAAMs0E,EAAgBA,EAAcrkF,KAAO,KAAOklF,EAAmB,IAAM,IAE/EhG,UAAW,CACP,CACIn+E,MAAO,EACP+lD,MAAO,EACPhd,MAAO,aAInBq0C,OAAQ,CACJzqB,SAAS,EACTyxB,OAAQ,WACRC,MAAO,QACPC,cAAe,SACfC,YAAa,GAEjB9G,OAAQA,GAGZ,OAAO2F,KAGXjiF,EAAKqjF,kBAAoBhjF,IAAGsY,UAAS,WACjC,IAAIspE,EAAYjiF,EAAKiiF,YACjBrtC,EAAU4tC,GAAiB5F,oCAa/B,OAXAhoC,EAAQ58B,MAAMnK,KAAO,KACrB+mC,EAAQ0nC,OAAS2F,EAAU3F,OAC3B1nC,EAAQsnC,MAAQ+F,EAAU/F,MAC1BtnC,EAAQioC,MAAQoF,EAAUpF,MAC1BjoC,EAAQooC,UAAYiF,EAAUjF,UAC9BpoC,EAAQqnC,OAAOzqB,SAAU,EAGrBxxD,EAAKgwD,aACLpb,EAAQ+mC,MAAMxxB,OAAS,KAEpBvV,KAIA,QAAEvxC,UAAWvD,GAAWwD,SAAUA,M,oCCpHjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKsjF,cAAgBjjF,IAAG6gD,MAAMC,iBAAiBphD,EAAOujF,eACtDtjF,EAAKujF,mBAAqBljF,IAAG6gD,MAAMC,iBAAiBphD,EAAOwjF,oBAC3DvjF,EAAKwjF,gBAAkBnjF,IAAG6gD,MAAMC,iBAAiBphD,EAAOyjF,iBACxDxjF,EAAK6hF,yBAA2B9hF,EAAO8hF,yBACvC7hF,EAAKyjF,YAAc1jF,EAAO0jF,YAC1BzjF,EAAK27E,MAAQt7E,IAAGC,aAEhBN,EAAK0jF,eAAiB3jF,EAAO2jF,gBAAkB,GAC/C1jF,EAAK2jF,oBAAsB5jF,EAAO4jF,oBAClC3jF,EAAK4jF,cAAgB7jF,EAAO6jF,cAC5B5jF,EAAK6jF,cAAgB9jF,EAAO8jF,cAC5B7jF,EAAK8jF,mBAAqB/jF,EAAO+jF,mBACjC9jF,EAAK+jF,mBAAqBhkF,EAAOgkF,mBACjC/jF,EAAKyiF,KAAO1iF,EAAO0iF,KACnBziF,EAAK0iF,KAAO3iF,EAAO2iF,KACnB1iF,EAAKi9D,gBAAkBl9D,EAAOk9D,gBAC9Bj9D,EAAKgkF,oBAAsBjkF,EAAOikF,oBAElChkF,EAAKg9D,SAAW38D,IAAGc,cAAa,WAC5B,OAAInB,EAAKsjF,cACEtjF,EAAKsjF,cAAc3vC,QAAQqpB,SAC3Bj9D,EAAOi9D,SACPj9D,EAAOi9D,gBADX,KAKXh9D,EAAKgiF,gBAAkB3hF,IAAGc,cAAa,WACnC,IAAImiF,EAAgBtjF,EAAKsjF,cACzB,IAAKA,EAAe,OAAO,EAE3B,IAAI3vC,EAAQ2vC,EAAc3vC,QAC1B,IAAKA,EAAO,OAAO,EAEnB,IAAIiuC,EAAYjuC,EAAMiuC,UACtB,MAAqB,gBAAdA,GAA6C,eAAdA,KAG1C5hF,EAAKikF,mBAAqB5jF,IAAGc,cAAa,WACtC,OAAInB,EAAKsjF,cACEtjF,EAAKsjF,cAAc3vC,QAAQswC,mBAC3BlkF,EAAOkkF,mBACPlkF,EAAOkkF,0BADX,KAKXjkF,EAAKkkF,mBAAqB7jF,IAAGc,cAAa,WACtC,OAAInB,EAAKsjF,cACEtjF,EAAKsjF,cAAc3vC,QAAQuwC,mBAC3BnkF,EAAOmkF,mBACPnkF,EAAOmkF,0BADX,KAMXlkF,EAAKkiF,cAAgB7hF,IAAGc,cAAa,WACjC,IAAI8iF,EAAqBjkF,EAAKikF,qBAC9B,GAAKA,GAA6C,OAAvBA,EAA3B,CAGA,IAAIE,EAAoBthF,aAAEN,KAAKvC,EAAKujF,oBAAoB,SAAUY,GAC9D,OAAIA,EAAkBnvE,SACXivE,IAAuBE,EAAkBnvE,SAAS7N,GAElD88E,IAAuBE,EAAkBh9E,MAIxD,GAAKg9E,EAIL,OAAOA,EAAkBnvE,SAAWmvE,EAAkBnvE,SAAWmvE,MAGrEnkF,EAAKmiF,cAAgB9hF,IAAGc,cAAa,WACjC,IAAI+iF,EAAqBlkF,EAAKkkF,qBAC1BC,EAAoBthF,aAAEN,KAAKvC,EAAKujF,oBAAoB,SAAUY,GAC9D,OAAIA,EAAkBnvE,SACXkvE,IAAuBC,EAAkBnvE,SAAS7N,GAElD+8E,IAAuBC,EAAkBh9E,MAGxD,GAAIg9E,EACA,OAAOA,EAAkBnvE,SAAWmvE,EAAkBnvE,SAAWmvE,KAKzEnkF,EAAKiiF,UAAY5hF,IAAGc,cAAa,WAC7B,IAAImiF,EAAgBtjF,EAAKsjF,cAAgBtjF,EAAKsjF,cAAc3vC,QAAU,GAClEuuC,EAAgBliF,EAAKkiF,gBACrBC,EAAgBniF,EAAKmiF,gBACrBnlB,EAAWh9D,EAAKg9D,WAAW70D,cAC3Bq7E,EAAkBxjF,EAAKwjF,gBACvB3B,EAA2B7hF,EAAK6hF,2BAChCvkB,EAAQt9D,EAAKi9D,kBACbqf,EAAS,GAEToH,EAAiB1jF,EAAK0jF,iBACtBE,EAAgB5jF,EAAK4jF,gBACrBC,EAAgB7jF,EAAK6jF,gBACrBC,EAAqB9jF,EAAK8jF,qBAC1BC,EAAqB/jF,EAAK+jF,qBAC1BtB,EAAOziF,EAAKyiF,OACZC,EAAO1iF,EAAK0iF,OACZsB,EAAsBhkF,EAAKgkF,sBAC3BL,EAAsB3jF,EAAK2jF,sBAE/B,GAAI9B,EAAyB1oF,OAAS,GAAiC,eAA5BmqF,EAAc1B,UAA4B,CACjF,IAAIQ,EAA+BC,QAAsBvlB,kBAAkB+kB,EAA0B7kB,EAAUM,GAC3GglB,EAA0BD,QAAsBjkB,uBAAuBgkB,EAA8B0B,EAAoBC,GACzHxB,EAAsBC,GAAiBpB,mBAAmBkB,EAC1D,CACIxkF,KAAM,kBACN8pC,MAAO,wBACP25C,cAAc,IAItB,GAFAjF,EAAO7iF,KAAK8oF,GAERE,EAAOqB,GAAsBpB,EAAOqB,EAAoB,CACxD,IAAIpB,EAAkCN,QAAsBjkB,uBAAuBgkB,EAA8BK,EAAMC,GACnHE,EAA8BJ,GAAiBpB,mBAAmBuB,EAClE,CACI7kF,KAAM,uBACNyjF,cAAc,EACd35C,MAAO,wBACPi7C,UAAW,OACXxD,UAAW,EACX16B,OAAQ,EACRod,SAAS,IAEjBua,EAAO7iF,KAAKmpF,IAIpB,GAAIY,EAAiB,CACjB,IAAIY,EAAyBvhF,aAAEu3B,UAAUopD,GACrC,SAAS9rC,GACL,OAAO2qC,QAAsBriB,UAAUtoB,EAAMhC,EACzCiuC,EAAoBxkB,KACpBwkB,EAAoB1jB,IACpB0jB,EAAoB7kB,MAG5BulB,EAAqBD,EAAuB,GAC5CrB,EAAiBP,GAAiBf,oBAAoB4C,EACtD,CACIvmF,KAAM,gBAEdw+E,EAAO7iF,KAAKspF,GAEZ,IAAIuB,EAAWF,EAAuB,GACtC,GAAIE,EAASnrF,OAAS,EAAG,CACrB,IAAIorF,EAAgB/B,GAAiBf,oBAAoB6C,EACrD,CACIxmF,KAAM,WACN8pC,MAAO,MACPoY,OAAQ,CACJ0hC,OAAQ,cAGpBpF,EAAO7iF,KAAK8qF,GAGhB,GAAIb,GAAkBA,EAAevqF,OAAS,GAAK6qF,EAAqB,CACpE,IAAIQ,EAAmBnC,QAAsBjkB,uBAAuB4lB,EAAqBJ,EAAeC,GAEpGY,EAAuBpC,QAAsBjkB,uBAAuB4lB,EAAqBvB,EAAMC,GAC/FgC,EAAqBrC,QAAsB/hB,sBAAsB0jB,EAAqBN,GACtFiB,EAAgBtC,QAAsB1jB,iBAAiB+kB,EAAgBgB,GAEvEE,EAAepC,GAAiBpB,mBAAmBoD,EACnD,CACI1mF,KAAM,uBAAyB6mF,EAAcxhE,QAAQ,GAAI,IACzDo+D,cAAc,IAItB,GAFAjF,EAAO7iF,KAAKmrF,GAERnC,EAAOmB,GAAiBlB,EAAOmB,EAAe,CAC9C,IAAIgB,EAAmBrC,GAAiBpB,mBAAmBqD,EACvD,CACI3mF,KAAM,sBACNyjF,cAAc,EACdsB,UAAW,OACXxD,UAAW,EACX16B,OAAQ,EACRod,SAAS,IAEjBua,EAAO7iF,KAAKorF,KAIxB,IAAI7B,EAAoBb,EAAqBniF,EAAKgiF,kBAAoB,UAAYG,EAAcjtE,KAAKC,QAA7D,GAEpC8sE,EAAY,CACZjqE,MAAOsrE,EAAcxlF,KACrBo+E,MAAO,CACHlkE,MAAO,CACHnK,KAAMq0E,EAAgBA,EAAcnxD,YAAc,KAAOmxD,EAAchtE,KAAKC,QAAU,IAAM,IAEhGlZ,MAAOimF,GAAiBC,EAAgB,WAAa,IAEzDtF,MAAO,CACH7kE,MAAO,CACHnK,KAAMs0E,EAAgBA,EAAcpxD,YAAc,KAAOiyD,EAAmB,IAAM,IAEtFhG,UAAW,CACP,CACIn+E,MAAO,EACP+lD,MAAO,EACPhd,MAAO,aAInBunC,QAAS,CACL2V,SAAS,EACTC,UAAW,WACP,OAAO/kF,EAAKglF,eAAe/kF,QAGnCg8E,OAAQ,CACJzqB,SAAS,EACTyxB,OAAQ,WACRC,MAAO,QACPC,cAAe,SACfC,YAAa,GAEjB9G,OAAQA,GAGZ,OAAO2F,KAGXjiF,EAAKqjF,kBAAoBhjF,IAAGsY,UAAS,WACjC,IAAIspE,EAAYjiF,EAAKiiF,YACjBrtC,EAAU4tC,GAAiB5F,oCAU/B,OARAhoC,EAAQ58B,MAAMnK,KAAOo0E,EAAUjqE,MAC/B48B,EAAQ0nC,OAAS2F,EAAU3F,OAC3B1nC,EAAQsnC,MAAQ+F,EAAU/F,MAC1BtnC,EAAQioC,MAAQoF,EAAUpF,MAC1BjoC,EAAQooC,UAAYiF,EAAUjF,UAC9BpoC,EAAQu6B,QAAU8S,EAAU9S,QAC5Bv6B,EAAQqnC,OAAOzqB,SAAU,EAElB5c,KAGX50C,EAAKilF,aAAejlF,EAAK27E,MAAMp6D,WAAU,SAAS1iB,GAC9C,IAAIy9E,EAASz9E,EAAMy9E,OAEfmH,EAAc5gF,aAAEoM,IAAIqtE,GAAQ,SAAUuB,GACtC,MAAO,CAAE//E,KAAM+/E,EAAM//E,KAAM6lB,EAAGk6D,EAAMqH,eAAgBxvC,EAAGmoC,EAAMsH,mBAGjEnlF,EAAKyjF,YAAYA,MAGrBzjF,EAAKolF,gCAAkCplF,EAAK6hF,yBAAyBtgE,WAAU,SAAU1iB,GACrF,IAAI88E,EAAQ37E,EAAK27E,QACbA,EAAMW,OAAOnjF,OAAS,GACtBwiF,EAAMW,OAAO,GAAG+I,QAAQxmF,MAIhCmB,EAAKslF,8BAAgCxkF,OAAO0mD,uBAAuBxmD,KAAI,SAAU02C,GAC7E,IAAI6tC,EAAS7tC,EAAM,GAAG,GAClB8tC,EAAS9tC,EAAM,GAAG,GAClB+tC,GAAgB5iF,aAAEuzE,MAAMmP,KAAY1iF,aAAEuzE,MAAMoP,GAE5CE,EAAa,kBACbC,EAAsB,wBACtBhK,EAAQ37E,EAAK27E,QACbW,EAASz5E,aAAEN,KAAKo5E,EAAMW,QAAQ,SAAUuB,GAAS,OAAOA,EAAM//E,OAAS4nF,KACvEE,EAAiB/iF,aAAEN,KAAKo5E,EAAMW,QAAQ,SAAUuB,GAAS,OAAOA,EAAM//E,OAAS6nF,KAEnF,IAAKF,EAOD,OANInJ,GACAA,EAAOt4E,cAEP4hF,GACAA,EAAe5hF,UAKvB,IAAI6hF,EAAuB,UACvBvJ,EACAA,EAAO+I,QAAQ3tC,GAEfikC,EAAMmK,UAAU,CAAEhoF,KAAM4nF,EAAY/sF,KAAM++C,EAAOz7C,KAAM,UAAW2rC,MAAOi+C,EAAsB7lC,OAAQ,CAAE0hC,OAAQ,YAGrH,IAAIsC,EAAsBhkF,EAAKgkF,sBAC3BtB,EAAO1iF,EAAK0iF,OACZD,EAAOziF,EAAKyiF,OACZgC,EAAuB,KAY3B,GAVIc,EAAS7C,EACT+B,EAAuBpC,QAAsBjkB,uBAAuB4lB,EAAqBtB,EAAM6C,GACxFA,EAAS9C,IAChBgC,EAAuBpC,QAAsBjkB,uBAAuB4lB,EAAqBuB,EAAQ9C,IAGjGmD,IAAmBnB,GACnBmB,EAAe5hF,SAGdygF,EAIL,GAAImB,EACAA,EAAeP,QAAQZ,OACpB,CACH,IAAII,EAAmBrC,GAAiBpB,mBAAmBqD,EACvD,CACI3mF,KAAM6nF,EACNpE,cAAc,EACdsB,UAAW,OACXxD,UAAW,EACX16B,OAAQ,EACRm+B,SAAU,YACVl7C,MAAOi+C,IAEflK,EAAMmK,UAAUjB,OAK5B/kF,GAAUzG,UAAU2rF,eAAiB,SAAUe,GAC3C,IAAI/lF,EAAOC,KACP4N,EAAO,GAEX,GAA+B,oBAA3Bk4E,EAAWzJ,OAAOx+E,KAA4B,CAC9C,IAAIkoF,EAAaD,EAAWzJ,OAAOJ,MAAM+J,UAAUC,QAC/CC,EAAaJ,EAAWzJ,OAAOO,MAAMoJ,UAAUC,QAEnD,OAAOF,EAAc,KAAOD,EAAWruC,MAAM/zB,EAAER,QAAQ,GAAK,QAAUgjE,EAAa,KAAOJ,EAAWruC,MAAMhC,EAAEvyB,QAAQ,GAGzH,IAAIijE,EAAaL,EAAWruC,MAAM0uC,WAC9BC,EAAmBD,EAAWC,mBAElCx4E,GAAQ,MAAQu4E,EAAWE,oBAAsB,MAAQF,EAAWG,kBAAoB,YAExF,IAAIrC,EAAqBlkF,EAAKkkF,qBAC1BlC,EAAkBhiF,EAAKgiF,kBAY3B,OAVAn/E,aAAEe,KAAKyiF,GAAkB,SAAUG,GAC/B,IAAIrC,EAAoBthF,aAAEN,KAAKvC,EAAKujF,oBAAoB,SAAUY,GAAqB,OAAOqC,EAAoBr/E,KAAOg9E,EAAkBnvE,SAAS7N,MAEhJs/E,EAAUD,EAAoBr/E,KAAO+8E,EACrC9gE,EAAcqjE,GAAWzE,EAAkB,UAAYmC,EAAkBnvE,SAASE,KAAKC,QAE3FtH,GAAQ,SAAW24E,EAAoB1oF,KAA/B,iDAAgG0oF,EAAoBE,QAAQvjE,QAAQ,GACxI,IAAMC,EAAc,kBAGrBvV,GAGX/N,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmlF,gCAAgCxjF,UACrC3B,KAAKglF,aAAarjF,UAClB3B,KAAKqlF,8BAA8BzjF,UAGxB,QAACwB,UAAWvD,GAAWwD,SAAUA,M,wBCvXhD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK2mF,YAAc5mF,EAAO4mF,YAE1B3mF,EAAK4mF,2BAA6BvmF,IAAGc,cAAa,WAG9C,IAFA,IAAI0lF,EAAM,EACNF,EAAc3mF,EAAK2mF,cACd1tF,EAAI,EAAGA,EAAI0tF,EAAYxtF,OAAQF,IAAK,CACzC,IAAImtF,EAAaO,EAAY1tF,GACzB4F,EAAQgrB,OAAOu8D,EAAWU,WAAWC,0BACpClkF,aAAEuzE,MAAMv3E,IAAUgE,aAAE2zD,SAAS33D,KAC9BgoF,GAAOhoF,GAGf,OAAOgoF,KAGX7mF,EAAKgnF,8BAAgC3mF,IAAGc,cAAa,WAGjD,IAFA,IAAI0lF,EAAM,EACNF,EAAc3mF,EAAK2mF,cACd1tF,EAAI,EAAGA,EAAI0tF,EAAYxtF,OAAQF,IAAK,CACzC,IAAImtF,EAAaO,EAAY1tF,GACzB4F,EAAQgrB,OAAOu8D,EAAWU,WAAWG,6BACpCpkF,aAAEuzE,MAAMv3E,IAAUgE,aAAE2zD,SAAS33D,KAC9BgoF,GAAOhoF,GAIf,OAAOgoF,KAGX7mF,EAAKknF,iCAAmC7mF,IAAGc,cAAa,WAGpD,IAFA,IAAI0lF,EAAM,EACNF,EAAc3mF,EAAK2mF,cACd1tF,EAAI,EAAGA,EAAI0tF,EAAYxtF,OAAQF,IAAK,CACzC,IAAImtF,EAAaO,EAAY1tF,GACzB4F,EAAQgrB,OAAOu8D,EAAWU,WAAWK,kCACpCtkF,aAAEuzE,MAAMv3E,IAAUgE,aAAE2zD,SAAS33D,KAC9BgoF,GAAOhoF,GAGf,OAAOgoF,KAGX7mF,EAAKonF,uBAAyB/mF,IAAGc,cAAa,WAG1C,IAFA,IAAI0lF,EAAM,EACNF,EAAc3mF,EAAK2mF,cACd1tF,EAAI,EAAGA,EAAI0tF,EAAYxtF,OAAQF,IAAK,CACzC,IAAImtF,EAAaO,EAAY1tF,GAC7B4tF,GAAOT,EAAWU,WAAWO,oBAGjC,OAAOR,KAIA,QAACxjF,UAAWvD,GAAWwD,SAAUA,M,qCCpDhD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKsjF,cAAgBvjF,EAAOujF,cAC5BtjF,EAAKsnF,UAAYvnF,EAAOunF,UACxBtnF,EAAK2jF,oBAAsB5jF,EAAO4jF,oBAClC3jF,EAAKqmF,iBAAmBtmF,EAAOsmF,iBAC/BrmF,EAAKunF,WAAalnF,IAAGC,aACrBN,EAAKwnF,WAAannF,IAAGC,aACrBN,EAAKynF,aAAepnF,IAAGC,YAAW,GAElCN,EAAK0nF,YAAcrnF,IAAGwK,gBAAgB,IAEtC7K,EAAK4hF,UAAYvhF,IAAGc,cAAa,WAC7B,IAAIwyC,EAAQ3zC,EAAK2zC,QAEjB,OAAOA,EAAMiuC,aAGjB5hF,EAAK2zC,MAAQtzC,IAAGc,cAAa,WACzB,IAAIwyC,EAAQ3zC,EAAKsjF,gBAAgB3vC,QAEjC,OAAOA,KAGX3zC,EAAK8hF,iBAAmBzhF,IAAGc,cAAa,WACpC,IAAIklF,EAAmBrmF,EAAKqmF,mBACxBpC,EAAqBjkF,EAAK2zC,QAAQswC,mBAEtC,OAAOphF,aAAEN,KAAK8jF,GAAkB,SAAUrxE,GAAY,OAAOA,EAAS7N,KAAO88E,QAGjFjkF,EAAK+hF,iBAAmB1hF,IAAGc,cAAa,WACpC,IAAIklF,EAAmBrmF,EAAKqmF,mBACxBnC,EAAqBlkF,EAAK2zC,QAAQuwC,mBAEtC,OAAOrhF,aAAEN,KAAK8jF,GAAkB,SAAUrxE,GAAY,OAAOA,EAAS7N,KAAO+8E,QAGjFlkF,EAAKg9D,SAAW38D,IAAGc,cAAa,WAC5B,IAAI67D,EAAWh9D,EAAK2zC,QAAQqpB,SAAS70D,cACrC,OAAO60D,KAGXh9D,EAAKi9D,gBAAkB58D,IAAGc,cAAa,WACnC,IAAI87D,EAAkBj9D,EAAK2zC,QAAQspB,gBACnC,OAAOA,KAGXj9D,EAAK2nF,eAAiBtnF,IAAGc,cAAa,WAClC,IAAIqmF,EAAaxnF,EAAKwnF,aAEtB,OAAQ3kF,aAAE2C,YAAYgiF,GAAsC,GAAxBA,EAAWrkE,QAAQ,MAG3DnjB,EAAK4nF,kBAAoB5nF,EAAKunF,WAAWhmE,WAAU,SAAU1iB,GACzD,IAAIyoF,EAAYtnF,EAAKsnF,YACjBtqB,EAAWh9D,EAAKg9D,WAChBC,EAAkBj9D,EAAKi9D,kBACvBrpC,EAAqBprB,QAAaorB,mBAAmB/0B,GAGzD,GAFAA,EAAQ8vB,WAAW9vB,IAEd+0B,GAAsB/wB,aAAEuzE,MAAMv3E,GAC/BmB,EAAKynF,cAAa,OACf,CACH,IAAI/D,EAAiBrB,QAAsB3jB,iCAAiC4oB,GACxEpqB,EAAiBmlB,QAAsBvlB,kBAAkB4mB,EAAgB1mB,EAAUC,GAEnF4qB,EAAkBxF,QAAsBzkB,kBAAkB/+D,EAAOq+D,GACrEl9D,EAAKynF,cAAa,GAElBznF,EAAKwnF,WAAWK,EAAgB,IAChC/mF,OAAO0mD,uBAAuBnlD,SAAS,CAACwlF,QAIhD7nF,EAAK8nF,YAAc,SAAUpwC,GACzB,IAAI/D,EAAQ3zC,EAAK2zC,QACjB3zC,EAAK0nF,YAAY1jF,OAAO0zC,GAGxB,IADA,IAAIqwC,GAAqB,EAChB9uF,EAAI,EAAGA,EAAI06C,EAAM4qB,OAAOplE,OAAQF,IACrC,GAAI06C,EAAM4qB,OAAOtlE,GAAG0qB,IAAM+zB,EAAM,GAAI,CAChCqwC,EAAoB9uF,EACpB,MAIR06C,EAAM4qB,OAAOlkE,OAAO0tF,EAAmB,GAGvC,IAAIC,QAAQr0C,GAAO/wC,KAAK+wC,IAG5B3zC,EAAKgjF,iBAAmB3iF,IAAGc,cAAa,WACpC,IAAIygF,EAAY5hF,EAAK4hF,YAErB,MAAkB,gBAAdA,GAA6C,eAAdA,EACxB,UAGJ5hF,EAAK+hF,mBAAmB7sE,KAAKC,WAGxCnV,EAAKioF,kBAAoB5nF,IAAGc,cAAa,WACrC,IAAIumF,EAAc1nF,EAAK0nF,cAEnB92C,EAAS82C,EAAY15E,MAAK,SAAUC,EAAGC,GAAK,OAAOD,EAAE,GAAKC,EAAE,MAChE,OAAO0iC,KAGX5wC,EAAKkoF,iBAELloF,EAAKmoF,wBAA0B9nF,IAAGc,cAAa,WAC3C,IAAIinF,EAAiBpoF,EAAKwnF,aAC1B,OAAI3kF,aAAE2C,YAAY4iF,KAAmBvlF,aAAEuzE,MAAMgS,IAEtCpoF,EAAKggE,UAAUooB,MAG1BpoF,EAAKqoF,wBAA0BhoF,IAAGc,cAAa,WAC3C,IAAIgnF,EAA0BnoF,EAAKmoF,0BAC/BT,EAAc1nF,EAAK0nF,cAEvB,OAAOS,GACHtlF,aAAE+0B,IAAI8vD,GACF,SAASF,GACL,OAAOA,EAAW,SAKtC1nF,GAAUzG,UAAUivF,SAAW,WAC3B,IAAItoF,EAAOC,KACPpB,EAAQmB,EAAKunF,aACbgB,EAAa55D,WAAW9vB,GACxB80C,EAAQ3zC,EAAK2zC,QACb2zC,EAAYtnF,EAAKsnF,YACjBtqB,EAAWh9D,EAAKg9D,WAChBC,EAAkBj9D,EAAKi9D,kBAEvBurB,EAAc3lF,aAAE6C,KAAKiuC,EAAM4qB,QAAQ,SAAU7mB,GAAS,OAAOA,EAAM/zB,IAAM4kE,KAE7E,IAAK1lF,aAAEuzE,MAAMmS,KAAgBC,EAAa,CACtC,IAAIzC,EAAa,CAAEpiE,EAAG4kE,EAAY7yC,EAAG,GACjC8xC,EAAanF,QAAsBhiB,uBAAuBkoB,EAAYjB,EAAWtqB,EAAUC,GAE/Fj9D,EAAK0nF,YAAYjuF,KAAK,CAAC8uF,EAAYf,IACnC7zC,EAAM4qB,OAAO9kE,KAAKssF,GAElB,IAAIiC,QAAQr0C,GAAO/wC,KAAK+wC,KAIhC7zC,GAAUzG,UAAU6uF,eAAiB,WACjC,IAAIloF,EAAOC,KACPs+D,EAASv+D,EAAK2zC,QAAQ4qB,OACtBvB,EAAWh9D,EAAKg9D,WAChBC,EAAkBj9D,EAAKi9D,kBACvBqqB,EAAYtnF,EAAKsnF,YACjBI,EAAc,GAEdzoB,EAAYojB,QAAsB3jB,iCAAiC4oB,GAEvEzkF,aAAEe,KAAK26D,GAAQ,SAAU7mB,GACrB,IAAI8vC,EAAanF,QAAsBhiB,uBAAuB3oB,EAAM/zB,EAAGs7C,EAAWjC,EAAUC,GACxF+C,EAAYhgE,EAAKggE,UAAUwnB,GAC/BE,EAAYjuF,KAAK,CAACi+C,EAAM/zB,EAAG6jE,EAAYxnB,OAG3ChgE,EAAK0nF,YAAYA,IAGrB5nF,GAAUzG,UAAU2mE,UAAY,SAASnhE,GACrC,IAAImB,EAAOC,KACP0jF,EAAsB3jF,EAAK2jF,sBAE3B3jB,EAAYqiB,QAAsBriB,UAAUnhE,EAC5C8kF,EAAoBxkB,KACpBwkB,EAAoB1jB,IACpB0jB,EAAoB7kB,GAExB,OAAOkB,GAGXlgE,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK2nF,kBAAkBhmF,WAGZ,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBChMjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKyoF,WAAapoF,IAAGC,WAAWuC,aAAE2C,YAAYzF,EAAO0oF,YAAc,UAAY1oF,EAAO0oF,YAEtFzoF,EAAK0oF,kBAAoB5nF,OAAOynD,iBAAiBvnD,KAAI,SAAS6M,GAC1D7N,EAAKyoF,WAAW56E,MAIxB/N,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKyoF,kBAAkB7mF,UAGZ,QAAEwB,UAAWvD,GAAWwD,SAAUA,M,wBCdjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK27E,MAAQt7E,IAAGC,aAChBN,EAAKlC,KAAOiC,EAAOjC,KACnBkC,EAAKkgF,UAAYngF,EAAOmgF,UAExBlgF,EAAKqjF,kBAAoBhjF,IAAGc,cAAa,WACrC,IAAI++E,EAAYlgF,EAAKkgF,YACjByI,EAAkBnG,GAAiBvC,iCAAiCjgF,EAAKlC,KAAMoiF,GAEnF,OADAyI,EAAgBhN,MAAMxxB,OAAS,IACxBw+B,KAIf7oF,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,kDCjBjD,SAASslF,GAA2B/vC,EAAUgwC,GAC1C,IAAI7oF,EAAOC,KACXD,EAAK+2D,aAAele,EAAS/6C,KAE7BkC,EAAK83D,qBAAuBj1D,aAAEkhB,OAAO8kE,GACjC,SAAS9nD,EAAM41B,GACX,OAAO51B,EAAO41B,EAAyBmyB,6BAE3C,GAGR,SAAShpF,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,QAA4BzpC,MACxDuB,EAAK+oF,iBAAmBhpF,EAAOgpF,iBAE/B/oF,EAAKgpF,4BAA8B3oF,IAAGc,cAAa,WAC/C,IAAI4nF,EAAmB/oF,EAAK+oF,mBACxB7wC,EAAel4C,EAAKioC,qBAAqBiQ,eAEzC+wC,EAAoBpmF,aAAE6d,QAAQqoE,GAC9B,SAASzyB,GACL,OAAOA,EAAgBU,cAG3BkyB,EAA6BrmF,aAAEoM,IAAIg6E,GACnC,SAASxwE,EAAOu+C,GACZ,IAAIne,EAAWX,EAAa8e,GAC5B,OAAO,IAAI4xB,GAA2B/vC,EAAUpgC,MAGxD,OAAOywE,KAIfppF,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBCrCjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK6e,OAASxe,IAAG6gD,MAAMC,iBAAiBphD,EAAO8e,QAC/C7e,EAAKyrC,aAAe1rC,EAAO0rC,aAC3BzrC,EAAK6rC,aAAe9rC,EAAO8rC,aAC3B7rC,EAAKmpF,0BAA2B,EAChCnpF,EAAK27E,MAAQt7E,IAAGC,aAEhBN,EAAKqjF,kBAAoBhjF,IAAGsY,UAAS,WACjC,IAAIkzB,EAAe7rC,EAAK6rC,eACpBJ,EAAezrC,EAAKyrC,eACxB,IAAKI,EAAc,OAAO,KAE1B,IAAI0yB,EAAS17D,aAAEoM,IAAI48B,EAAalzC,MAC5B,SAAS+8C,EAAG/xB,GACR,MAAO,CAAClO,SAASkO,GAAI+xB,MAEzBd,EAAU4tC,GAAiB5F,oCAC/BhoC,EAAQ58B,MAAMnK,KAAO,KACrB+mC,EAAQioC,MAAM7kE,MAAMnK,KAAOg+B,EAAa32B,KAAO22B,EAAa32B,KAAKC,QAAU,GAC3Ey/B,EAAQsnC,MAAMjgF,KAAO,WACrB24C,EAAQ+mC,MAAMG,UAAY,GAE1B,IAAIsN,EAAc,qBAAuBppF,EAAK6e,OAAO/gB,KACrD82C,EAAQ6nC,UAAU72E,SAAWwjF,EAC7Bx0C,EAAQ6nC,UAAUQ,aAAajlE,MAAQ,CACnCnK,KAAMu7E,GAGV,IAAIC,EAAaxmF,aAAEgoD,MAAM0T,GACrB+qB,EAAYzmF,aAAE0mF,KAAKhrB,GACnBirB,EAAmC,IAAlBjrB,EAAOplE,QAAkC,IAAlBkwF,EAAW,IAA6B,IAAjBC,EAAU,GAkB7E,OAhBA10C,EAAQ0nC,OAAS,CACb,CACIx+E,KAAM0rF,EAAiB,WAAa,iBACpCnK,UAAW,EACXr/B,OAAQ,CACJypC,OAAQ,GAEZ9wF,KAAM4lE,IAId3pB,EAAQsnC,MAAMc,UAAYn6E,aAAEoM,IAAIw8B,GAC5B,SAAStrC,GACL,OAAOqiF,GAAiB1C,0BAA0B3/E,EAAYO,UAAWP,EAAYrC,SAGtF82C,KAGX50C,EAAK0pF,yBAA2B5oF,OAAOsB,kBAAkBpB,KAAI,WACzDhB,EAAKmpF,0BAA2B,KAGpCnpF,EAAK2pF,uBAAyB7oF,OAAO6B,gBAAgB3B,KAAI,WACrDhB,EAAKmpF,0BAA2B,EACpBnpF,EAAK27E,WAIzB77E,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKypF,yBAAyB7nF,SAC9B5B,KAAK0pF,uBAAuB9nF,UAGhC/B,GAAUzG,UAAUuwF,UAAY,SAAS7nF,EAAIhH,GACzC,GAAKkF,KAAKkpF,yBAAV,CACA,IAAIxN,EAAQ17E,KAAK07E,QACjB6G,GAAiB5B,4BAA4BjF,EAAO5gF,KAGzC,QAAEsI,UAAWvD,GAAWwD,SAAUA,M,wBC7EjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK6pF,sBAAwB9pF,EAAO8pF,sBACpC7pF,EAAKsrC,sBAAwBvrC,EAAOurC,sBAGxCxrC,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,qCCJjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKG,YAAcJ,EAAOI,YAC1BH,EAAKsrC,sBAAwBvrC,EAAOurC,sBAEpCtrC,EAAKs1E,WAAaC,GAAkBP,yBAAyBh1E,EAAKG,aAClEH,EAAKw1E,eAAiBD,GAAkBF,6BAA6Br1E,EAAKG,aAE1EH,EAAK8pF,WAAazpF,IAAGC,YAAW,GAChCN,EAAK+pF,UAAY1pF,IAAGc,cAAa,WAC7B,IAAImqC,EAAwBtrC,EAAKsrC,wBAC7B0+C,EAAmBnnF,aAAEsD,QAAQmlC,EAAuBtrC,EAAKG,aACzDgO,EAAOm9B,EAAsB0+C,EAAmB,GAChD37E,EAAQi9B,EAAsB0+C,EAAmB,GAEjDC,EAAgB,YAChBC,GAAY/7E,GAAQA,EAAKlS,OAASguF,EAClCE,GAAa97E,GAASA,EAAMpS,OAASguF,EAEzC,OAAOC,GAAYC,KAI3BrqF,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAU+wF,aAAe,WAC/BtpF,OAAOqtC,kBAAkB9rC,SAASpC,KAAKE,cAG3CL,GAAUzG,UAAUgxF,gBAAkB,WAClC,IAAIrqF,EAAOC,KAEXD,EAAK8pF,YAAW,GAChB5mF,QAAiCc,OAAOhE,EAAKG,aAAa+a,MAAK,WAC3Dlb,EAAK8pF,YAAW,OAIT,QAAEzmF,UAAWvD,GAAWwD,SAAUA,M,wBCnC3CwM,GAAU6W,eAAUC,QAAeC,QAEzC,SAAS/mB,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKsrC,sBAAwBvrC,EAAOurC,sBACpCtrC,EAAKirC,WAAalrC,EAAOkrC,WACzBjrC,EAAKsqF,WAAajqF,IAAGC,YAAW,GAEhCN,EAAKuqF,UAAYlqF,IAAGC,aACpBN,EAAKwqF,UAAYnqF,IAAGC,aAEpBN,EAAKyqF,eAAiBpqF,IAAGc,cAAa,WAClC,IAAIhB,EAAc,GAIlB,OAHAA,EAAYoE,SAAWuL,GAAQgX,cAAc3f,GAC7ChH,EAAYO,UAAYF,OAAWyC,oBAAoBjD,EAAKuqF,YAAavqF,EAAKwqF,aAC9ErqF,EAAYlE,KAAO,YACZkE,KAGXH,EAAKa,4BAA8BC,OAAOC,qBAAqBC,KAAI,SAASC,GACxEjB,EAAKuqF,UAAU/pF,OAAWC,sBAAsBQ,IAChDjB,EAAKwqF,UAAUhqF,OAAWI,sBAAsBK,OAGpDjB,EAAKkB,sBAAwBb,IAAGc,cAAa,WACzC,IAAIupF,EAAuB1qF,EAAKuqF,YAC5BI,EAAuB3qF,EAAKwqF,YAC5B/+C,EAAezrC,EAAKsrC,wBACpBL,EAAajrC,EAAKirC,aAClB7pC,EAAkBZ,OAAWa,YAAYqpF,EAAsBC,GACnE,IAAKvpF,EAAgBsX,UAAW,OAAO,EAEvC,IAAIkyE,EAAoB3/C,EAAW/2B,SAE/B22E,EAAkB5/C,EAAW72B,OAEjC,GAAIhT,EAAkBwpF,EAClB,OAAO,EAGX,GAAIxpF,EAAkBypF,EAClB,OAAO,EAGX,IAAIC,EAA2BjoF,aAAEN,KAAKkpC,GAClC,SAAStrC,GACL,IAAI4qF,EAA6BvpF,IAAOC,IAAItB,EAAYO,WACxD,OAAOqqF,EAA2BC,OAAO5pF,MAEjD,GAAI0pF,EACA,OAAO,EAGX,IAAIG,EAAkCpoF,aAAEqoF,cAAcz/C,GAClD,SAAStrC,GACL,IAAI4qF,EAA6BvpF,IAAOC,IAAItB,EAAYO,WACxD,OAAOqqF,EAA6B3pF,KAExC+pF,EAA6B1/C,EAAaw/C,GAE1CG,EAA8BvoF,aAAEN,KAAKkpC,GACrC,SAAStrC,GACL,IAAI4qF,EAA6BvpF,IAAOC,IAAItB,EAAYO,WACxD,OAAOqqF,EAA6B3pF,KAG5C,OAAK+pF,IAA+BC,KAII,cAApCD,EAA2BlvF,MAA0BkvF,EAA2B/iD,QAAW+iD,EAA2B/iD,OAAOmG,oBAQzIzuC,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKY,4BAA4BgB,UAGrC/B,GAAUzG,UAAUkkF,MAAQ,WACxBt9E,KAAKqqF,YAAW,GAChBxpF,OAAOsB,kBAAkBC,YAG7BvC,GAAUzG,UAAU0rD,OAAS,WACzB9kD,KAAKqqF,YAAW,GAChBxpF,OAAO6B,gBAAgBN,YAG3BvC,GAAUzG,UAAU6F,OAAS,WACzB,IAAIc,EAAOC,KACPwqF,EAAiBzqF,EAAKyqF,iBAE1BvnF,QAAiChE,OAAOurF,GAAgBrnF,MAAK,SAASsqC,GAClE1tC,EAAKsqF,YAAW,OAIT,QAAEjnF,UAAWvD,GAAWwD,SAAUA,M,kCC3GjD,SAAS+nF,GAAyC30B,EAAuBmyB,EAA2ByC,GAChG,IAAIrjD,EAAuBC,QAA4BzpC,MACnD8sF,EAA4C1oF,aAAEkhB,OAAO8kE,GACrD,SAAS9nD,EAAM41B,GACX,IAAIU,EAAU71D,IAAOC,IAAIk1D,EAAyBU,SAC9CC,EAAQ91D,IAAOC,IAAIk1D,EAAyBW,OAE5Ck0B,EAAiD,WAA1B90B,EACvB+0B,EAAoB5oF,aAAE2zD,SAASG,EAAyBF,+BAE5D,OAAKE,EAAyBD,wBAA0BA,IAA0B+0B,GAAuBA,GAAqBD,EACnHzqD,EAAOu2B,EAAM/uC,KAAK8uC,EAAS,WAE/Bt2B,IAEX,GAEAgM,EAAmB9E,EAAqB8E,mBAC5C,OAAOw+C,EAA4CD,EAA+BzoF,aAAEwZ,OAAO0wB,GAAkB5zC,OAGjH,IAAI2G,GAAY,SAASI,GACrB,IAAIF,EAAOC,KACXD,EAAKE,kBAAoBA,EACzBF,EAAKsB,oBAAsBtB,EAAKE,kBAAkBoB,oBAClDtB,EAAKG,YAAcH,EAAKE,kBAAkBC,YAC1CH,EAAK6oF,0BAA4B7oF,EAAKE,kBAAkB2oF,0BACxD7oF,EAAK0rF,6BAA+B1rF,EAAKE,kBAAkBwrF,6BAC3D1rF,EAAK2rF,sBAAwB3rF,EAAKE,kBAAkByrF,sBAEpD3rF,EAAK4rF,SAAWvrF,IAAGc,cAAa,WAC5B,IAAIhB,EAAcH,EAAKG,cACvB,OAAOA,EAAY0rF,kBAGvB7rF,EAAK8rF,qBAAuBzrF,IAAGc,cAAa,WACxC,IAAIyqF,EAAW5rF,EAAK4rF,WACpB,OAAOA,GAAY/oF,aAAE2zD,SAASo1B,EAASG,wBAG3C/rF,EAAKgsF,mBAAqB3rF,IAAGc,cAAa,WACtC,IAAIyqF,EAAW5rF,EAAK4rF,WACpB,IAAKA,EAAU,MAAO,GAEtB,IAAII,EAAqB,KAQzB,OAPInpF,aAAE2zD,SAASo1B,EAASK,uBACpBD,EAAqBJ,EAASK,qBAE9BppF,aAAE2zD,SAASo1B,EAASM,0BACpBF,GAAsBJ,EAASM,wBAG5BF,KAGXhsF,EAAKmsF,gBAAkB9rF,IAAGc,cAAa,WACnC,OAAOnB,EAAK8rF,uBAAyB9rF,EAAK4rF,WAAWG,oBAAsB/rF,EAAKgsF,wBAGpFhsF,EAAKsrF,6BAA+BjrF,IAAGc,cAAa,WAChD,IAAIG,EAAsBtB,EAAKsB,sBAC/B,IAAKA,EAAqB,OAAO,EACjC,IAAInB,EAAcH,EAAKG,cAEnBk3D,EAAU71D,IAAOC,IAAIH,EAAoBZ,WACzC42D,EAAQ91D,IAAOC,IAAItB,EAAYO,WACnC,OAAO42D,EAAM/uC,KAAK8uC,EAAS,cAG/Br3D,EAAKosF,8CAAgD/rF,IAAGc,cAAa,WACjE,IAAI0nF,EAA4B7oF,EAAK6oF,4BACjCyC,EAA+BtrF,EAAKsrF,+BAExC,OAAOD,GAAyC,iBAAkBxC,EAA2ByC,MAGjGtrF,EAAKqsF,0CAA4ChsF,IAAGc,cAAa,WAC7D,IAAI0nF,EAA4B7oF,EAAK6oF,4BACjCyC,EAA+BtrF,EAAKsrF,+BAExC,OAAOD,GAAyC,aAAcxC,EAA2ByC,MAG7FtrF,EAAKssF,sCAAwCjsF,IAAGc,cAAa,WACzD,IAAI0nF,EAA4B7oF,EAAK6oF,4BACjCyC,EAA+BtrF,EAAKsrF,+BAExC,OAAOD,GAAyC,SAAUxC,EAA2ByC,MAGzFtrF,EAAKusF,uCAAyClsF,IAAGc,cAAa,WAC1D,IAAI0nF,EAA4B7oF,EAAK6oF,4BACjCyC,EAA+BtrF,EAAKsrF,+BAExC,OAAOD,GAAyC,UAAWxC,EAA2ByC,MAG1FtrF,EAAKwsF,uCAAyCnsF,IAAGc,cAAa,WAC1D,IAAIorF,EAAyCvsF,EAAKusF,yCAC9CF,EAA4CrsF,EAAKqsF,4CACjDC,EAAwCtsF,EAAKssF,wCAC7CF,EAAgDpsF,EAAKosF,gDAErDI,EAAyC,EACzCD,EACAF,EACAC,EACAF,EAEAK,EAAuCv4D,KAAKwgB,MAA+C,IAAzC83C,GAAmD,IACzG,OAAOC,KAGXzsF,EAAK0sF,uBAAyBrsF,IAAGc,cAAa,WAC1C,IAAIwrF,EAAkC3sF,EAAK8rF,uBAC3C,GAAIa,EAAiC,OAAO,EAE5C,IAAIf,EAAW5rF,EAAK4rF,WACpB,IAAKA,EAAU,OAAO,EAEtB,IAAIc,EAAyB,EAAId,EAASgB,2BAA6BhB,EAASiB,8BAC5EC,EAAgC54D,KAAKwgB,MAA+B,IAAzBg4C,GAAmC,IAClF,OAAOI,KAGX9sF,EAAK+sF,kCAAoC1sF,IAAGc,cAAa,WACrD,IAAIorF,EAAyF,IAAhDvsF,EAAKusF,yCAC9CF,EAA+F,IAAnDrsF,EAAKqsF,4CACjDC,EAAuF,IAA/CtsF,EAAKssF,wCAC7CF,EAAuG,IAAvDpsF,EAAKosF,gDACrDI,EAAyF,IAAhDxsF,EAAKwsF,yCAE9CtM,EAAY,GAgBhB,OAfIqM,EAAyC,GACzCrM,EAAUzmF,KAAK,CAAEqE,KAAM,oBAAqB43C,EAAG62C,EAAwC3kD,MAAO,YAE9FykD,EAA4C,GAC5CnM,EAAUzmF,KAAK,CAAEqE,KAAM,mCAAoC43C,EAAG22C,EAA2CzkD,MAAO,YAEhH0kD,EAAwC,GACxCpM,EAAUzmF,KAAK,CAAEqE,KAAM,yBAA0B43C,EAAG42C,EAAuC1kD,MAAO,YAElGwkD,EAAgD,GAChDlM,EAAUzmF,KAAK,CAAEqE,KAAM,oCAAqC43C,EAAG02C,EAA+CxkD,MAAO,YAErH4kD,EAAyC,GACzCtM,EAAUzmF,KAAK,CAAEqE,KAAM,eAAgB43C,EAAG82C,EAAwC5kD,MAAO,YAEtFs4C,KAGXlgF,EAAKgtF,kBAAoB3sF,IAAGc,cAAa,WACrC,IAAIyqF,EAAW5rF,EAAK4rF,WAChBgB,EAAmE,IAAtChB,EAASgB,2BACtCC,EAAyE,IAAzCjB,EAASiB,8BACzCf,EAAuB9rF,EAAK8rF,uBAC5BY,EAAyD,IAAhC1sF,EAAK0sF,yBAE9BxM,EAAY,GAahB,OAZK4L,GAAwBc,EAA6B,GACtD1M,EAAUzmF,KAAK,CAAEqE,KAAM,oBAAqB43C,EAAGk3C,EAA4BhlD,MAAO,aAEjFkkD,GAAwBe,EAAgC,GACzD3M,EAAUzmF,KAAK,CAAEqE,KAAM,mCAAoC43C,EAAGm3C,EAA+BjlD,MAAO,YAEpGkkD,GACA5L,EAAUzmF,KAAK,CAAEqE,KAAM,yBAA0B43C,EAAG,IAAK9N,MAAO,YAEhE8kD,EAAyB,GACzBxM,EAAUzmF,KAAK,CAAEqE,KAAM,eAAgB43C,EAAGg3C,EAAwB9kD,MAAO,YAEtEs4C,KAGXlgF,EAAKitF,mCAAqC5sF,IAAGc,cAAa,WACtD,GAAInB,EAAKE,kBAAkBgtF,gBAAiB,OAAO,EACnD,IAAKltF,EAAK0rF,+BAAgC,OAAO,EAEjD,IAAIc,EAAyCxsF,EAAKwsF,yCAClD,OAAOA,EAAyC,KAGpDxsF,EAAKmtF,mBAAqB9sF,IAAGc,cAAa,WACtC,GAAInB,EAAKE,kBAAkBgtF,gBAAiB,OAAO,EACnD,IAAKltF,EAAK0rF,+BAAgC,OAAO,EAEjD,IAAIgB,EAAyB1sF,EAAK0sF,yBAClC,OAAOA,EAAyB,MAIxC5sF,GAAUzG,UAAUuI,QAAU,SAAS8sB,KAGxB5uB,U,aC/Lf,SAASstF,GAAsBjtF,EAAaktF,GACxC,IAAIC,EAA0B,GAM9B,MALyB,cAArBntF,EAAYlE,MAAyBoxF,GAChCltF,EAAYioC,QAAWjoC,EAAYioC,OAAOtqC,MAC3CwvF,EAAwB7zF,KAAK,mCAG9B6zF,EAGX,SAASC,GAAoBptF,EAAaktF,GACtC,IAAIC,EAA0B,GAM9B,OAL0B,cAArBntF,EAAYlE,OAAyBoxF,GAAuC,YAArBltF,EAAYlE,QAC/DkE,EAAYqtF,MAASrtF,EAAYqtF,KAAK1vF,MACvCwvF,EAAwB7zF,KAAK,kCAG9B6zF,EAGX,IAAIxtF,GAAY,SAAS+e,EAAQ1e,EAAasrC,EAAcyhD,EAAiBG,EAAe3B,EAA8BC,GACtH,IAAI3rF,EAAOC,KACXD,EAAKioC,qBAAuBC,QAA4BzpC,MACxDuB,EAAK6e,OAASA,EACd7e,EAAKmH,GAAKhH,EAAYgH,GACtBnH,EAAKktF,gBAAkBA,EACvBltF,EAAK42D,WAAav2D,IAAGC,WAAW4sF,GAChCltF,EAAKqtF,cAAgBA,EACrBrtF,EAAKyrC,aAAeA,EACpBzrC,EAAKG,YAAcE,IAAGC,WAAWH,GACjCH,EAAK0rF,6BAA+BA,EACpC1rF,EAAK2rF,sBAAwBA,EAC7B3rF,EAAKgtC,gBAAkBhtC,EAAKioC,qBAAqB+E,gBAEjDhtC,EAAKstF,wBAA0BjtF,IAAGc,cAAa,WAC3C,IAAIhB,EAAcH,EAAKG,cAGnBstF,GAFSztF,EAAK6e,SAEkBuuE,GAAsBjtF,EAAaH,EAAKqtF,gBACxEK,EAA8BH,GAAoBptF,EAAaH,EAAKqtF,eAExE,OAAOxqF,aAAEiM,MAAM2+E,EAA+BC,MAGlD1tF,EAAK2tF,uBAAyBttF,IAAGc,cAAa,WAC1C,IAAImsF,EAA0BttF,EAAKstF,0BACnC,QAAKA,GACqC,IAAnCA,EAAwBn0F,UAGnC6G,EAAK4tF,2BAA6B9sF,OAAOilD,oBAAoB/kD,KAAI,SAASb,GACtEH,EAAK42D,WAAWz2D,EAAYgH,KAAOnH,EAAKmH,OAG5CnH,EAAKyuB,YAAcpuB,IAAGc,cAAa,WAC/B,IAAIhB,EAAcH,EAAKG,cACvB,OAAOA,EAAYsuB,eAGvBzuB,EAAK+pF,UAAY1pF,IAAGc,cAAa,WAC7B,IAAIhB,EAAcH,EAAKG,cAEvB,OAAQA,EAAYsuB,aAAoC,cAArBtuB,EAAYlE,QAGnD+D,EAAK6tF,aAAextF,IAAGc,cAAa,WAChC,IAAIuqF,EAA+B1rF,EAAK0rF,+BACpCj9D,EAAczuB,EAAKyuB,cACnBq/D,EAAoB9tF,EAAK8tF,oBACzB3tF,EAAcH,EAAKG,cAEnB4tF,EAA4BD,GAAqBA,EAAkB1lD,QAAU0lD,EAAkB1lD,OAAO4lD,uBACtGC,EAAyB9tF,EAAYioC,QAAUjoC,EAAYioC,OAAO4lD,uBAEtE,OAAQtC,GAAgCj9D,IAAgBs/D,IAA8BE,KAG1FjuF,EAAKkuF,aAAe7tF,IAAGC,YAAW,GAClCN,EAAKmuF,eAAiB9tF,IAAGC,YAAW,GACpCN,EAAK8pF,WAAazpF,IAAGC,YAAW,GAEhCN,EAAKutC,0BAA4BzsC,OAAO6b,mBAAmB3b,KAAI,SAASynC,GAChEzoC,EAAKmH,KAAOshC,EAAmBthC,KAC/BnH,EAAKG,YAAYsoC,GACjB3nC,OAAOkmD,yBAAyB3kD,eAIxCrC,EAAK6oF,0BAA4BxoF,IAAGwK,gBAAgB,IACpD7K,EAAKouF,mCAAqC/tF,IAAGC,YAAW,GAEpDN,EAAK0rF,gCACL1rF,EAAKquF,gCAGTruF,EAAKsuF,oCAAsCtuF,EAAK0rF,6BAA6BnqE,WAAU,SAASmqE,GACxFA,EACA1rF,EAAKquF,gCAELruF,EAAK6oF,0BAA0B0F,eAIvCvuF,EAAKwuF,wBAA0BnuF,IAAGc,cAAa,WAC3C,IAAI0nF,EAA4B7oF,EAAK6oF,4BACjC7wC,EAAgBh4C,EAAKioC,qBAAqB+P,gBAC9C,OAAOn1C,aAAEkM,OAAOipC,GACZ,SAASS,GACL,IAAIg2C,GAAYh2C,EAAUC,cACtBg2C,EAAU7rF,aAAE6C,KAAKmjF,GAA2B,SAASlyB,GACrD,OAAOA,EAAyBY,cAAgB9e,EAAUtxC,MAE9D,OAAOsnF,GAAYC,QAK/B1uF,EAAK2uF,qBAAuBtuF,IAAGc,cAAa,WACxC,IAAIsqC,EAAezrC,EAAKyrC,eACxB,OAAO5oC,aAAEub,UAAUqtB,GAAc,SAAStrC,GAAe,OAAOA,EAAYgH,KAAOnH,EAAKmH,SAG5FnH,EAAKsB,oBAAsBjB,IAAGc,cAAa,WACvC,IAAIsqC,EAAezrC,EAAKyrC,eACpBkjD,EAAuB3uF,EAAK2uF,uBAC5BC,EAA2BD,EAAuB,EACtD,OAAOC,GAA4B,EAAInjD,EAAamjD,GAA4B,QAGpF5uF,EAAK0B,gBAAkBrB,IAAGc,cAAa,WACnC,IAAIsqC,EAAezrC,EAAKyrC,eACpBkjD,EAAuB3uF,EAAK2uF,uBAC5BE,EAAuBF,EAAuB,EAClD,OAAOE,GAAyBpjD,EAAatyC,OAAS,EAAKsyC,EAAaojD,GAAwB,QAGpG7uF,EAAK8tF,kBAAoBztF,IAAGc,cAAa,WACrC,IAAIsqC,EAAezrC,EAAKyrC,eACpB/qC,EAAYV,EAAKG,cAAcO,UAE/BouF,EAAiBjsF,aAAEqoF,cAAcz/C,GAAc,SAAStrC,GACxD,MAA4B,cAArBA,EAAYlE,MAAwBkE,EAAYO,UAAYA,KAGvE,OAAOouF,GAAkB,EAAIrjD,EAAaqjD,GAAkB,QAGhE9uF,EAAK+uF,uCAAyCjuF,OAAO8lD,gCAAgC5lD,KAAI,SAASguF,GAC9F,GAAIhvF,EAAKmH,KAAO6nF,EAAuBlhE,cAAvC,CAEA,IAAI+6D,EAA4B7oF,EAAK6oF,4BACjCoG,EAAqBpsF,aAAEN,KAAKsmF,GAC5B,SAASlyB,GACL,OAAOA,EAAyBxvD,KAAO6nF,EAAuB7nF,MAElE8nF,EACAjvF,EAAK6oF,0BAA0BxiF,QAAQ4oF,EAAoBD,GAE3DhvF,EAAK6oF,0BAA0BpvF,KAAKu1F,OAI5ChvF,EAAKkvF,uCAAyCpuF,OAAOq8C,gCAAgCn8C,KAAI,SAASmuF,GAC1FnvF,EAAKmH,KAAOgoF,EAAuBrhE,eAEvC9tB,EAAK6oF,0BAA0B7kF,OAAOmrF,MAG1CnvF,EAAKovF,sBAAwB,IAAIC,GAAsBrvF,IAG3DF,GAAUzG,UAAUuI,QAAU,SAAS8sB,GACnCzuB,KAAK2tF,2BAA2B/rF,SAChC5B,KAAKstC,0BAA0B1rC,SAC/B5B,KAAKquF,oCAAoC1sF,UACzC3B,KAAK8uF,uCAAuCltF,SAC5C5B,KAAKivF,uCAAuCrtF,UAGhD/B,GAAUzG,UAAUwM,QAAU,WAC1B,IAAI7F,EAAOC,KACPE,EAAc0C,aAAEC,MAAM9C,EAAKG,eAC/BA,EAAYsuB,aAAc,EAE1BzuB,EAAKkuF,cAAa,GAClBhrF,QAAiCC,OAAOhD,GAAa+O,QAAO,WACxDlP,EAAKkuF,cAAa,OAI1BpuF,GAAUzG,UAAUi2F,UAAY,WAC5B,IAAItvF,EAAOC,KACPE,EAAc0C,aAAEC,MAAM9C,EAAKG,eAC/BA,EAAYsuB,aAAc,EAE1BzuB,EAAKmuF,gBAAe,GACpBjrF,QAAiCC,OAAOhD,GAAa+O,QAAO,WACxDlP,EAAKmuF,gBAAe,OAI5BruF,GAAUzG,UAAUk2F,kBAAoB,WACpC,IAAIvvF,EAAOC,KACPE,EAAcH,EAAKG,cAEvBH,EAAK8pF,YAAW,GAChB5mF,QAAiCc,OAAO7D,GAAa+a,MAAK,WACtDlb,EAAK8pF,YAAW,OAIxBhqF,GAAUzG,UAAUg1F,8BAAgC,WAChD,IAAIruF,EAAOC,KAEX,OADAD,EAAKouF,oCAAmC,GACjCoB,QAAgCjtF,KAAKvC,EAAKmH,IAC5C/D,KAAKpD,EAAK6oF,2BACV35E,QAAO,WACJlP,EAAKouF,oCAAmC,OAIrCtuF,U,aC3Nf,SAASA,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,QAA4BzpC,MACxDuB,EAAK6e,OAAS9e,EAAO8e,OACrB7e,EAAKsqC,oBAAsBvqC,EAAOuqC,oBAClCtqC,EAAKouC,UAAY/tC,IAAGC,WAAWP,EAAOquC,WACtCpuC,EAAKyrC,aAAe1rC,EAAOurC,sBAE3BtrC,EAAKyvF,UAAY5sF,aAAEwZ,OAAOrc,EAAKioC,qBAAqBgQ,gBAEpDj4C,EAAK0vF,8BAAgCrvF,IAAGC,YAAW,GACnDN,EAAK2vF,gCAAkCtvF,IAAGC,YAAW,GACrDN,EAAK4vF,uBAAyBvvF,IAAGC,YAAW,GAC5CN,EAAK6vF,yBAA2BxvF,IAAGC,YAAW,GAC9CN,EAAK8vF,+BAAiCzvF,IAAGC,YAAW,GAEpDN,EAAK+vF,yBAA2B1vF,IAAGc,cAAa,WAC5C,IAAIitC,EAAYpuC,EAAKouC,YACrB,OAAO5sC,IAAOC,IAAI2sC,EAAU1tC,cAGhCV,EAAK0rF,6BAA+BrrF,IAAGc,cAAa,WAChD,IAAIitC,EAAYpuC,EAAKouC,YACrB,OAAOA,EAAUhG,QAAUgG,EAAUhG,OAAO4lD,0BAGhDhuF,EAAK2rF,sBAAwBtrF,IAAGc,cAAa,WACzC,IAAIitC,EAAYpuC,EAAKouC,YACrB,OAAOA,EAAUhG,QAAUgG,EAAUhG,OAAOmG,mBAGhDvuC,EAAKgwF,eAAiB3vF,IAAGc,cAAa,WAClC,IAAI0d,EAAS7e,EAAK6e,SAClB,OAAOA,EAAOmxE,kBAGlBhwF,EAAKiwF,cAAgB5vF,IAAGc,cAAa,WACjC,IAAI0d,EAAS7e,EAAK6e,SAClB,OAAOA,EAAOoxE,iBAGlBjwF,EAAKkwF,mBAAqB7vF,IAAGwK,gBAAgB,IAE7C,IAAIslF,EAAyB,SAAS1kD,GAClC,IAAI2C,EAAYpuC,EAAKouC,YACjB2hD,EAA2B/vF,EAAK+vF,2BAChCG,EAAqB,GACrB7C,GAAgB,EAEpBxqF,aAAEe,KAAK6nC,GACH,SAAStrC,GACL,IAAIiB,EAAkBI,IAAOC,IAAItB,EAAYO,WAC7C,IAAK2sF,GAAiB0C,GAA4B3uF,EAAiB,CAC/D,IAAI8rF,EAAkB/sF,EAAYgH,KAAOinC,EAAUjnC,GACnDkmF,GAAiBH,GAAyC,cAArB/sF,EAAYlE,KAEjDi0F,EAAmBz2F,KAAK,IAAI22F,GAAkBpwF,EAAK6e,OAC/C1e,EACAH,EAAKyrC,aACLyhD,EACAG,EACArtF,EAAK0rF,6BACL1rF,EAAK2rF,4BAGrB3rF,EAAKkwF,mBAAmBA,IAG5BC,EAAuBnwF,EAAKyrC,gBAE5BzrC,EAAKytC,0BAA4B3sC,OAAOmc,mBAAmBjc,KAAI,SAAS0sC,GACpE,IAAI2/C,EAA4C,cAA5B3/C,EAAmBzxC,KAEnCo0F,EAAuB,IAAID,GAAkBpwF,EAAK6e,OAClD6uB,EACA1tC,EAAKyrC,cACL,EACA4hD,EACArtF,EAAK0rF,6BACL1rF,EAAK2rF,uBACT3rF,EAAKkwF,mBAAmBz2F,KAAK42F,GAC7BvvF,OAAOilD,oBAAoB1jD,SAASqrC,MAGxC1tC,EAAK2tC,0BAA4B7sC,OAAO2c,mBAAmBzc,KAAI,SAAS4sC,GACpE,IAAI0iD,EAA4BtwF,EAAKswF,4BACjCA,GAA6BA,EAA0BnpF,KAAOymC,EAAmBzmC,IACjFrG,OAAOilD,oBAAoB1jD,SAASrC,EAAKouC,aAG7C,IAAI8hD,EAAqBlwF,EAAKkwF,qBAC1BK,EAA2B1tF,aAAEN,KAAK2tF,GAClC,SAAShwF,GACL,OAAOA,EAAkBiH,KAAOymC,EAAmBzmC,MAE3DopF,EAAyB3uF,UACzB5B,EAAKkwF,mBAAmBlsF,OAAOusF,MAGnCvwF,EAAKwwF,4BAA8BnwF,IAAGC,YAAW,GACjD,IAAImwF,EAAgC,WAChCzwF,EAAKwwF,6BAA4B,GACjCttF,QAAiC4Z,uBAAuB9c,EAAKioC,qBAAqBnhB,cAAc3f,GAAInH,EAAKouC,YAAYjnC,IAChH/D,MAAK,SAASqoC,GACX5oC,aAAEe,KAAK6nC,GACH,SAAStrC,GACLW,OAAO6b,mBAAmBta,SAASlC,SAG9C+O,QAAO,WACJlP,EAAKwwF,6BAA4B,OAI7CxwF,EAAKsuF,oCAAsCtuF,EAAK0rF,6BAA6BnqE,WAAU,SAASmqE,GAC5F+E,OAGJzwF,EAAKutC,0BAA4BzsC,OAAO6b,mBAAmB3b,KAAI,SAASynC,GACpE,IAAI2F,EAAYpuC,EAAKouC,YACjBA,EAAUjnC,KAAOshC,EAAmBthC,IACpCnH,EAAKouC,UAAU3F,MAIvBzoC,EAAK0wF,8BAAgCrwF,IAAGc,cAAa,WACjD,IAAI+uF,EAAqBlwF,EAAKkwF,qBAC9B,OAAOrtF,aAAEy3E,MAAM4V,GACX,SAAShwF,GACL,OAAOA,EAAkBuuB,oBAIrCzuB,EAAK2wF,uBAAyBtwF,IAAGc,cAAa,WAC1C,IAAI+uF,EAAqBlwF,EAAKkwF,qBAC9B,OAAOrtF,aAAEN,KAAK2tF,GACV,SAAShwF,GACL,OAAOA,EAAkBmtF,oBAIrCrtF,EAAK4wF,yBAA2BvwF,IAAGc,cAAa,WAC5C,IAAI+uF,EAAqBlwF,EAAKkwF,qBAC9B,OAAOrtF,aAAEN,KAAK2tF,GACV,SAAShwF,GACL,MAAgD,YAAzCA,EAAkBC,cAAclE,WAInD+D,EAAK6wF,2BAA6BxwF,IAAGc,cAAa,WAC9C,IAAI+uF,EAAqBlwF,EAAKkwF,qBAC1B9hD,EAAYpuC,EAAKouC,YACrB,OAAOvrC,aAAEN,KAAK2tF,GACV,SAAShwF,GACL,OAAOA,EAAkBiH,KAAOinC,EAAUjnC,SAItDnH,EAAKswF,0BAA4BjwF,IAAGC,WAAWN,EAAK6wF,8BACpD7wF,EAAK4tF,2BAA6B9sF,OAAOilD,oBAAoB/kD,KAAI,SAASb,GACtE,IAAI+vF,EAAqBlwF,EAAKkwF,qBAC1BI,EAA4BztF,aAAEN,KAAK2tF,GACnC,SAAShwF,GACL,OAAOA,EAAkBiH,KAAOhH,EAAYgH,MAEpDnH,EAAKswF,0BAA0BA,MAGnCtwF,EAAK8wF,wCAA0CzwF,IAAGc,cAAa,WAC3D,IAAI+uF,EAAqBlwF,EAAKkwF,qBAC1Bt/C,EAAS/tC,aAAEof,OAAOiuE,GAClB,SAAShwF,GACL,OAAOA,EAAkBC,cAAcO,aAE/C,OAAOkwC,EAAOllC,aAGlB1L,EAAK+wF,sBAAwB1wF,IAAGc,cAAa,WACzC,IAAI+uF,EAAqBlwF,EAAK8wF,0CAE1BE,EAAgBnuF,aAAE6d,QAAQwvE,GAC1B,SAAShwF,GACL,OAAOA,EAAkBC,cAAclE,QAG3C80F,EAAwB,CACxB,UAAa,EACb,QAAW,EACX,eAAkB,EAClB,aAAgB,EAChB,cAAiB,EACjB,YAAe,EACf,eAAkB,EAClB,aAAgB,GAMpB,OAJAluF,aAAEe,KAAKotF,GACH,SAASr3E,EAAMxa,GACX4xF,EAAsB5xF,GAAOwa,EAAKxgB,UAEnC43F,KAGX/wF,EAAKixF,oBAAsB5wF,IAAGc,cAAa,WACvC,IAAI4vF,EAAwB/wF,EAAK+wF,wBACjC,OAAOA,EAAsB,kBAAoBA,EAAsB,mBAG3E/wF,EAAKkxF,oBAAsB7wF,IAAGc,cAAa,WACvC,IAAI4vF,EAAwB/wF,EAAK+wF,wBACjC,OAAOA,EAAsB,kBAAoBA,EAAsB,mBAG3E/wF,EAAKmxF,mBAAqB9wF,IAAGc,cAAa,WACtC,IAAI4vF,EAAwB/wF,EAAK+wF,wBACjC,OAAOA,EAAsB,iBAAmBA,EAAsB,kBAG1E/wF,EAAKoxF,sBAAwB/wF,IAAGc,cAAa,WACzC,IAAI4vF,EAAwB/wF,EAAK+wF,wBACjC,OAAOA,EAAsB,gBAAkBA,EAAsB,qBAGzE/wF,EAAKqxF,sBAAwBhxF,IAAGc,cAAa,WACzC,IAAI4vF,EAAwB/wF,EAAK+wF,wBACjC,OAAOA,EAAsB,gBAAkBA,EAAsB,qBAGzE/wF,EAAKsxF,qBAAuBjxF,IAAGc,cAAa,WACxC,IAAI4vF,EAAwB/wF,EAAK+wF,wBACjC,OAAOA,EAAsB,eAAiBA,EAAsB,oBAGxE/wF,EAAKuxF,4BAA8BlxF,IAAGc,cAAa,WAC/C,IAAIuvF,EAAgC1wF,EAAK0wF,gCACrCG,EAA6B7wF,EAAK6wF,6BAClCF,EAAyB3wF,EAAK2wF,yBAC9BC,EAA2B5wF,EAAK4wF,2BAEhCK,EAAsBjxF,EAAKixF,sBAC3BC,EAAsBlxF,EAAKkxF,sBAC3BC,EAAqBnxF,EAAKmxF,qBAE1BK,EAAkCX,EAA2BlD,yBAEjE,OAAO+C,GACHC,GACAC,GACAY,IACCP,IACAC,IACAC,KAGTnxF,EAAKyxF,qBAAuBpxF,IAAGc,cAAa,WACxC,IAAIuqF,EAA+B1rF,EAAK0rF,+BACpCC,EAAwB3rF,EAAK2rF,wBAC7BuE,EAAqBlwF,EAAKkwF,qBAC1B9hD,EAAYpuC,EAAKouC,YAErB,IAAKs9C,GAAgCC,EAAuB,OAAO,EACnE,GAAkC,IAA9BuE,EAAmB/2F,OAAc,OAAO,EAE5C,IAAIu4F,EAA+C7uF,aAAEN,KAAK2tF,GACtD,SAAShwF,GACL,GAAIA,EAAkBiH,KAAOinC,EAAUjnC,GAAI,OAAO,EAClD,IAAI8lF,EAAqC/sF,EAAkBkvF,sBAAsBnC,qCAC7EE,EAAqBjtF,EAAkBkvF,sBAAsBjC,qBAEjE,OAAOF,GAAsCE,KAErD,OAAQuE,KAGZ1xF,EAAK2xF,YAActxF,IAAGc,cAAa,WAC/B,IAAIyvF,EAA2B5wF,EAAK4wF,2BAChCC,EAA6B7wF,EAAK6wF,6BAEtC,OAAOD,EAAyBzwF,cAAcqtF,KAAKoE,WAAaf,EAA2B1wF,cAAcqtF,KAAKoE,aAGlH5xF,EAAK6xF,0BAA4BxxF,IAAGc,cAAa,WAC7C,IAAIitC,EAAYpuC,EAAKouC,YACrB,OAAOpuC,EAAKioC,qBAAqBjS,QAAU,wCAA0CoY,EAAUjnC,MAGnGnH,EAAK8xF,6BAA+BzxF,IAAGc,cAAa,WAChD,IAAIitC,EAAYpuC,EAAKouC,YACrB,OAAOpuC,EAAKioC,qBAAqBjS,QAAU,wCAA0CoY,EAAUjnC,MAGnGnH,EAAK+xF,+BAAkC1xF,IAAGc,cAAa,WACnD,IAAIitC,EAAYpuC,EAAKouC,YACrB,OAAOpuC,EAAKioC,qBAAqBjS,QAAU,0CAA4CoY,EAAUjnC,MAGrGnH,EAAKgyF,KAAO3xF,IAAGc,cAAa,WACxB,IAAImvF,EAA4BtwF,EAAKswF,4BACrC,IAAKA,EAA2B,MAAO,GAEvC,IAAI5E,EAA+B1rF,EAAK0rF,+BACpC8E,EAA8BxwF,EAAKwwF,8BACnCtD,EAAkBoD,EAA0BpD,gBAE5C8E,EAAO,CAAC,cAERC,EAA0BvG,IAAiC8E,IAAgCtD,EAC/F,GAAI+E,EAAyB,CACzBD,EAAKv4F,KAAK,YAEV,IAAI+0F,EAA0B8B,EAA0B9B,0BACpDxhD,EAAkBsjD,EAA0BtjD,kBAE5CwhD,EAAwBr1F,OAAS,GACjC64F,EAAKv4F,KAAK,eAGVuzC,EAAgB7zC,OAAS,GACzB64F,EAAKv4F,KAAK,cAIlB,OAAOu4F,KAGX,IAAIE,EAAoB,SAAS5B,EAA2B6B,GACxD,IAAIzG,EAA+B1rF,EAAK0rF,+BACpC8E,EAA8BxwF,EAAKwwF,8BACnCwB,EAAOhyF,EAAKgyF,OAChB,IAAK1B,GAA6BA,EAA0BpD,kBAAoBxB,GAAgC8E,EAC5G,OAAOwB,EAAK,GAEhB,IAAI7E,EAAqBmD,EAA0BlB,sBAAsBjC,qBACzE,GAAIA,EACA,MAAO,WAGX,IAAIF,EAAqCqD,EAA0BlB,sBAAsBnC,qCACzF,OAAIA,EACO,cAGJkF,GAEPC,EAAqBF,EAAkBlyF,EAAKswF,6BAChDtwF,EAAKqyF,YAAchyF,IAAGC,WAAW8xF,GAEjCpyF,EAAKsyF,YAActyF,EAAKgyF,KAAKzwE,WAAU,WACnC,IAAI4wE,EAAsBnyF,EAAKqyF,cAC3B/B,EAA4BtwF,EAAKswF,4BACjCiC,EAAiBL,EAAkB5B,EAA2B6B,GAClEnyF,EAAKqyF,YAAYE,MAGrBvyF,EAAKwyF,UAAY,SAASC,GACtBzyF,EAAKqyF,YAAYI,IACnBrzF,KAAKY,GAGXF,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKstC,0BAA0B1rC,SAC/B5B,KAAK2tF,2BAA2B/rF,SAChC5B,KAAKwtC,0BAA0B5rC,SAC/B5B,KAAK0tC,0BAA0B9rC,SAC/B5B,KAAKquF,oCAAoC1sF,UACzC3B,KAAKqyF,YAAY1wF,UAEjBiB,aAAEe,KAAK3D,KAAKiwF,sBACR,SAAShwF,GACLA,EAAkB0B,cAI9B9B,GAAUzG,UAAUq5F,gBAAkB,WAClCzyF,KAAK0yF,aAAa1yF,KAAK0yF,gBAG3B7yF,GAAUzG,UAAUu5F,4BAA8B,WAC9C3yF,KAAK4yF,4BAA4B5yF,KAAK4yF,+BAG1C/yF,GAAUzG,UAAU8jB,yBAA2B,WAC3C,IAAInd,EAAOC,KACPmuC,EAAYpuC,EAAKouC,YAErBpuC,EAAK0vF,+BAA8B,GACnCxsF,QAAiCia,yBAAyBixB,GAAWhrC,MAAK,SAASzK,GAC/EqH,EAAKouC,UAAUz1C,MAChBuW,QAAO,WACNlP,EAAK0vF,+BAA8B,OAI3C5vF,GAAUzG,UAAU+jB,2BAA6B,WAC7C,IAAIpd,EAAOC,KACPmuC,EAAYpuC,EAAKouC,YAErBpuC,EAAK2vF,iCAAgC,GACrCzsF,QAAiCka,2BAA2BgxB,GAAWhrC,MAAK,SAASzK,GACjFqH,EAAKouC,UAAUz1C,MAChBuW,QAAO,WACNlP,EAAK2vF,iCAAgC,OAI7C7vF,GAAUzG,UAAUgkB,kBAAoB,WACpC,IAAIrd,EAAOC,KACPmuC,EAAYpuC,EAAKouC,YAErBpuC,EAAK4vF,wBAAuB,GAC5B1sF,QAAiCma,kBAAkB+wB,GAAWhrC,MAAK,SAASzK,GACxEqH,EAAKouC,UAAUz1C,MAChBuW,QAAO,WACNlP,EAAK4vF,wBAAuB,OAIpC9vF,GAAUzG,UAAUikB,oBAAsB,WACtC,IAAItd,EAAOC,KACPmuC,EAAYpuC,EAAKouC,YAErBpuC,EAAK6vF,0BAAyB,GAC9B3sF,QAAiCoa,oBAAoB8wB,GAAWhrC,MAAK,SAASzK,GAC1EqH,EAAKouC,UAAUz1C,MAChBuW,QAAO,WACNlP,EAAK6vF,0BAAyB,OAItC/vF,GAAUzG,UAAUy5F,wBAA0B,WAC1C,IAAI1kD,EAAYnuC,KAAKmuC,YACrB,OAAOK,QAAqBqB,UAAU1B,EAAUjnC,KAGpDrH,GAAUzG,UAAU05F,wBAA0B,WAC1C,IAAI3kD,EAAYnuC,KAAKmuC,YACrB,OAAOK,QAAqBsB,UAAU3B,EAAUjnC,KAGpDrH,GAAUzG,UAAU25F,0BAA4B,WAC5C,IAAI5kD,EAAYnuC,KAAKmuC,YACrB,OAAOK,QAAqBuB,YAAY5B,EAAUjnC,KAGtDrH,GAAUzG,UAAUkkB,0BAA4B,WAC5C,IAAIvd,EAAOC,KACPmuC,EAAYpuC,EAAKouC,YAErBpuC,EAAK8vF,gCAA+B,GACpC5sF,QAAiCqa,0BAA0B6wB,GAAWl/B,QAAO,WACzElP,EAAK8vF,gCAA+B,OAI7B,QAAEzsF,UAAWvD,GAAWwD,SAAUA,M,qCCtcjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKsqC,oBAAsBjqC,IAAG6gD,MAAMC,iBAAiBphD,EAAOuqC,qBAC5DtqC,EAAK27E,MAAQt7E,IAAGC,aAChBN,EAAKkwF,mBAAqBnwF,EAAOmwF,mBACjClwF,EAAK6e,OAASxe,IAAG6gD,MAAMC,iBAAiBphD,EAAO8e,QAE/C7e,EAAK4rC,sBAAwBvrC,IAAGC,YAAW,GAC3CN,EAAK6rC,aAAexrC,IAAGC,aAEvB,IAAI4vF,EAAqBlwF,EAAKkwF,qBAC1B+C,EAAsB/C,EAAmB/2F,OAAS,EAAI,GAAK,IAC/D6G,EAAKirC,WAAa5qC,IAAGC,WAAW,CAC5B4T,SAAU1S,IAAOC,IAAIyuF,EAAmB,GAAG/vF,cAAcO,WAAWM,KAAKiyF,EAAqB,SAC9F7+E,OAAQ5S,IAAOC,IAAIyuF,EAAmBA,EAAmB/2F,OAAS,GAAGgH,cAAcO,WAAWM,IAAIiyF,EAAqB,WAG3HjzF,EAAKqjF,kBAAoBhjF,IAAGsY,UAAS,WACjC,IAAIkzB,EAAe7rC,EAAK6rC,eACxB,IAAKA,EAAc,OAAO,KAE1B,IAAIZ,EAAajrC,EAAKirC,aAElBszB,EAAS17D,aAAEoM,IAAI48B,EAAalzC,MAC5B,SAAS+8C,EAAG/xB,GACR,MAAO,CAAClO,SAASkO,GAAI+xB,MAEzBd,EAAU4tC,GAAiB5F,oCAC/BhoC,EAAQ58B,MAAMnK,KAAO,KACrB+mC,EAAQioC,MAAM7kE,MAAMnK,KAAOg+B,EAAa32B,KAAO22B,EAAa32B,KAAKC,QAAU,GAC3Ey/B,EAAQsnC,MAAMjgF,KAAO,WACrB24C,EAAQ+mC,MAAMG,UAAY,GAE1B,IAAIsN,EAAc,qBAAuBppF,EAAK6e,OAAO/gB,KACrD82C,EAAQ6nC,UAAU72E,SAAWwjF,EAC7Bx0C,EAAQ6nC,UAAUQ,aAAajlE,MAAQ,CACnCnK,KAAMu7E,GAGV,IAAIC,EAAaxmF,aAAEgoD,MAAM0T,GACrB+qB,EAAYzmF,aAAE0mF,KAAKhrB,GAEnBtzB,EAAW/2B,SAAW1S,IAAOC,IAAI4nF,EAAW,MAC5Cz0C,EAAQsnC,MAAMh4C,IAAM+G,EAAW/2B,SAAS+vB,WAExCgH,EAAW72B,OAAS5S,IAAOC,IAAI6nF,EAAU,MACzC10C,EAAQsnC,MAAMxnD,IAAMuW,EAAW72B,OAAO6vB,WAG1C,IAAIulD,EAAmC,IAAlBjrB,EAAOplE,QAAkC,IAAlBkwF,EAAW,IAA6B,IAAjBC,EAAU,GAa7E,OAXA10C,EAAQ0nC,OAAS,CACb,CACIx+E,KAAM0rF,EAAiB,WAAa,iBACpCnK,UAAW,EACXr/B,OAAQ,CACJypC,OAAQ,GAEZ9wF,KAAM4lE,IAIP3pB,KAGX,IAAIlJ,EAAkB,SAAST,GAC3B,IAAIU,EAAe,CACfhzC,KAAM,IAIV,OAFAgzC,EAAahzC,KAAKsyC,EAAW/2B,SAAS+vB,WAAa,EACnD0H,EAAahzC,KAAKsyC,EAAW72B,OAAO6vB,WAAa,EAC1C0H,GAGPG,EAAmB,WACnB,IAAIb,EAAajrC,EAAKirC,aAClB/2B,EAAW1T,OAAWyC,oBAAoBzC,OAAWC,sBAAsBwqC,EAAW/2B,UAAW1T,OAAWI,sBAAsBqqC,EAAW/2B,WAC7IE,EAAS5T,OAAWyC,oBAAoBzC,OAAWC,sBAAsBwqC,EAAW72B,QAAS5T,OAAWI,sBAAsBqqC,EAAW72B,SAE7I,GAAIpU,EAAKsqC,oBACLtqC,EAAK4rC,uBAAsB,GAC3BG,QAAchgB,YAAY/rB,EAAKsqC,oBAAoBnjC,GAAI+M,EAAUE,EAAQ,cAAe,eACnFhR,MAAK,SAASyoC,GACX,GAAIhpC,aAAE0gC,KAAKsI,EAAalzC,MAAMQ,OAAS,EACnC6G,EAAK6rC,aAAaA,OACf,CACH,IAAIF,EAAeD,EAAgBT,GACnCjrC,EAAK6rC,aAAaF,OAGzBz8B,QAAO,WACJlP,EAAK4rC,uBAAsB,UAEhC,CACH,IAAID,EAAeD,EAAgBT,GACnCjrC,EAAK6rC,aAAaF,GAClB3rC,EAAK4rC,uBAAsB,KAI/BzoC,EAAS,WACT,IAAI+sF,EAAqBlwF,EAAKkwF,qBAC9B,GAAkC,IAA9BA,EAAmB/2F,OAAvB,CAEA,IAAI85F,EAAsB/C,EAAmB/2F,OAAS,EAAI,GAAK,IAC3D+5F,EAAgB,CAChBh/E,SAAU1S,IAAOC,IAAIyuF,EAAmB,GAAG/vF,cAAcO,WAAWM,KAAKiyF,EAAqB,SAC9F7+E,OAAQ5S,IAAOC,IAAIyuF,EAAmBA,EAAmB/2F,OAAS,GAAGgH,cAAcO,WAAWM,IAAIiyF,EAAqB,UAEvHhoD,EAAajrC,EAAKirC,cAClBioD,EAAch/E,SAAW+2B,EAAW/2B,UAAYg/E,EAAc9+E,OAAS62B,EAAW72B,UAClFpU,EAAKirC,WAAWioD,GAChBpnD,KAEJ9rC,EAAKmzF,kBAGTnzF,EAAKozF,0BAA4BpzF,EAAKkwF,mBAAmB3uE,WAAU,SAAS2uE,GACxE/sF,OAGJnD,EAAKqzF,gCAAkCvyF,OAAOkmD,yBAAyBhmD,KAAI,WACvEmC,OAGJnD,EAAK2tC,0BAA4B7sC,OAAO2c,mBAAmBzc,KAAI,SAAS4sC,GACpE,IAAI+tC,EAAQ37E,EAAK27E,QACjB,GAAKA,EAAL,CACA,IAAIO,EAAQP,EAAMO,MAAM,GACpBoX,EAAW9Q,GAAiB1C,0BAA0BlyC,EAAmBltC,UAAWktC,EAAmB9vC,KAAM8vC,EAAmBzmC,IACpI+0E,EAAM+E,eAAeqS,EAASnsF,QAGlCnH,EAAKmpF,0BAA2B,EAChCnpF,EAAK0pF,yBAA2B5oF,OAAOsB,kBAAkBpB,KAAI,WACzDhB,EAAKmpF,0BAA2B,KAGpCnpF,EAAK2pF,uBAAyB7oF,OAAO6B,gBAAgB3B,KAAI,WACrDhB,EAAKmpF,0BAA2B,EAChC,IAAIxN,EAAQ37E,EAAK27E,QACjB6G,GAAiBrB,yBAAyBxF,MAG9C37E,EAAKilF,aAAejlF,EAAK27E,MAAMp6D,WAAU,WACrCvhB,EAAKmzF,mBAGTrnD,IAGJhsC,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmzF,0BAA0BxxF,UAC/B3B,KAAKozF,gCAAgCxxF,SACrC5B,KAAK0tC,0BAA0B9rC,SAC/B5B,KAAKypF,yBAAyB7nF,SAC9B5B,KAAK0pF,uBAAuB9nF,SAC5B5B,KAAKglF,aAAarjF,WAGtB9B,GAAUzG,UAAUuwF,UAAY,SAAS7nF,EAAIhH,GACzC,GAAKkF,KAAKkpF,yBAAV,CACA,IAAIxN,EAAQ17E,KAAK07E,QACjB6G,GAAiB5B,4BAA4BjF,EAAO5gF,KAGxD+E,GAAUzG,UAAU85F,cAAgB,WAChC,IAAI1nD,EAAe5oC,aAAEoM,IAAIhP,KAAKiwF,sBAAsB,SAAShwF,GACzD,OAAOA,EAAkBC,iBAGzBw7E,EAAQ17E,KAAK07E,QACjB,GAAKA,EAAL,CACA,IAAIO,EAAQP,EAAMO,MAAM,GAExBr5E,aAAEe,KAAK6nC,GAAc,SAAStrC,GAC1B,IAAImzF,EAAW9Q,GAAiB1C,0BAA0B3/E,EAAYO,UAAWP,EAAYrC,KAAMqC,EAAYgH,IAC/G+0E,EAAM+E,eAAeqS,EAASnsF,IAC9B+0E,EAAMgF,YAAYoS,QAIX,QAAEjwF,UAAWvD,GAAWwD,SAAUA,M,wBCpL3CwM,GAAU6W,eAAUC,QAAeC,QAWzC,SAAS/mB,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKkwF,mBAAqBnwF,EAAOmwF,mBACjClwF,EAAK0rF,6BAA+B3rF,EAAO2rF,6BAC3C1rF,EAAK2rF,sBAAwB5rF,EAAO4rF,sBACpC3rF,EAAK6wF,2BAA6B9wF,EAAO8wF,2BACzC7wF,EAAK2wF,uBAAyB5wF,EAAO4wF,uBACrC3wF,EAAK4wF,yBAA2B7wF,EAAO6wF,yBACvC5wF,EAAKixF,oBAAsBlxF,EAAOkxF,oBAClCjxF,EAAKkxF,oBAAsBnxF,EAAOmxF,oBAClClxF,EAAKmxF,mBAAqBpxF,EAAOoxF,mBACjCnxF,EAAKoxF,sBAAwBrxF,EAAOqxF,sBACpCpxF,EAAKqxF,sBAAwBtxF,EAAOsxF,sBACpCrxF,EAAKsxF,qBAAuBvxF,EAAOuxF,qBAEnCtxF,EAAKuzF,0BAA4BlzF,IAAGC,aAEpCN,EAAK0qF,qBAAuBrqF,IAAGC,aAC/BN,EAAK2qF,qBAAuBtqF,IAAGC,aAE/BN,EAAKa,4BAA8BC,OAAOC,qBAAqBC,KAAI,SAASC,GACxEjB,EAAK0qF,qBAAqBlqF,OAAWC,sBAAsBQ,IAC3DjB,EAAK2qF,qBAAqBnqF,OAAWI,sBAAsBK,OAG/DjB,EAAKwzF,yBAA2BnzF,IAAGc,cAAa,WAC5C,IAAI+uF,EAAqBlwF,EAAKkwF,qBAC9B,OAAOrtF,aAAEof,OAAOiuE,GAAoB,SAAShwF,GACzC,OAAOA,EAAkBC,cAAcO,gBAI/CV,EAAKyzF,mBAAqBpzF,IAAGc,cAAa,WACtC,IAAI+uF,EAAqBlwF,EAAKwzF,2BAC9B,OAAO3wF,aAAEoM,IAAIihF,GAAoB,SAAShwF,GACtC,OAAOA,EAAkBC,oBAIjCH,EAAKkB,sBAAwBb,IAAGc,cAAa,WACzC,IAAIupF,EAAuB1qF,EAAK0qF,uBAC5BC,EAAuB3qF,EAAK2qF,uBAC5Bl/C,EAAezrC,EAAKyzF,qBACpBC,EAAY1zF,EAAKuzF,4BACjB1C,EAA6B7wF,EAAK6wF,6BAClCF,EAAyB3wF,EAAK2wF,yBAC9BC,EAA2B5wF,EAAK4wF,2BAChCQ,EAAwBpxF,EAAKoxF,wBAC7BC,EAAwBrxF,EAAKqxF,wBAC7BC,EAAuBtxF,EAAKsxF,uBAE5BlwF,EAAkBZ,OAAWa,YAAYqpF,EAAsBC,GACnE,IAAKvpF,EAAgBsX,UAAW,OAAO,EAEvC,IAAIkyE,EAAoBppF,IAAOC,IAAIovF,EAA2B1wF,cAAcO,WAExEmqF,EAAkB8F,EAAyBnvF,IAAOC,IAAIkvF,EAAuBxwF,cAAcO,WAAa,KAE5G,IAAmB,YAAdgzF,GAAyC,cAAdA,IAA8BjoD,EAAatyC,OAAS,EAAG,CACnF,IAAIw6F,EAA8BhD,EAAyBllD,EAAatyC,OAAS,EAAIsyC,EAAatyC,OAAS,EACvGy6F,EAAyBnoD,EAAakoD,GAC1C/I,EAAoBppF,IAAOC,IAAImyF,EAAuBlzF,WAO1D,GAJkB,YAAdgzF,GAAyC,cAAdA,GAA6B9C,IACxD/F,EAAkBrpF,IAAOC,IAAImvF,EAAyBzwF,cAAcO,YAGpEU,GAAmBwpF,EACnB,OAAO,EAGX,GAAIC,GAAmBzpF,GAAmBypF,EACtC,OAAO,EAGX,IAAIC,EAA2BjoF,aAAEN,KAAKkpC,GAClC,SAAStrC,GACL,IAAI4qF,EAA6BvpF,IAAOC,IAAItB,EAAYO,WACxD,OAAOqqF,EAA2BC,OAAO5pF,MAGjD,GAAI0pF,EACA,OAAO,EAGX,IAAIG,EAAkCpoF,aAAEqoF,cAAcz/C,GAClD,SAAStrC,GACL,IAAI4qF,EAA6BvpF,IAAOC,IAAItB,EAAYO,WACxD,OAAOqqF,EAA6B3pF,KAExC+pF,EAA6B1/C,EAAaw/C,GAE1CG,EAA8BvoF,aAAEN,KAAKkpC,GACrC,SAAStrC,GACL,IAAI4qF,EAA6BvpF,IAAOC,IAAItB,EAAYO,WACxD,OAAOqqF,EAA6B3pF,KAGxCyyF,EAAgB1I,EAA2BlvF,KAC3C63F,EAAiB1I,EAA8BA,EAA4BnvF,KAAO,KACtF,OAAkB,iBAAdy3F,GAAmD,mBAAlBG,GAAyD,iBAAnBC,MAIzD,iBAAdJ,GAAmD,mBAAlBG,GAAyD,iBAAnBC,MAIzD,gBAAdJ,GAAkD,kBAAlBG,GAAwD,gBAAnBC,MAItD,mBAAdJ,GAAgD,mBAAdA,GAAgD,kBAAdA,GAClD,mBAAlBG,GAAwD,mBAAlBA,GAAwD,kBAAlBA,OAI7EzC,GAA4C,iBAAnB0C,OAIzBzC,GAA4C,iBAAnByC,MAIzBxC,GAA2C,gBAAnBwC,WAQpCh0F,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKY,4BAA4BgB,UAGrC/B,GAAUzG,UAAU06F,yBAA2B,SAAS7e,GACpDj1E,KAAKszF,0BAA0Bre,GAC/Bp0E,OAAOsB,kBAAkBC,YAG7BvC,GAAUzG,UAAU26F,uBAAyB,WACzC/zF,KAAK8zF,yBAAyB,cAGlCj0F,GAAUzG,UAAU46F,qBAAuB,WACvCh0F,KAAK8zF,yBAAyB,YAGlCj0F,GAAUzG,UAAU66F,4BAA8B,WAC9Cj0F,KAAK8zF,yBAAyB,mBAGlCj0F,GAAUzG,UAAU86F,0BAA4B,WAC5Cl0F,KAAK8zF,yBAAyB,iBAGlCj0F,GAAUzG,UAAU+6F,4BAA8B,WAC9Cn0F,KAAK8zF,yBAAyB,mBAGlCj0F,GAAUzG,UAAUg7F,0BAA4B,WAC5Cp0F,KAAK8zF,yBAAyB,iBAGlCj0F,GAAUzG,UAAUi7F,2BAA6B,WAC7Cr0F,KAAK8zF,yBAAyB,kBAGlCj0F,GAAUzG,UAAUk7F,yBAA2B,WAC3Ct0F,KAAK8zF,yBAAyB,gBAGlCj0F,GAAUzG,UAAUm7F,0BAA4B,WAC5Cv0F,KAAKszF,0BAA0B,MAC/BzyF,OAAO6B,gBAAgBN,YAG3BvC,GAAUzG,UAAUo7F,kBAAoB,WACpC,IAAIz0F,EAAOC,KACPE,EAAc,GAClBA,EAAYoE,SAAWuL,GAAQgX,cAAc3f,GAC7ChH,EAAYO,UAAYF,OAAWyC,oBAAoBjD,EAAK0qF,uBAAwB1qF,EAAK2qF,wBACzFxqF,EAAYlE,KAAO+D,EAAKuzF,4BAExBrwF,QAAiChE,OAAOiB,GAAaiD,MAAK,SAASsqC,GAC/D1tC,EAAKw0F,gCAIE,QAAEnxF,UAAWvD,GAAWwD,SAAUA,M,wBCjNjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKE,kBAAoBH,EAAOG,kBAChCF,EAAKG,YAAcJ,EAAOG,kBAAkBC,YAC5CH,EAAK0rF,6BAA+B3rF,EAAOG,kBAAkBwrF,6BAC7D1rF,EAAKmsF,gBAAkBpsF,EAAOG,kBAAkBkvF,sBAAsBjD,gBAEtEnsF,EAAKitF,mCAAqCltF,EAAOG,kBAAkBkvF,sBAAsBnC,mCACzFjtF,EAAKmtF,mBAAqBptF,EAAOG,kBAAkBkvF,sBAAsBjC,mBAEzEntF,EAAKs1E,WAAaj1E,IAAGc,cAAa,WAC9B,IAAIhB,EAAcH,EAAKG,cACvB,OAAOo1E,GAAkBP,yBAAyB70E,MAGtDH,EAAKw1E,eAAiBn1E,IAAGc,cAAa,WAClC,IAAIhB,EAAcH,EAAKG,cACvB,OAAOo1E,GAAkBF,6BAA6Bl1E,MAI9DL,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAU+wF,aAAe,WAC/BtpF,OAAOilD,oBAAoB1jD,SAASpC,KAAKE,gBAG9B,QAAEkD,UAAWvD,GAAWwD,SAAUA,M,wBC9BjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK6e,OAAS9e,EAAO8e,OACrB7e,EAAKE,kBAAoBH,EAAOG,kBAChCF,EAAK6wF,2BAA6B9wF,EAAO8wF,2BACzC7wF,EAAK2wF,uBAAyB5wF,EAAO4wF,uBACrC3wF,EAAKqyF,YAActyF,EAAOsyF,YAE1BryF,EAAK0rF,6BAA+B3rF,EAAOG,kBAAkBwrF,6BAC7D1rF,EAAK2rF,sBAAwB5rF,EAAOG,kBAAkByrF,sBAEtD3rF,EAAKG,YAAcH,EAAKE,kBAAkBC,YAC1CH,EAAK00F,8BAAgCr0F,IAAGc,cAAa,WACjD,IAAIhB,EAAcH,EAAKG,cACvB,MAA4B,YAArBA,EAAYlE,QAEvB+D,EAAK20F,yBAA2Bt0F,IAAGC,YAAW,GAGlDR,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,yFCjBjD,SAASsxF,GAAiC/mE,EAAcgnE,EAAkB10F,GACtE,IAAI8nC,EAAuBC,QAA4BzpC,MACnDq2F,EAAoBjyF,aAAEqd,MAAM2N,EAAc,eAC1CknE,EAAqBlyF,aAAEqd,MAAM20E,EAAkB,MAC/C18C,EAAgBlQ,EAAqBkQ,gBAErC68C,EAA0BnyF,aAAEkM,OAAOopC,GACnC,SAASvqB,GACL,OAAO/qB,aAAEkf,SAAS+yE,EAAmBlnE,EAAUzmB,KAAOtE,aAAEkf,SAASgzE,EAAoBnnE,EAAUzmB,OAGvG,OAAOtE,aAAEoM,IAAI+lF,GACT,SAASpnE,GACL,OAAO,IAAIqnE,QAA6B90F,EAAaytB,EAAWC,MAI5E,SAAS/tB,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK6e,OAAS9e,EAAO8e,OACrB7e,EAAKE,kBAAoBH,EAAOG,kBAChCF,EAAKG,YAAcJ,EAAOG,kBAAkBC,YAC5CH,EAAKk1F,+BAAiCn1F,EAAO40F,yBAE7C30F,EAAK6tB,aAAextB,IAAGwK,gBAAgB,IACvC7K,EAAKm1F,8BAAgC90F,IAAGwK,gBAAgB,IAExD7K,EAAKo1F,sBAAwB/0F,IAAGC,YAAW,GAC3CsuB,QAA8BrsB,KAAKvC,EAAKE,kBAAkBiH,IACrD/D,MAAK,SAASyqB,GACX,IAAIgnE,EAAmB70F,EAAK6e,SAASquB,WACjCioD,EAAgCP,GAAiC/mE,EAAcgnE,EAAkB70F,EAAKE,kBAAkBC,aAC5HH,EAAKm1F,8BAA8BA,MAEtCjmF,QAAO,WACJlP,EAAKo1F,uBAAsB,MAGnCp1F,EAAKq1F,sBAAwBh1F,IAAGC,YAAW,GAE3CN,EAAK20F,yBAA2Bt0F,IAAGc,cAAa,WAC5C,IAAIg0F,EAAgCn1F,EAAKm1F,gCACzC,OAAOtyF,aAAEy3E,MAAM6a,GACX,SAASG,GACL,OAAOA,EAA6BvnE,kBAIhD/tB,EAAKu1F,iBAAmBl1F,IAAGc,cAAa,WACpC,IAAIk0F,EAAwBr1F,EAAKq1F,wBAC7Bl1F,EAAcH,EAAKE,kBAAkBC,cACrCg1F,EAAgCn1F,EAAKm1F,gCAErCK,EAAsB3yF,aAAEN,KAAK4yF,GAC7B,SAASG,GACL,OAAOA,EAA6BvnE,eAG5C,OAAOsnE,GAA8C,YAArBl1F,EAAYlE,MAAsBu5F,KAGtEx1F,EAAKy1F,qCAAuC30F,OAAOuuC,8BAA8BruC,KAAI,WACjFhB,EAAKq1F,uBAAsB,MAG/Br1F,EAAKk1F,+BAA+Bl1F,EAAK20F,4BACzC30F,EAAK01F,gCAAkC11F,EAAK20F,yBAAyBpzE,WAAU,SAASozE,GACpF30F,EAAKk1F,+BAA+BP,MAI5C70F,GAAUzG,UAAUuI,QAAU,WAC1BiB,aAAEe,KAAK3D,KAAKk1F,iCACR,SAASG,GACLA,EAA6B1zF,aAErC3B,KAAKw1F,qCAAqC5zF,UAG9C/B,GAAUzG,UAAUs8F,4BAA8B,WAC9C11F,KAAKo1F,uBAAuBp1F,KAAKo1F,0BAGtB,QAAEhyF,UAAWvD,GAAWwD,SAAUA,M,kDCzF7CsZ,GAAS,aAIbA,GAAOvjB,UAAUkJ,KAAO,SAASgC,EAAU2P,EAAUE,GACjD,IAAIrF,EAAS,CACTxK,SAAUA,EACV2P,SAAUA,EACVE,OAAQA,GAGZ,OAAOyI,QAAIpe,IAAI,wBAAyBsQ,IAG7B,WAAI6N,GCPnB,SAAS9c,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKE,kBAAoBH,EAAOG,kBAChCF,EAAKG,YAAcJ,EAAOG,kBAAkBC,YAC5CH,EAAK41F,gBAAkBv1F,IAAGC,aAC1BN,EAAK61F,mBAAqBx1F,IAAGC,aAC7BN,EAAKkZ,UAAY7Y,IAAGC,YAAW,GAC/BN,EAAKI,UAAYC,IAAGC,YAAW,GAC/BN,EAAK81F,cAAgBz1F,IAAGC,YAAW,GACnCN,EAAKuuB,aAGTzuB,GAAUzG,UAAUk1B,WAAa,WAC7B,IAAIvuB,EAAOC,KACPE,EAAcH,EAAKG,cACnB41F,EAAkB,GAClB7hF,EAAW1S,IAAOC,IAAItB,EAAYO,WAAWM,KAAK,EAAG,SACrDoT,EAAS5S,IAAOC,IAAItB,EAAYO,WAAWM,IAAI,EAAG,SAClDg1F,EAAgBx1F,OAAWyC,oBAAoBzC,OAAWC,sBAAsByT,GAAW1T,OAAWI,sBAAsBsT,IAC5H+hF,EAAcz1F,OAAWyC,oBAAoBzC,OAAWC,sBAAsB2T,GAAS5T,OAAWI,sBAAsBwT,IAE5HpU,EAAK41F,gBAAgB,MACrB51F,EAAKkZ,WAAU,GAEf,IAAIg9E,EAAuB10F,IAAOC,IAAItB,EAAYO,WAClDy1F,GAAsB5zF,KAAKpC,EAAYoE,SAAUyxF,EAAeC,GAAa7yF,MAAK,SAASzK,GACvFo9F,EAAkBp9F,EAElB,IAAIy9F,EAAmBvzF,aAAEof,OAAO8zE,GAC5B,SAASM,GACL,OAAOniE,KAAKsqC,IAAIh9D,IAAOC,IAAI40F,EAAe31F,WAAW6nB,KAAK2tE,OAG9DI,EAAuBF,EAAiB,GACxCG,EAA6B1zF,aAAEkM,OAAOqnF,GACtC,SAASC,GACL,OAAOA,EAAe31F,YAAc41F,EAAqB51F,aAI7D81F,EAAsB3zF,aAAEN,KAAKg0F,GAC7B,SAASF,GACL,MAAiC,gBAA1BA,EAAephB,UAE9B,GAAIuhB,EAEAx2F,EAAK41F,gBAAgBY,OAFzB,CAOA,IAAIC,EAAkB5zF,aAAEN,KAAKg0F,GACzB,SAASF,GACL,MAAiC,YAA1BA,EAAephB,UAE1BwhB,EAEAz2F,EAAK41F,gBAAgBa,GAIzBz2F,EAAK41F,gBAAgBU,OACtBp7E,MAAK,SAAS2+C,GACb75D,EAAK81F,eAAc,GACnBr2F,QAAQjC,MAAM,kCAAmCq8D,MAClD3qD,QAAO,WACNlP,EAAKkZ,WAAU,OAIvBpZ,GAAUzG,UAAUyI,aAAe,WAC/B7B,KAAKG,WAAU,IAGnBN,GAAUzG,UAAUqJ,cAAgB,WAChC5B,OAAOuM,aAAahL,WACpBpC,KAAKG,WAAU,IAGnBN,GAAUzG,UAAUuJ,KAAO,WACvB,IAAI5C,EAAOC,KACPE,EAAc0C,aAAEC,MAAM9C,EAAKG,eAC/BA,EAAYkxC,SAAWrxC,EAAK61F,qBAE5Ba,QAAmBvzF,OAAOhD,GAAaiD,MAAK,WACxCpD,EAAKuuB,aACLvuB,EAAK0C,oBAIE,QAAEW,UAAWvD,GAAWwD,SAAUA,M,wBChG7CsZ,GAAS,aAIbA,GAAOvjB,UAAUkJ,KAAO,SAASo0F,EAAYziF,EAAUE,GACnD,IAAIrF,EAAS,CACT4nF,WAAYA,EACZziF,SAAUA,EACVE,OAAQA,GAGZ,OAAOyI,QAAIpe,IAAI,2BAA4BsQ,IAG/C6N,GAAOvjB,UAAU6F,OAAS,SAAS03F,GAC/B,OAAO/5E,QAAIG,KAAK,sBAAuB45E,GAAmBxzF,MAAK,SAASzK,GACpEmI,OAAOqmD,yBAAyB9kD,SAAS1J,OAIjDikB,GAAOvjB,UAAU2K,OAAS,SAAS4yF,GAC/B,OAAO/5E,QAAIW,IAAI,uBAAyBo5E,EAAkBzvF,IAAI/D,MAAK,WAC/DtC,OAAOsmD,yBAAyB/kD,SAASu0F,OAIlC,WAAIh6E,GCrBfi6E,GAAM,SAAS/4F,EAAMg5F,GACrB72F,KAAKnC,KAAOA,EACZmC,KAAK62F,cAAgBA,GAGzB,SAASh3F,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK6wF,2BAA6B9wF,EAAO8wF,2BACzC7wF,EAAK2wF,uBAAyB5wF,EAAO4wF,uBACrC3wF,EAAKswF,0BAA4BvwF,EAAOuwF,0BACxCtwF,EAAKyvF,UAAY1vF,EAAOuwF,0BAA0BtjD,gBAClDhtC,EAAK2rF,sBAAwB5rF,EAAOuwF,0BAA0B3E,sBAE9D3rF,EAAK+2F,iBAAmB12F,IAAGC,WAAWN,EAAKyvF,YAAY,IAEvDzvF,EAAKgyF,KAAO,CACR,IAAI6E,GAAI,mBAAoB,wBAC5B,IAAIA,GAAI,YAAa,iBACrB,IAAIA,GAAI,YAAa,iBAEzB72F,EAAKqyF,YAAchyF,IAAGC,WAAWN,EAAKgyF,KAAK,IAE3ChyF,EAAKwyF,UAAY,SAASC,GACtB,IAAIuE,EAA0Bh3F,EAAKg3F,0BAC9BA,GACDh3F,EAAKqyF,YAAYI,IAEvBrzF,KAAKY,GAEPA,EAAKi3F,cAAgB52F,IAAGc,cAAa,WACjC,IAAI+1F,EAAuBl3F,EAAK6wF,6BAA6B1wF,cAC7D,OAAOqB,IAAOC,IAAIy1F,EAAqBx2F,cAG3CV,EAAKm3F,0BAA4B92F,IAAGc,cAAa,WAC7C,IAAI81F,EAAgBj3F,EAAKi3F,gBACzB,OAAOz1F,IAAOC,IAAIw1F,GAAej2F,KAAK,GAAI,aAG9ChB,EAAKo3F,4BAA8B/2F,IAAGC,YAAW,GACjDN,EAAKq3F,mBAAqBh3F,IAAGwK,gBAAgB,IAC7C7K,EAAKs3F,wBAA0Bt3F,EAAK+2F,iBAAiBx1E,WAAU,SAASg2E,GACpEv3F,EAAKw3F,4BAGTx3F,EAAKy3F,yBAA2Bp3F,IAAGc,cAAa,WAC5C,IAAIk2F,EAAqBr3F,EAAKq3F,qBAC9B,OAAOx0F,aAAEof,OAAOo1E,EAAoB,gBAGxC,IAAI1G,EAAyB3wF,EAAK2wF,yBAClC3wF,EAAK03F,yBAA2Br3F,IAAGC,WAAW,CAC1C4T,SAAUlU,EAAKm3F,4BACf/iF,OAAQu8E,EAAyBnvF,IAAOmvF,EAAuBxwF,cAAcO,WAAWM,IAAI,EAAG,QAAU,OAG7GhB,EAAK23F,gCAAkC72F,OAAOsmD,yBAAyBpmD,KAAI,SAAS41F,GAChF52F,EAAKq3F,mBAAmBrzF,OAAO4yF,MAGnC52F,EAAK43F,gCAAkC92F,OAAOqmD,yBAAyBnmD,KAAI,SAAS41F,GAChF52F,EAAKq3F,mBAAmB59F,KAAKm9F,MAGjC52F,EAAKg3F,wBAA0B32F,IAAGc,cAAa,WAC3C,IAAIi2F,EAA8Bp3F,EAAKo3F,8BACnCzL,EAAwB3rF,EAAK2rF,wBACjC,GAAIyL,GAA+BzL,EAAuB,OAAO,EAEjE,IAAI8L,EAA2Bz3F,EAAKy3F,2BACpC,GAAwC,IAApCA,EAAyBt+F,OAAc,OAAO,EAElD,IAAI89F,EAAgBj3F,EAAKi3F,gBAEzB,OAAOz1F,IAAOC,IAAIg2F,EAAyB,GAAG/2F,WAAau2F,KAG/Dj3F,EAAK63F,+BAAiC73F,EAAKg3F,wBAAwBz1E,WAAU,SAASy1E,GAC9EA,GACAh3F,EAAKqyF,YAAYryF,EAAKgyF,KAAK,OAInChyF,EAAKw3F,yBAGT13F,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKq3F,wBAAwB11F,UAC7B3B,KAAK03F,gCAAgC91F,SACrC5B,KAAK23F,gCAAgC/1F,SACrC5B,KAAK43F,+BAA+Bj2F,WAGxC9B,GAAUzG,UAAUm+F,uBAAyB,WACzC,IAAIx3F,EAAOC,KACP82F,EAAmB/2F,EAAK+2F,mBACxB9rD,EAAajrC,EAAK03F,2BAClBxjF,EAAW1T,OAAWyC,oBAAoBgoC,EAAW/2B,UACrDE,EAAS5T,OAAWyC,oBAAoBgoC,EAAW72B,QAEvDpU,EAAKo3F,6BAA4B,GACjCU,GAAyBv1F,KAAKw0F,EAAiB5vF,GAAI+M,EAAUE,GAAQhR,MAAK,SAASzK,GAC/EqH,EAAKq3F,mBAAmB1+F,MACzBuW,QAAO,WACNlP,EAAKo3F,6BAA4B,OAI1B,QAAE/zF,UAAWvD,GAAWwD,SAAUA,M,oCCjH7CsZ,GAAS,aAIbA,GAAOvjB,UAAUkJ,KAAO,SAASo0F,EAAY55E,EAAa+Q,GACtD,IAAI/e,EAAS,CACT4nF,WAAYA,EACZ55E,YAAaA,EACb+Q,cAAeA,GAGnB,OAAOjR,QAAIpe,IAAI,iCAAkCsQ,IAGrD6N,GAAOvjB,UAAU6F,OAAS,SAAS64F,GAC/B,OAAOl7E,QAAIG,KAAK,4BAA6B+6E,IAGjDn7E,GAAOvjB,UAAU2K,OAAS,SAAS+zF,GAC/B,OAAOl7E,QAAIW,IAAI,6BAA+Bu6E,EAAwB5wF,IAAI/D,MAAK,WAC3EtC,OAAOk3F,+BAA+B31F,SAAS01F,OAIxC,WAAIn7E,GCtBnB,SAAS9c,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKyvF,UAAY1vF,EAAO0vF,UACxBzvF,EAAK+2F,iBAAmBh3F,EAAOg3F,iBAC/B/2F,EAAK6wF,2BAA6B9wF,EAAO8wF,2BACzC7wF,EAAK2wF,uBAAyB5wF,EAAO4wF,uBACrC3wF,EAAKswF,0BAA4BvwF,EAAOuwF,0BACxCtwF,EAAKkZ,UAAY7Y,IAAGC,YAAW,GAC/BN,EAAKi4F,yBAA2B53F,IAAGwK,gBAAgB,IACnD7K,EAAK2rF,sBAAwB5rF,EAAOuwF,0BAA0B3E,sBAE9D3rF,EAAKk4F,+BAAiC73F,IAAGc,cAAa,WAClD,IAAI82F,EAA2Bj4F,EAAKi4F,2BACpC,OAAOp1F,aAAEof,OAAOg2E,EAA0B,gBAG9Cj4F,EAAKs3F,wBAA0Bt3F,EAAK+2F,iBAAiBx1E,WAAU,SAASg2E,GACpEv3F,EAAKm4F,YAGTn4F,EAAKm4F,SAGTr4F,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKq3F,wBAAwB11F,WAGjC9B,GAAUzG,UAAU8+F,OAAS,WACzB,IAAIn4F,EAAOC,KACP82F,EAAmB/2F,EAAK+2F,mBACxBlG,EAA6B7wF,EAAK6wF,6BAClCP,EAA4BtwF,EAAKswF,0BAErCtwF,EAAKkZ,WAAU,GACfk/E,GAA+B71F,KAAKw0F,EAAiB5vF,GAAI0pF,EAA2B1pF,GAAImpF,EAA0BnpF,IAAI/D,MAAK,SAASzK,GAChIqH,EAAKi4F,yBAAyBt/F,MAC/BuW,QAAO,WACNlP,EAAKkZ,WAAU,OAIR,QAAE7V,UAAWvD,GAAWwD,SAAUA,M,wBC3CjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,QAA4BzpC,MACxDuB,EAAK+3F,wBAA0Bh4F,EAAOg4F,wBACtC,IAAI7/C,EAAel4C,EAAKioC,qBAAqBiQ,eAC7Cl4C,EAAK+2D,aAAe7e,EAAal4C,EAAK+3F,wBAAwB/gC,YAAYl5D,KAG9EgC,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBCNjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,QAA4BzpC,MACxDuB,EAAK44C,gBAAkB54C,EAAKioC,qBAAqB2Q,gBACjD54C,EAAK+2F,iBAAmBh3F,EAAOg3F,iBAC/B/2F,EAAK6wF,2BAA6B9wF,EAAO8wF,2BACzC7wF,EAAK2wF,uBAAyB5wF,EAAO4wF,uBACrC3wF,EAAKswF,0BAA4BvwF,EAAOuwF,0BACxCtwF,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAC9BN,EAAKq3F,mBAAqBt3F,EAAOs3F,mBACjCr3F,EAAK2rF,sBAAwB5rF,EAAOuwF,0BAA0B3E,sBAE9D3rF,EAAKq4F,0BAA4Bh4F,IAAGC,WAAW,0DAC/CN,EAAKO,mBAAqBF,IAAGC,aAC7BN,EAAKW,mBAAqBN,IAAGC,aAC7BN,EAAKs4F,gBAAkBj4F,IAAGC,WAAWN,EAAK+2F,mBAAmB//B,YAC7Dh3D,EAAKu4F,iBAAmBl4F,IAAGC,aAC3BN,EAAKw4F,yBAA2Bn4F,IAAGC,aACnCN,EAAKy4F,oBAAsBp4F,IAAGC,aAE9BN,EAAK04F,qBAAuBr4F,IAAGc,cAAa,WACxC,IAAI41F,EAAmB/2F,EAAK+2F,mBAC5B,IAAKA,EAAkB,OAAO,KAE9B,IAAIx2F,EAAqBP,EAAKO,qBAC1BI,EAAqBX,EAAKW,qBAC1B23F,EAAkBt4F,EAAKs4F,kBACvBC,EAAmBv4F,EAAKu4F,mBACxBC,EAA2Bx4F,EAAKw4F,2BAChCC,EAAsBz4F,EAAKy4F,sBAE3BC,EAAuB,CACvBh4F,UAAWF,OAAWyC,oBAAoB1C,EAAoBI,GAC9Dq2D,WAAYshC,EACZ3B,WAAYI,EAAiB5vF,GAC7BwxF,YAAahqE,WAAW4pE,GACxBK,oBAAqBjqE,WAAW6pE,GAChCK,eAAgBlqE,WAAW8pE,IAG/B,OAAOC,KAGX14F,EAAK84F,4BAA8Bz4F,IAAGc,cAAa,WACpBnB,EAAK04F,uBAChC,OAAO,KAGX14F,EAAKi3F,cAAgB52F,IAAGc,cAAa,WACjC,IAAI+1F,EAAuBl3F,EAAK6wF,6BAA6B1wF,cAC7D,OAAOqB,IAAOC,IAAIy1F,EAAqBx2F,cAG3CV,EAAK+4F,aAAe14F,IAAGc,cAAa,WAChC,IAAI81F,EAAgBj3F,EAAKi3F,gBACzB,OAAOz1F,IAAOC,IAAIw1F,GAAej2F,KAAK,GAAI,aAG9ChB,EAAKg5F,sBAAwB34F,IAAGc,cAAa,WACzC,IAAI43F,EAAe/4F,EAAK+4F,eACxB,OAAOv4F,OAAWC,sBAAsBs4F,MAG5C/4F,EAAKi5F,kBAAoB54F,IAAGc,cAAa,WACrC,IAAIwvF,EAAyB3wF,EAAK2wF,yBAClC,OAAOA,EAAyBA,EAAuBxwF,cAAcO,UAAY,QAGrFV,EAAKk5F,sBAAwB74F,IAAGc,cAAa,WACzC,IAAI83F,EAAoBj5F,EAAKi5F,oBAC7B,OAAOz4F,OAAWC,sBAAsBw4F,MAG5Cj5F,EAAKs3F,wBAA0Bt3F,EAAK+2F,iBAAiBx1E,WAAU,SAASg2E,GACpEv3F,EAAKs4F,gBAAgBf,EAAYvgC,eAIzCl3D,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKq3F,wBAAwB11F,WAGjC9B,GAAUzG,UAAU8/F,qBAAuB,WACvC,IAAIn5F,EAAOC,KACPy4F,EAAuB14F,EAAK04F,uBAChC14F,EAAK6xC,UAAS,GACdimD,GAAyB54F,OAAOw5F,GAAsBxpF,QAAO,WACzDlP,EAAK6xC,UAAS,OAItB/xC,GAAUzG,UAAU+/F,0BAA4B,SAAUr3F,EAAIhH,GAC1D,IAAIqJ,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM5N,KAAKo4F,6BAA+Bj0F,IAG5FtE,GAAUzG,UAAUgU,aAAe,WAC/BvM,OAAOuM,aAAahL,YAGT,QAAEgB,UAAWvD,GAAWwD,SAAUA,M,wBCvGjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,QAA4BzpC,MACxDuB,EAAK42F,kBAAoB72F,EAAO62F,kBAChC52F,EAAK2rF,sBAAwB5rF,EAAO4rF,sBAEpC,IAAIzzC,EAAel4C,EAAKioC,qBAAqBiQ,eAC7Cl4C,EAAK+2D,aAAe7e,EAAal4C,EAAK42F,kBAAkB5/B,YAAYl5D,KAEpEkC,EAAK82D,WAAaz2D,IAAGC,YAAW,GAGpCR,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAU2K,OAAS,WACzB,IAAIhE,EAAOC,KACXD,EAAK82D,YAAW,GAChBghC,GAAyB9zF,OAAOhE,EAAK42F,mBAAmB1nF,QAAO,WAC3DlP,EAAK82D,YAAW,OAIT,QAAEzzD,UAAWvD,GAAWwD,SAAUA,M,wBCzB7CsZ,GAAS,aAIbA,GAAOvjB,UAAUkJ,KAAO,SAASo0F,EAAYziF,EAAUE,GACnD,IAAIrF,EAAS,CACT4nF,WAAYA,EACZziF,SAAUA,EACVE,OAAQA,GAGZ,OAAOyI,QAAIpe,IAAI,0BAA2BsQ,IAG9C6N,GAAOvjB,UAAU6F,OAAS,SAASm6F,GAC/B,OAAOx8E,QAAIG,KAAK,qBAAsBq8E,IAG1Cz8E,GAAOvjB,UAAU2K,OAAS,SAASq1F,GAC/B,OAAOx8E,QAAIW,IAAI,sBAAwB67E,EAAiBlyF,IAAI/D,MAAK,WAC7DtC,OAAOomD,wBAAwB7kD,SAASg3F,OAIjC,WAAIz8E,GChBb9M,GAAU6W,eAAUC,QAAeC,QAEzC,SAAS/mB,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK+2F,iBAAmBh3F,EAAOg3F,iBAC/B/2F,EAAK6wF,2BAA6B9wF,EAAO8wF,2BACzC7wF,EAAK2wF,uBAAyB5wF,EAAO4wF,uBACrC3wF,EAAKswF,0BAA4BvwF,EAAOuwF,0BACxCtwF,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAC9BN,EAAKkZ,UAAY7Y,IAAGC,YAAW,GAC/BN,EAAKs5F,kBAAoBj5F,IAAGwK,gBAAgB,IAC5C7K,EAAK2rF,sBAAwB5rF,EAAOuwF,0BAA0B3E,sBAE9D3rF,EAAKO,mBAAqBF,IAAGC,aAC7BN,EAAKW,mBAAqBN,IAAGC,WAAW,SACxCN,EAAKu5F,qBAAuBl5F,IAAGC,aAC/BN,EAAKw5F,6BAA+Bn5F,IAAGC,aACvCN,EAAKy5F,qCAAuCp5F,IAAGC,aAE/CN,EAAK05F,oBAAsBr5F,IAAGc,cAAa,WACvC,IAAI41F,EAAmB/2F,EAAK+2F,mBAC5B,IAAKA,EAAkB,OAAO,KAE9B,IAAIx2F,EAAqBP,EAAKO,qBAC1BI,EAAqBX,EAAKW,qBAC1B44F,EAAuBv5F,EAAKu5F,uBAC5BC,EAA+Bx5F,EAAKw5F,+BACpCC,EAAuCz5F,EAAKy5F,uCAE5CC,EAAsB,CACtBn1F,SAAUuL,GAAQgX,cAAc3f,GAChCzG,UAAWF,OAAWyC,oBAAoB1C,EAAoBI,GAC9Dg5F,WAAY5C,EAAiB5vF,GAC7ByyF,gBAAiBjrE,WAAW4qE,GAC5BM,wBAAyBlrE,WAAW6qE,GACpCM,gCAAiCnrE,WAAW8qE,IAGhD,OAAOC,KAGX15F,EAAK+5F,2BAA6B15F,IAAGc,cAAa,WACpBnB,EAAK05F,sBAC/B,OAAO,KAGX15F,EAAKg6F,wBAA0B35F,IAAGc,cAAa,WAC3C,IAAIm4F,EAAoBt5F,EAAKs5F,oBAC7B,OAAOz2F,aAAEof,OAAOq3E,EAAmB,gBAGvCt5F,EAAKi3F,cAAgB52F,IAAGc,cAAa,WACjC,IAAI+1F,EAAuBl3F,EAAK6wF,6BAA6B1wF,cAC7D,OAAOqB,IAAOC,IAAIy1F,EAAqBx2F,cAG3CV,EAAK+4F,aAAe14F,IAAGc,cAAa,WAChC,IAAI81F,EAAgBj3F,EAAKi3F,gBACzB,OAAOz1F,IAAOC,IAAIw1F,GAAej2F,KAAK,EAAG,WAG7ChB,EAAKg5F,sBAAwB34F,IAAGc,cAAa,WACzC,IAAI43F,EAAe/4F,EAAK+4F,eACxB,OAAOv4F,OAAWC,sBAAsBs4F,MAG5C/4F,EAAKi6F,aAAe55F,IAAGc,cAAa,WAChC,IAAIwvF,EAAyB3wF,EAAK2wF,yBAClC,OAAOA,EAAyBnvF,IAAOC,IAAIkvF,EAAuBxwF,cAAcO,WAAWM,IAAI,EAAG,QAAU,QAGhHhB,EAAKk5F,sBAAwB74F,IAAGc,cAAa,WACzC,IAAI84F,EAAej6F,EAAKi6F,eACxB,OAAOz5F,OAAWC,sBAAsBw5F,MAG5Cj6F,EAAKs3F,wBAA0Bt3F,EAAK+2F,iBAAiBx1E,WAAU,SAASg2E,GACpEv3F,EAAKm4F,YAGT,IAAIxH,EAAyB3wF,EAAK2wF,yBAClC3wF,EAAKirC,WAAa5qC,IAAGC,WAAW,CAC5B4T,SAAUlU,EAAK+4F,eACf3kF,OAAQu8E,EAAyBnvF,IAAOC,IAAIkvF,EAAuBxwF,cAAcO,WAAWM,IAAI,EAAG,QAAU,OAGjHhB,EAAKk6F,+BAAiCp5F,OAAOomD,wBAAwBlmD,KAAI,SAASq4F,GAC9Er5F,EAAKs5F,kBAAkBt1F,OAAOq1F,MAGlCr5F,EAAKm6F,+BAAiCn6F,EAAKg6F,wBAAwBz4E,WAAU,SAASy4E,GAClF,IAAII,EAAuBJ,EAAwB7gG,OAAS,EAAI6gG,EAAwBA,EAAwB7gG,OAAS,GAAK,KAE1HkhG,EAAyB,KAKzBA,EAHCD,EAGwB54F,IAAOC,IAAI24F,EAAqB15F,WAAWM,IAAI,EAAG,QAFlDQ,IAAOC,IAAIzB,EAAKi3F,iBAK7Cj3F,EAAKO,mBAAmBC,OAAWC,sBAAsB45F,IACzDr6F,EAAKW,mBAAmBH,OAAWI,sBAAsBy5F,OAG7Dr6F,EAAKm4F,SAGTr4F,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKq3F,wBAAwB11F,UAC7B3B,KAAKi6F,+BAA+Br4F,SACpC5B,KAAKk6F,+BAA+Bv4F,WAGxC9B,GAAUzG,UAAUihG,oBAAsB,WACtC,IAAIt6F,EAAOC,KACPy5F,EAAsB15F,EAAK05F,sBAC/B15F,EAAK6xC,UAAS,GACd0oD,GAAwBr7F,OAAOw6F,GAAqBt2F,MAAK,SAASzK,GAC9DqH,EAAKs5F,kBAAkB7/F,KAAKd,MAC7BuW,QAAO,WACNlP,EAAK6xC,UAAS,OAItB/xC,GAAUzG,UAAU8+F,OAAS,WACzB,IAAIn4F,EAAOC,KACP82F,EAAmB/2F,EAAK+2F,mBACxB9rD,EAAajrC,EAAKirC,aAClB/2B,EAAW1T,OAAWyC,oBAAoBzC,OAAWC,sBAAsBwqC,EAAW/2B,UAAW1T,OAAWI,sBAAsBqqC,EAAW/2B,WAC7IE,EAAS5T,OAAWyC,oBAAoBzC,OAAWC,sBAAsBwqC,EAAW72B,QAAS5T,OAAWI,sBAAsBqqC,EAAW72B,SAE7IpU,EAAKkZ,WAAU,GACfqhF,GAAwBh4F,KAAKw0F,EAAiB5vF,GAAI+M,EAAUE,GAAQhR,MAAK,SAASzK,GAC9EqH,EAAKs5F,kBAAkB3gG,MACxBuW,QAAO,WACNlP,EAAKkZ,WAAU,OAIR,QAAE7V,UAAWvD,GAAWwD,SAAUA,M,wBCnJjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKq5F,iBAAmBt5F,EAAOs5F,iBAC/Br5F,EAAK82D,WAAaz2D,IAAGC,YAAW,GAChCN,EAAK2rF,sBAAwB5rF,EAAO4rF,sBAGxC7rF,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAU2K,OAAS,WACzB,IAAIhE,EAAOC,KACXD,EAAK82D,YAAW,GAChByjC,GAAwBv2F,OAAOhE,EAAKq5F,kBAAkBnqF,QAAO,WACzDlP,EAAK82D,YAAW,OAIT,QAAEzzD,UAAWvD,GAAWwD,SAAUA,M,wBClB7CuzF,GAAM,SAAS/4F,EAAMg5F,GACrB72F,KAAKnC,KAAOA,EACZmC,KAAK62F,cAAgBA,GAGzB,SAASh3F,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK6wF,2BAA6B9wF,EAAO8wF,2BACzC7wF,EAAK2wF,uBAAyB5wF,EAAO4wF,uBACrC3wF,EAAKswF,0BAA4BvwF,EAAOuwF,0BACxCtwF,EAAKovF,sBAAwBrvF,EAAOuwF,0BAA0BlB,sBAC9DpvF,EAAKw6F,WAAax6F,EAAKswF,0BAA0B9B,wBAEjDxuF,EAAKy6F,kBAAoBp6F,IAAGC,WAAWN,EAAKw6F,aAAa,IAEzDx6F,EAAKgyF,KAAO,CACR,IAAI6E,GAAI,mBAAoB,wBAC5B,IAAIA,GAAI,aAAc,kBAE1B72F,EAAKqyF,YAAchyF,IAAGC,WAAWN,EAAKgyF,KAAK,IAE3ChyF,EAAKwyF,UAAY,SAASC,GACtBzyF,EAAKqyF,YAAYI,IACnBrzF,KAAKY,GAGXF,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBC5BjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKy6F,kBAAoB16F,EAAO06F,kBAChCz6F,EAAK6wF,2BAA6B9wF,EAAO8wF,2BACzC7wF,EAAK2wF,uBAAyB5wF,EAAO4wF,uBACrC3wF,EAAKswF,0BAA4BvwF,EAAOuwF,0BACxCtwF,EAAK6oF,0BAA4B7oF,EAAKswF,0BAA0BzH,0BAChE7oF,EAAK2rF,sBAAwB5rF,EAAOuwF,0BAA0B3E,sBAE9D3rF,EAAK06F,iCAAmCr6F,IAAGc,cAAa,WACpD,IAAIs5F,EAAoBz6F,EAAKy6F,oBACzBt6F,EAAcH,EAAKswF,0BAA0BnwF,cAE7C0oF,EAA4B7oF,EAAK26F,oCAEjCr5F,EAAsBtB,EAAKswF,0BAA0BhvF,sBACzD,IAAKA,EAAqB,MAAO,GAEjC,IAAIs5F,EAAiBp5F,IAAOC,IAAIH,EAAoBZ,WAChDm6F,EAAer5F,IAAOC,IAAItB,EAAYO,WAEtCo6F,EAAaj4F,aAAEoM,IAAI45E,GACnB,SAASlyB,GACL,MAAO,CACHU,QAASV,EAAyBU,QAClCC,MAAOX,EAAyBW,MAChCn4D,IAAKw3D,EAAyBU,QAAUV,EAAyBW,UAIzEyjC,EAAmBl4F,aAAEm4F,OAAOF,GAC5B,GACA,SAASx9D,GACL,OAAOA,EAAUn+B,OAIrB87F,EAAoB,GACpB94D,EAAcy4D,EAAe93F,QAC7Bo4F,EAA0Br4F,aAAEof,OAAO84E,EAAkB,WAkBzD,GAhBAl4F,aAAEe,KAAKs3F,GACH,SAAS59D,GACL,IAAI+5B,EAAU71D,IAAOC,IAAI67B,EAAU+5B,SAC/BC,EAAQ91D,IAAOC,IAAI67B,EAAUg6B,OAEjC,GAAIn1B,EAAck1B,EAAS,CACvB,IAAI8jC,EAAkC,CAClCrtE,cAAe3tB,EAAYgH,GAC3BkwD,QAASl1B,EAAYu8C,cACrBpnB,MAAOh6B,EAAU+5B,SAErB4jC,EAAkBxhG,KAAK0hG,GAE3Bh5D,EAAcm1B,KAGlBn1B,EAAc04D,EAAc,CAC5B,IAAIO,EAAoB,CACpBttE,cAAe3tB,EAAYgH,GAC3BkwD,QAASl1B,EAAYu8C,cACrBpnB,MAAOn3D,EAAYO,WAEvBu6F,EAAkBxhG,KAAK2hG,GAG3B,IAAIV,EAAmC73F,aAAEoM,IAAIgsF,GACzC,SAASI,GACL,IAAIC,EAAyBz4F,aAAEC,MAAMu4F,GAIrC,OAHAC,EAAuB/jC,YAAckjC,EAAkBtzF,GACvDm0F,EAAuBxtE,cAAgB3tB,EAAYgH,GACnDm0F,EAAuBC,+BAAiC,SACjDD,KAGf,OAAOZ,KAGX16F,EAAK26F,kCAAoCt6F,IAAGc,cAAa,WACrD,IAAIs5F,EAAoBz6F,EAAKy6F,oBACzB5R,EAA4B7oF,EAAK6oF,4BAErC,OAAOhmF,aAAEkM,OAAO85E,GACZ,SAASlyB,GACL,OAAOA,EAAyBY,cAAgBkjC,EAAkBtzF,SAI9EnH,EAAKw7F,gCAAkCn7F,IAAGc,cAAa,WACnD,IAAIw5F,EAAoC36F,EAAK26F,oCAE7C,OAAO93F,aAAEof,OAAO04E,EAAmC,cAI3D76F,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBC1FjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKy6F,kBAAoB16F,EAAO06F,kBAChCz6F,EAAK6oF,0BAA4B9oF,EAAO8oF,0BACxC7oF,EAAK06F,iCAAmC36F,EAAO26F,iCAC/C16F,EAAKswF,0BAA4BvwF,EAAOuwF,0BACxCtwF,EAAKG,YAAcJ,EAAOuwF,0BAA0BnwF,YAEpDH,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAC9BN,EAAKy7F,gCAAkCp7F,IAAGC,YAAW,GAErDN,EAAK07F,0BAA4Br7F,IAAGC,aACpCN,EAAK27F,0BAA4Bt7F,IAAGC,aACpCN,EAAK47F,wBAA0Bv7F,IAAGC,aAClCN,EAAK67F,wBAA0Bx7F,IAAGC,aAClCN,EAAKk3D,0BAA4B72D,IAAGC,aAEpCN,EAAK87F,4BAA8Bz7F,IAAGc,cAAa,WAC/C,IAAIhB,EAAcH,EAAKG,cACnBs6F,EAAoBz6F,EAAKy6F,oBACzBiB,EAA4B17F,EAAK07F,4BACjCC,EAA4B37F,EAAK27F,4BACjCC,EAA0B57F,EAAK47F,0BAC/BC,EAA0B77F,EAAK67F,0BAC/B3kC,EAA4Bl3D,EAAKk3D,4BAEjC4kC,EAA8B,CAC9BhuE,cAAe3tB,EAAYgH,GAC3BowD,YAAakjC,EAAkBtzF,GAC/BkwD,QAAS72D,OAAWyC,oBAAoBy4F,EAA2BC,GACnErkC,MAAO92D,OAAWyC,oBAAoB24F,EAAyBC,GAC/D/jC,qBAAsBZ,GAG1B,OAAO4kC,KAGX97F,EAAK+7F,oCAAsC17F,IAAGc,cAAa,WACvD,IAAI26F,EAA8B97F,EAAK87F,8BACnCjT,EAA4B7oF,EAAK6oF,4BAEjCxxB,EAAU71D,IAAOC,IAAIq6F,EAA4BzkC,SACjDC,EAAQ91D,IAAOC,IAAIq6F,EAA4BxkC,OAE/CykC,EAAsCl5F,aAAEN,KAAKsmF,GAA2B,SAASlyB,GACjF,IAAIqlC,EAAkCx6F,IAAOC,IAAIk1D,EAAyBU,SACtE4kC,EAAgCz6F,IAAOC,IAAIk1D,EAAyBW,OAExE,OAAOD,EAAU4kC,GAAiC3kC,EAAQ0kC,KAG9D,OAAOD,KAGX/7F,EAAKk8F,uBAAyB77F,IAAGc,cAAa,WAC1C,IAAI46F,EAAsC/7F,EAAK+7F,sCAC3CrB,EAAmC16F,EAAK06F,mCACxCoB,EAA8B97F,EAAK87F,8BACnCx6F,EAAsBtB,EAAKswF,0BAA0BhvF,sBACrDnB,EAAcH,EAAKG,cAEvB,GAAI47F,GAAuCrB,EAAiCvhG,OACxE,MAAO,4EAGX,IAAIo7D,EAAU/yD,IAAOC,IAAIH,EAAoBZ,WACzC+zD,EAAUjzD,IAAOC,IAAItB,EAAYO,WAEjC22D,EAAU71D,IAAOC,IAAIq6F,EAA4BzkC,SACjDC,EAAQ91D,IAAOC,IAAIq6F,EAA4BxkC,OAEnD,OAAIA,GAASD,EACF,8BAGPA,EAAU9C,GAAW+C,EAAQ7C,EACtB,iCAAmCj0D,OAAW6nB,0BAA0BksC,GAAW,QAAU/zD,OAAW6nB,0BAA0BosC,GAAW,IAGjJ,MAGX,IAAI0nC,EAAkB,WAClB,IAAIzB,EAAmC16F,EAAK06F,mCAC5C,GAAIA,EAAiCvhG,OAAS,EAAG,CAC7C,IAAIijG,EAAwC1B,EAAiC,GAC7E16F,EAAK07F,0BAA0Bl7F,OAAWC,sBAAsB27F,EAAsC/kC,UACtGr3D,EAAK27F,0BAA0Bn7F,OAAWI,sBAAsBw7F,EAAsC/kC,UACtGr3D,EAAK47F,wBAAwBp7F,OAAWC,sBAAsB27F,EAAsC9kC,QACpGt3D,EAAK67F,wBAAwBr7F,OAAWI,sBAAsBw7F,EAAsC9kC,UAI5Gt3D,EAAKq8F,wCAA0Cr8F,EAAK06F,iCAAiCn5E,WAAU,SAASm5E,GACpGyB,OAEJA,IAGJr8F,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKo8F,wCAAwCz6F,WAGjD9B,GAAUzG,UAAUijG,4BAA8B,WAC9C,IAAIt8F,EAAOC,KACPi8F,EAAyBl8F,EAAKk8F,yBAClC,IAAIA,EAAJ,CAEA,IAAIJ,EAA8B97F,EAAK87F,8BACvC97F,EAAK6xC,UAAS,GACd29C,QAAgCtwF,OAAO48F,GAA6B14F,MAAK,SAASzK,GAC9EkK,aAAEe,KAAKjL,GAAM,SAAS29D,GAClBx1D,OAAO8lD,gCAAgCvkD,SAASi0D,SAErDpnD,QAAO,WACNlP,EAAK6xC,UAAS,QAItB/xC,GAAUzG,UAAUkjG,kCAAoC,WACpDt8F,KAAKw7F,iCAAgC,IAGzC37F,GAAUzG,UAAUmjG,iCAAmC,WACnDv8F,KAAKw7F,iCAAgC,IAI1B,QAAEp4F,UAAWvD,GAAWwD,SAAUA,M,qCC1I7CsZ,GAAS,aAIbA,GAAOvjB,UAAUkJ,KAAO,SAASg1D,EAAarjD,EAAUE,GACpD,IAAIrF,EAAS,CACTwoD,YAAaA,EACbrjD,SAAUA,EACVE,OAAQA,GAGZ,OAAOyI,QAAIpe,IAAI,4BAA6BsQ,IAGhD6N,GAAOvjB,UAAU6F,OAAS,SAASu9F,GAC/B,OAAO5/E,QAAIG,KAAK,uBAAwBy/E,IAG5C7/E,GAAOvjB,UAAU2K,OAAS,SAASy4F,GAC/B,OAAO5/E,QAAIW,IAAI,wBAA0Bi/E,EAAmBt1F,IAAI/D,MAAK,WACjEtC,OAAOumD,0BAA0BhlD,SAASo6F,OAInC,WAAI7/E,GClBnB,SAAS9c,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,QAA4BzpC,MACxDuB,EAAK44C,gBAAkB54C,EAAKioC,qBAAqB2Q,gBACjD54C,EAAKy6F,kBAAoB16F,EAAO06F,kBAChCz6F,EAAK6wF,2BAA6B9wF,EAAO8wF,2BACzC7wF,EAAK2wF,uBAAyB5wF,EAAO4wF,uBACrC3wF,EAAKswF,0BAA4BvwF,EAAOuwF,0BACxCtwF,EAAK2rF,sBAAwB5rF,EAAOuwF,0BAA0B3E,sBAC9D3rF,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAC9BN,EAAKkZ,UAAY7Y,IAAGC,YAAW,GAC/BN,EAAK08F,oBAAsBr8F,IAAGwK,gBAAgB,IAE9C7K,EAAKO,mBAAqBF,IAAGC,aAC7BN,EAAKW,mBAAqBN,IAAGC,aAC7BN,EAAKs4F,gBAAkBj4F,IAAGC,WAAWN,EAAKy6F,oBAAoBzjC,YAC9Dh3D,EAAK28F,uCAAyCt8F,IAAGC,aAEjDN,EAAK48F,sBAAwBv8F,IAAGc,cAAa,WACzC,IAAIs5F,EAAoBz6F,EAAKy6F,oBAC7B,IAAKA,EAAmB,OAAO,KAE/B,IAAIl6F,EAAqBP,EAAKO,qBAC1BI,EAAqBX,EAAKW,qBAC1B23F,EAAkBt4F,EAAKs4F,kBACvBqE,EAAyC38F,EAAK28F,yCAE9CC,EAAwB,CACxBl8F,UAAWF,OAAWyC,oBAAoB1C,EAAoBI,GAC9Dq2D,WAAYshC,EACZ/gC,YAAakjC,EAAkBtzF,GAC/B01F,kCAAmCF,EAAyChuE,WAAWguE,GAA0C,MAGrI,OAAOC,KAGX58F,EAAK88F,6BAA+Bz8F,IAAGc,cAAa,WACpBnB,EAAK48F,wBACjC,OAAO,KAGX58F,EAAK+8F,0BAA4B18F,IAAGc,cAAa,WAC7C,IAAIu7F,EAAsB18F,EAAK08F,sBAC/B,OAAO75F,aAAEof,OAAOy6E,EAAqB,gBAGzC18F,EAAKg9F,kBAAoB38F,IAAGc,cAAa,WACrC,IAAI+1F,EAAuBl3F,EAAK6wF,6BAA6B1wF,cAC7D,OAAO+2F,EAAqBx2F,aAGhCV,EAAKg5F,sBAAwB34F,IAAGc,cAAa,WACzC,IAAI67F,EAAoBh9F,EAAKg9F,oBAC7B,OAAOx8F,OAAWC,sBAAsBu8F,MAG5Ch9F,EAAKi5F,kBAAoB54F,IAAGc,cAAa,WACrC,IAAIwvF,EAAyB3wF,EAAK2wF,yBAClC,OAAOA,EAAyBA,EAAuBxwF,cAAcO,UAAY,QAGrFV,EAAKk5F,sBAAwB74F,IAAGc,cAAa,WACzC,IAAI83F,EAAoBj5F,EAAKi5F,oBAC7B,OAAOz4F,OAAWC,sBAAsBw4F,MAG5Cj5F,EAAKi9F,yBAA2Bj9F,EAAKy6F,kBAAkBl5E,WAAU,SAAS27E,GACtEl9F,EAAKs4F,gBAAgB4E,EAAalmC,YAClCh3D,EAAKm4F,YAGT,IAAIxH,EAAyB3wF,EAAK2wF,yBAClC3wF,EAAKirC,WAAa5qC,IAAGC,WAAW,CAC5B4T,SAAU1S,IAAOC,IAAIzB,EAAK6wF,6BAA6B1wF,cAAcO,WACrE0T,OAAQu8E,EAAyBnvF,IAAOmvF,EAAuBxwF,cAAcO,WAAWM,IAAI,EAAG,QAAU,OAG7GhB,EAAKm9F,iCAAmCr8F,OAAOumD,0BAA0BrmD,KAAI,SAASy7F,GAClFz8F,EAAK08F,oBAAoB14F,OAAOy4F,MAGpCz8F,EAAKm4F,SAGTr4F,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKg9F,yBAAyBr7F,UAC9B3B,KAAKk9F,iCAAiCt7F,UAG1C/B,GAAUzG,UAAU+jG,sBAAwB,WACxC,IAAIp9F,EAAOC,KACP28F,EAAwB58F,EAAK48F,wBACjC58F,EAAK6xC,UAAS,GACdwrD,GAA0Bn+F,OAAO09F,GAAuBx5F,MAAK,SAASzK,GAClEqH,EAAK08F,oBAAoBjjG,KAAKd,MAC/BuW,QAAO,WACNlP,EAAK6xC,UAAS,OAItB/xC,GAAUzG,UAAU8+F,OAAS,WACzB,IAAIn4F,EAAOC,KACPw6F,EAAoBz6F,EAAKy6F,oBACzBxvD,EAAajrC,EAAKirC,aAClB/2B,EAAW1T,OAAWyC,oBAAoBgoC,EAAW/2B,UACrDE,EAAS5T,OAAWyC,oBAAoBgoC,EAAW72B,QAEvDpU,EAAKkZ,WAAU,GACfmkF,GAA0B96F,KAAKk4F,EAAkBtzF,GAAI+M,EAAUE,GAAQhR,MAAK,SAASzK,GACjFqH,EAAK08F,oBAAoB/jG,MAC1BuW,QAAO,WACNlP,EAAKkZ,WAAU,OAIR,QAAE7V,UAAWvD,GAAWwD,SAAUA,M,wBCvHjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKioC,qBAAuBC,QAA4BzpC,MACxDuB,EAAKy8F,mBAAqB18F,EAAO08F,mBACjCz8F,EAAK2rF,sBAAwB5rF,EAAO4rF,sBAEpC,IAAIzzC,EAAel4C,EAAKioC,qBAAqBiQ,eAC7Cl4C,EAAK+2D,aAAe7e,EAAal4C,EAAKy8F,mBAAmBzlC,YAAYl5D,KAErEkC,EAAK82D,WAAaz2D,IAAGC,YAAW,GAGpCR,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAU2K,OAAS,WACzB,IAAIhE,EAAOC,KACXD,EAAK82D,YAAW,GAChBumC,GAA0Br5F,OAAOhE,EAAKy8F,oBAAoBvtF,QAAO,WAC7DlP,EAAK82D,YAAW,OAIT,QAAEzzD,UAAWvD,GAAWwD,SAAUA,M,kDCtB7CuzF,GAAM,SAAS/4F,EAAMg5F,GACrB72F,KAAKnC,KAAOA,EACZmC,KAAK62F,cAAgBA,GAGzB,SAASh3F,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKgyF,KAAO,CACR,IAAI6E,GAAI,UAAW,oBACnB,IAAIA,GAAI,cAAe,eACvB,IAAIA,GAAI,aAAc,cACtB,IAAIA,GAAI,aAAc,cACtB,IAAIA,GAAI,eAAgB,iBAE5B72F,EAAKqyF,YAAchyF,IAAGC,WAAWN,EAAKgyF,KAAK,IAE3ChyF,EAAKwyF,UAAY,SAASC,GACtBzyF,EAAKqyF,YAAYI,IACnBrzF,KAAKY,GAEPA,EAAK6e,OAASxe,IAAGC,aACjBN,EAAKo4C,gBAAkB/3C,IAAGC,YAAW,GACrC84C,QAA6B36C,IAAI6Q,OAAMgd,QAAQ,yBAAyBnlB,IACnE/D,KAAKpD,EAAK6e,QACV3P,QAAO,WACJlP,EAAKo4C,iBAAgB,MAG7Bp4C,EAAKs9F,kBAAoBj9F,IAAGC,aAC5BN,EAAKu9F,2BAA6Bl9F,IAAGC,YAAW,GAChD0wB,QAAmBqiC,mBAAmB/jD,OAAMgd,QAAQ,yBAAyBnlB,IACxE/D,KAAKpD,EAAKs9F,mBACVpuF,QAAO,WACJlP,EAAKu9F,4BAA2B,MAGxCv9F,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC7B,IAAIi3C,EAAkBp4C,EAAKo4C,kBACvBmlD,EAA6Bv9F,EAAKu9F,6BACtC,OAAOnlD,GAAmBmlD,KAIlCz9F,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,qCC9CjD,SAASxD,KACL,IAAIE,EAAOC,KAEXD,EAAKu3B,YAAcl3B,IAAGC,YAAW,GACjCN,EAAKia,YAAc5Z,IAAGC,WAAW,IACjCN,EAAKmwB,YAAc9vB,IAAGC,aACtBN,EAAKw9F,eAAiBn9F,IAAGC,aAEzB84C,QAA6BhpB,6BAA6B9gB,OAAMgd,QAAQ,yBAAyBnlB,IAChG/D,KAAKpD,EAAKw9F,gBAEXzgD,QAAYxlB,cACXn0B,KAAKpD,EAAKu3B,aAGfz3B,GAAUzG,UAAUokG,gBAAkB,WAClC,IAAIz9F,EAAOC,KAEe,GAAtBD,EAAKu3B,cACLv3B,EAAKia,YAAY,WAGjBm/B,QAA6BnpB,eAAe3gB,OAAMgd,QAAQ,yBAAyBnlB,IAClF/D,KAAKpD,EAAKmwB,aAEXnwB,EAAKia,YAAY,UAIzBna,GAAUzG,UAAUqkG,gBAAkB,WAClC,IAAI19F,EAAOC,KAEXD,EAAKia,YAAY,SAGrBna,GAAUzG,UAAU4hB,YAAc,WAC9B,IAAIjb,EAAOC,KAEXm5C,QAA6BhpB,6BAA6B9gB,OAAMgd,QAAQ,yBAAyBnlB,IAChG/D,KAAKpD,EAAKw9F,gBAEXx9F,EAAKia,YAAY,KAGrBna,GAAUzG,UAAU62B,kBAAoB,WACpC,IAAIlwB,EAAOC,KAEPkwB,EAAcnwB,EAAKmwB,cACvBipB,QAA6BlpB,kBAAkB5gB,OAAMgd,QAAQ,yBAAyBnlB,GAAIgpB,GAE1FnwB,EAAKia,YAAY,SAGN,QAAE5W,UAAWvD,GAAWwD,SAAUA,M,wBC1D7CsZ,GAAS,aAIbA,GAAOvjB,UAAU2V,OAAS,WACtB,OAAO6N,QAAIpe,IAAI,gBAGJ,WAAIme,G,0BCFnB,SAAS9c,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKs9F,kBAAoBv9F,EAAOu9F,kBAChCt9F,EAAK6e,OAAS9e,EAAO8e,OACrB7e,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAC9BN,EAAK29F,kBAAoBt9F,IAAGC,YAAW,GACvCN,EAAK49F,oBAAsBv9F,IAAGC,YAAW,GAEzC,IAAIu9F,EAAkBx9F,IAAG6gD,MAAMC,iBAAiBphD,EAAO8e,QACvD7e,EAAK89F,iBAAmBz9F,IAAGC,aAC3BN,EAAK+9F,kBAAoB19F,IAAGC,aAC5BN,EAAKg+F,gBAAkB39F,IAAGC,aAE1BN,EAAKktC,WAAa7sC,IAAGC,aACrBN,EAAKq4C,oBAAsBh4C,IAAGC,YAAW,GACzCk5C,QAAiBxqC,SACZ5L,MAAK,SAASzK,GACXqH,EAAKktC,WAAWv0C,GAChBqH,EAAK89F,iBAAiBD,EAAgB1vE,gBAEzCjf,QAAO,WACJlP,EAAKq4C,qBAAoB,MAGjCr4C,EAAKi+F,YAAc59F,IAAGC,aACtBN,EAAKk+F,qBAAuB79F,IAAGC,YAAW,GAC1C69F,QAAkBnvF,SACb5L,MAAK,SAASzK,GACXqH,EAAKi+F,YAAYtlG,GACjBqH,EAAK+9F,kBAAkBF,EAAgB1xD,iBAE1Cj9B,QAAO,WACJlP,EAAKk+F,sBAAqB,MAGlCl+F,EAAKo+F,WAAa/9F,IAAGC,aACrBN,EAAKq+F,oBAAsBh+F,IAAGC,YAAW,GACzCg+F,GAAiBtvF,SACZ5L,MAAK,SAASzK,GACXqH,EAAKo+F,WAAWzlG,GAChBqH,EAAKg+F,gBAAgBH,EAAgBU,eAExCrvF,QAAO,WACJlP,EAAKq+F,qBAAoB,MAGjCr+F,EAAKw+F,oBAAsBn+F,IAAGC,WAAWu9F,EAAgBzxD,gBACzDpsC,EAAKy+F,cAAgBp+F,IAAGC,WAAWu9F,EAAgBxxD,UACnDrsC,EAAK0+F,iCAAmCr+F,IAAGC,WAAWu9F,EAAgBc,6BACtE3+F,EAAK4+F,yBAA2Bv+F,IAAGC,WAAWu9F,EAAgBgB,qBAC9D7+F,EAAK8+F,2BAA6Bz+F,IAAGC,WAAWu9F,EAAgBkB,uBAChE/+F,EAAKg/F,yBAA2B3+F,IAAGC,WAAWu9F,EAAgBoB,qBAC9Dj/F,EAAKk/F,gBAAkB7+F,IAAGC,WAAWu9F,EAAgBsB,YACrDn/F,EAAKo/F,gBAAkB/+F,IAAGC,WAAWu9F,EAAgBwB,YACrDr/F,EAAKs/F,kBAAoBj/F,IAAGC,WAAWu9F,EAAgB0B,cAEvDv/F,EAAKw/F,sBAAwBn/F,IAAGC,WAAWu9F,EAAgBvxD,kBAC3DtsC,EAAKy/F,yBAA2Bp/F,IAAGC,WAAWu9F,EAAgBtxD,qBAC9DvsC,EAAK0/F,yBAA2Br/F,IAAGC,WAAWu9F,EAAgBrxD,qBAC9DxsC,EAAK2/F,4BAA8Bt/F,IAAGC,WAAWu9F,EAAgBpxD,wBAEjEzsC,EAAK4/F,gCAAkCv/F,IAAGC,WAAWu9F,EAAgBnxD,4BACrE1sC,EAAK6/F,mCAAqCx/F,IAAGC,WAAWu9F,EAAgBlxD,+BACxE3sC,EAAK8/F,iCAAmCz/F,IAAGC,WAAWu9F,EAAgBjxD,6BACtE5sC,EAAK+/F,iCAAmC1/F,IAAGC,WAAWu9F,EAAgBhxD,6BAEtE7sC,EAAKggG,oBAAsB3/F,IAAGc,cAAa,WACvC,IAAI0d,EAAS7e,EAAK6e,SAClB,OAAOA,EAAOquB,WAAW/zC,OAAS,KAGtC6G,EAAKgwB,gBAAkB,SAASpC,GAC5B,IAAI/O,EAAS7e,EAAK6e,SAElB7e,EAAK49F,qBAAoB,GACzBxkD,QAA6BppB,gBAAgBnR,EAAO1X,GAAIymB,EAAUzmB,IAAI/D,KAAKpD,EAAK6e,QAAQ3P,QAAO,WAC3FlP,EAAK49F,qBAAoB,OAE/Bx+F,KAAKY,GAEPA,EAAKigG,oBAAsB5/F,IAAGc,cAAa,WACvC,IAAI+rC,EAAaltC,EAAKktC,aAClB2nD,EAAmB70F,EAAK6e,SAASquB,WAErC,OAAOrqC,aAAEkM,OAAOm+B,GACZ,SAAStf,GACL,OAAQ/qB,aAAEN,KAAKsyF,GACX,SAASqL,GACL,OAAOA,EAAgB/4F,KAAOymB,EAAUzmB,YAMhErH,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAUuJ,KAAO,WACvB,IAAI5C,EAAOC,KACP4e,EAAShc,aAAEC,MAAM9C,EAAK6e,UAC1BA,EAAOstB,aAAensC,EAAK+9F,oBAC3Bl/E,EAAO0/E,WAAav+F,EAAKg+F,kBACzBn/E,EAAOutB,eAAiBpsC,EAAKw+F,sBAC7B3/E,EAAOwtB,SAAWrsC,EAAKy+F,gBACvB5/E,EAAO8/E,4BAA8BhwE,WAAW3uB,EAAK0+F,oCACrD7/E,EAAOggF,oBAAsBlwE,WAAW3uB,EAAK4+F,4BAC7C//E,EAAOkgF,sBAAwBpwE,WAAW3uB,EAAK8+F,8BAC/CjgF,EAAOogF,oBAAsBtwE,WAAW3uB,EAAKg/F,4BAC7CngF,EAAOsgF,WAAaxwE,WAAW3uB,EAAKk/F,mBACpCrgF,EAAOwgF,WAAa1wE,WAAW3uB,EAAKo/F,mBACpCvgF,EAAO0gF,aAAe5wE,WAAW3uB,EAAKs/F,qBAEtCzgF,EAAOytB,iBAAmBtsC,EAAKw/F,wBAC/B3gF,EAAO0tB,oBAAsBvsC,EAAKy/F,2BAClC5gF,EAAO2tB,oBAAsBxsC,EAAK0/F,2BAClC7gF,EAAO4tB,uBAAyBzsC,EAAK2/F,8BAErC9gF,EAAO6tB,2BAA6B1sC,EAAK4/F,kCACzC/gF,EAAO8tB,8BAAgC3sC,EAAK6/F,qCAC5ChhF,EAAO+tB,4BAA8B5sC,EAAK8/F,mCAC1CjhF,EAAOguB,4BAA8B7sC,EAAK+/F,mCAE1C//F,EAAK6xC,UAAS,GACduH,QAA6Bj2C,OAAO0b,GAAQzb,KAAKpD,EAAK6e,QAAQ3P,QAAO,WACjElP,EAAK6xC,UAAS,OAItB/xC,GAAUzG,UAAU02B,aAAe,WAC/B,IAAI/vB,EAAOC,KACP4e,EAAS7e,EAAK6e,SACdsP,EAAcnuB,EAAK89F,mBAEvB99F,EAAK29F,mBAAkB,GACvBvkD,QAA6BrpB,aAAalR,EAAO1X,GAAIgnB,GAAa/qB,KAAKpD,EAAK6e,QAAQ3P,QAAO,WACvFlP,EAAK29F,mBAAkB,OAIhB,QAAEt6F,UAAWvD,GAAWwD,SAAUA,M,+DC1IjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK6e,OAAS9e,EAAO8e,OAErB7e,EAAKs4C,oBAAsBj4C,IAAGC,YAAW,GACzCN,EAAKu4C,mBAAqBl4C,IAAGC,YAAW,GACxCN,EAAKw4C,mBAAqBn4C,IAAGC,YAAW,GACxCN,EAAKw6F,WAAan6F,IAAGwK,gBAAgB,IACrC7K,EAAKyvF,UAAYpvF,IAAGwK,gBAAgB,IACpC7K,EAAKmgG,UAAY9/F,IAAGwK,gBAAgB,IAEpCyuC,QAAiB/2C,KAAKvC,EAAK6e,SAAS1X,IAAI/D,KAAKpD,EAAKw6F,YAC7CtrF,QAAO,WACJlP,EAAKs4C,qBAAoB,MAGjCiB,QAAgBh3C,KAAKvC,EAAK6e,SAAS1X,IAC9B/D,KAAKpD,EAAKyvF,WACVvgF,QAAO,WACJlP,EAAKu4C,oBAAmB,MAGhCkB,QAAgBzqC,SACX5L,KAAKpD,EAAKmgG,WACVjxF,QAAO,WACJlP,EAAKw4C,oBAAmB,MAGhCx4C,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC7B,IAAIm3C,EAAsBt4C,EAAKs4C,sBAC3BC,EAAqBv4C,EAAKu4C,qBAC1BC,EAAqBx4C,EAAKw4C,qBAE9B,OAAOF,GAAuBC,GAAsBC,KAGxDx4C,EAAKogG,iBAAmB//F,IAAGc,cAAa,WACpC,IAAIq5F,EAAax6F,EAAKw6F,aACtB,OAAO33F,aAAEkM,OAAOyrF,GACZ,SAAU/hD,GACN,OAAQA,EAAUC,gBAAkBD,EAAU4nD,oCAI1DrgG,EAAKgtC,gBAAkB3sC,IAAGc,cAAa,WACnC,IAAIsuF,EAAYzvF,EAAKyvF,YACrB,OAAO5sF,aAAEkM,OAAO0gF,GACZ,SAAU92C,GACN,OAAQA,EAASD,oBAI7B14C,EAAK44C,gBAAkBv4C,IAAGc,cAAa,WACnC,IAAIg/F,EAAYngG,EAAKmgG,YACrB,OAAOt9F,aAAEkM,OAAOoxF,GACZ,SAAUtnD,GACN,OAAQA,EAASH,oBAI7B14C,EAAKsgG,aAAejgG,IAAGc,cAAa,WAChC,IAAIi/F,EAAmBpgG,EAAKogG,mBAC5B,OAAQv9F,aAAE65B,QAAQ0jE,MAGtBpgG,EAAKugG,YAAclgG,IAAGc,cAAa,WAC/B,IAAI6rC,EAAkBhtC,EAAKgtC,kBAC3B,OAAQnqC,aAAE65B,QAAQsQ,MAGtBhtC,EAAKggG,oBAAsB3/F,IAAGc,cAAa,WACvC,IAAI0d,EAAS7e,EAAK6e,SAClB,OAAOA,EAAOquB,WAAW/zC,OAAS,KAGtC6G,EAAKwgG,0BAA4BngG,IAAGc,cAAa,WAC7C,IAAIo/F,EAAcvgG,EAAKugG,cACnBD,EAAetgG,EAAKsgG,eACpBN,EAAsBhgG,EAAKggG,sBAE/B,OAASO,GAAeD,IAAkBN,KAIlDlgG,GAAUzG,UAAUw2C,sBAAwB,WACxC,IAAI9gC,EAAS,CACT8P,OAAQ5e,KAAK4e,SACbshF,UAAWlgG,KAAK24C,kBAChB4hD,WAAYv6F,KAAKmgG,mBACjB3Q,UAAWxvF,KAAK+sC,kBAChB6nD,iBAAkB50F,KAAK4e,SAASquB,YAGpCuB,QAAqBoB,sBAAsB9gC,IAGhC,QAAE1L,UAAWvD,GAAWwD,SAAUA,M,wBCxG7CsZ,GAAS,aAIbA,GAAOvjB,UAAU2V,OAAS,WACtB,OAAO6N,QAAIpe,IAAI,4BAGJ,WAAIme,GCCnB,SAAS9c,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKw6F,WAAan6F,IAAGwK,gBAAgB,IACrC7K,EAAKygG,uBAAyBpgG,IAAGC,aACjCN,EAAKmgG,UAAY9/F,IAAGC,aACpBN,EAAK0gG,yBAA2BrgG,IAAGC,aACnCN,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAC9BN,EAAK2gG,iBAAmBtgG,IAAGC,YAAW,GACtCN,EAAK4gG,SAAWvgG,IAAGC,YAAW,GAE9BN,EAAKs4C,oBAAsBj4C,IAAGC,YAAW,GACzCN,EAAK6gG,gCAAkCxgG,IAAGC,YAAW,GACrDN,EAAKw4C,mBAAqBn4C,IAAGC,YAAW,GACxCN,EAAK8gG,kCAAoCzgG,IAAGC,YAAW,GAEvDN,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC7B,IAAIm3C,EAAsBt4C,EAAKs4C,sBAC3BuoD,EAAkC7gG,EAAK6gG,kCACvCroD,EAAqBx4C,EAAKw4C,qBAC1BsoD,EAAoC9gG,EAAK8gG,oCAC7C,OAAOxoD,GACHuoD,GACAroD,GACAsoD,KAGRxnD,QAAiB/2C,KAAK+M,OAAMgd,QAAQ,yBAAyBnlB,IACxD/D,KAAKpD,EAAKw6F,YACVtrF,QAAO,WACJlP,EAAKs4C,qBAAoB,MAGjCyoD,GAA6B/xF,SACxB5L,KAAKpD,EAAKygG,wBACVvxF,QAAO,WACJlP,EAAK6gG,iCAAgC,MAG7CpnD,QAAgBzqC,SACX5L,KAAKpD,EAAKmgG,WACVjxF,QAAO,WACJlP,EAAKw4C,oBAAmB,MAGhCx4C,EAAK44C,gBAAkBv4C,IAAGc,cAAa,WACnC,IAAIg/F,EAAYngG,EAAKmgG,YACrB,OAAOt9F,aAAEkM,OAAOoxF,GACZ,SAAStnD,GACL,OAAQA,EAASH,oBAI7B1nB,QAAmBoiC,0BAA0B9jD,OAAMgd,QAAQ,yBAAyBnlB,IAC/E/D,KAAKpD,EAAK0gG,0BACVxxF,QAAO,WACJlP,EAAK8gG,mCAAkC,MAG/C9gG,EAAKghG,4BAA8B3gG,IAAGwK,kBACtC7K,EAAKihG,UAAY5gG,IAAGC,aACpBN,EAAKkhG,mCAAqC7gG,IAAGC,aAC7CN,EAAKs4F,gBAAkBj4F,IAAGC,aAE1BN,EAAKk9F,aAAe78F,IAAGc,cAAa,WAChC,IAAI6/F,EAA8BhhG,EAAKghG,8BACnC1I,EAAkBt4F,EAAKs4F,mBAAqB,KAC5C2I,EAAYjhG,EAAKihG,YACjBC,EAAqClhG,EAAKkhG,qCAE1ChE,EAAe,CACfp/F,KAAMmjG,EACN18F,SAAU+K,OAAMgd,QAAQ,yBAAyBnlB,GACjDs5F,uBAAwBO,EACxBhqC,WAAYshC,EACZ+H,8BAA+Ba,GAGnC,OAAOhE,KAGXl9F,EAAKmhG,oBAAsB9gG,IAAGc,cAAa,WACvC,IAAI+7F,EAAel9F,EAAKk9F,eACpBkE,EAAqBphG,EAAKohG,qBAE9B,UAAMlE,EAAauD,uBAAuBtnG,OAAS,GAAK+jG,EAAalmC,YAAckmC,EAAap/F,OAASsjG,MAO7GphG,EAAKohG,mBAAqB/gG,IAAGc,cAAa,WACtC,IAAI4rC,EAAmB/sC,EAAK+sC,mBACxBs0D,EAAmBrhG,EAAKk9F,eAAep/F,KAE3C,QAAKujG,GAIEx+F,aAAE6C,KAAKqnC,GACV,SAASu0D,GACL,OAAOA,EAAgBxjG,KAAKqK,gBAAkBk5F,EAAiBl5F,oBAI3EnI,EAAKuhG,wBAA0BzgG,OAAO6lD,iBAAiB3lD,KAAI,SAASy3C,GAChEz4C,EAAKw6F,WAAWx2F,QAAO,SAAS2V,GAC5B,OAAOA,EAAKxS,KAAOsxC,EAAUtxC,SAIrCnH,EAAKwhG,oBAAsBnhG,IAAGc,cAAa,WACvC,IAAI4rC,EAAmB/sC,EAAK+sC,mBAC5B,OAAOA,EAAiB5zC,OAAS,KAGrC6G,EAAK+sC,iBAAmB1sC,IAAGc,cAAa,WACpC,IAAIq5F,EAAax6F,EAAKw6F,aACtB,OAAO33F,aAAEkM,OAAOyrF,GACZ,SAAS/hD,GACL,OAAQA,EAAUC,oBAI9B14C,EAAKyhG,kCAAoCphG,IAAGc,cAAa,WACrD,IAAI4rC,EAAmB/sC,EAAK+sC,mBACxB2zD,EAA2B1gG,EAAK0gG,2BAEhCgB,EAAqC7+F,aAAEqd,MAAM6sB,EAAkB,iCAEnE,OAAOlqC,aAAEkM,OAAO2xF,GACZ,SAASiB,GACL,OAAQ9+F,aAAEkf,SAAS2/E,EAAoCC,EAAwBx6F,UAK/FrH,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKshG,wBAAwB1/F,UAGjC/B,GAAUzG,UAAUuoG,aAAe,WAC/B,IAAI5hG,EAAOC,KACPi9F,EAAel9F,EAAKk9F,eACxBl9F,EAAK6xC,UAAS,GACdyH,QAAiBp6C,OAAOg+F,GAAc95F,MAAK,SAASzK,GAChDqH,EAAKw6F,WAAW/gG,KAAKd,GACrBqH,EAAK6hG,wBACN3yF,QAAO,WACNlP,EAAK6xC,UAAS,OAItB/xC,GAAUzG,UAAUyoG,kBAAoB,WACpC7hG,KAAKghG,UAAU,IACfhhG,KAAK+gG,4BAA4B,IACjC/gG,KAAKihG,mCAAmC,IACxCjhG,KAAKq4F,gBAAgB,KAGzBx4F,GAAUzG,UAAUwoG,mBAAqB,WACrC5hG,KAAK6hG,oBACL7hG,KAAK0gG,kBAAiB,IAG1B7gG,GAAUzG,UAAU0oG,kBAAoB,WACpC9hG,KAAK0gG,kBAAiB,IAGX,QAAEt9F,UAAWvD,GAAWwD,SAAUA,M,wBC/KjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKy4C,UAAY14C,EAAO04C,UACxBz4C,EAAK0gG,yBAA2B3gG,EAAO2gG,yBACvC1gG,EAAKmgG,UAAYpgG,EAAOogG,UACxBngG,EAAK82D,WAAaz2D,IAAGC,YAAW,GAEhCN,EAAK+2D,aAAe12D,IAAGc,cAAa,WAChC,IAAIg/F,EAAYngG,EAAKmgG,YACjBtnD,EAAWh2C,aAAEN,KAAK49F,GAClB,SAASxmF,GACL,OAAOA,EAAKxS,KAAOnH,EAAKy4C,UAAUue,cAE1C,OAAOne,EAAS/6C,QAGpBkC,EAAKgiG,gCAAkC3hG,IAAGc,cAAa,WACnD,IAAIu/F,EAA2B1gG,EAAK0gG,2BAChCiB,EAA0B9+F,aAAEN,KAAKm+F,GACjC,SAAS/mF,GACL,OAAOA,EAAKxS,KAAOnH,EAAKy4C,UAAU4nD,iCAE1C,OAAOsB,EAA0BA,EAAwB7jG,KAAO,kBAIxEgC,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAU2K,OAAS,WACzB,IAAIhE,EAAOC,KACXD,EAAK82D,YAAW,GAChBxd,QAAiBt1C,OAAOhE,EAAKy4C,WAAWvpC,QAAO,WAC3ClP,EAAK82D,YAAW,OAIT,QAAEzzD,UAAWvD,GAAWwD,SAAUA,M,wBChCjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKyvF,UAAYpvF,IAAGwK,gBAAgB,IACpC7K,EAAKygG,uBAAyBpgG,IAAGC,aACjCN,EAAKmgG,UAAY9/F,IAAGC,aACpBN,EAAK0gG,yBAA2BrgG,IAAGC,aACnCN,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAC9BN,EAAKiiG,gBAAkB5hG,IAAGC,YAAW,GAErCN,EAAKu4C,mBAAqBl4C,IAAGC,YAAW,GACxCN,EAAK6gG,gCAAkCxgG,IAAGC,YAAW,GACrDN,EAAKw4C,mBAAqBn4C,IAAGC,YAAW,GAExCN,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC7B,IAAIo3C,EAAqBv4C,EAAKu4C,qBAC1BsoD,EAAkC7gG,EAAK6gG,kCACvCroD,EAAqBx4C,EAAKw4C,qBAC9B,OAAOD,GACHsoD,GACAroD,KAGRe,QAAgBh3C,KAAK+M,OAAMgd,QAAQ,yBAAyBnlB,IACvD/D,KAAKpD,EAAKyvF,WACVvgF,QAAO,WACJlP,EAAKu4C,oBAAmB,MAGhCwoD,GAA6B/xF,SACxB5L,KAAKpD,EAAKygG,wBACVvxF,QAAO,WACJlP,EAAK6gG,iCAAgC,MAG7CpnD,QAAgBzqC,SACX5L,KAAKpD,EAAKmgG,WACVjxF,QAAO,WACJlP,EAAKw4C,oBAAmB,MAGhCx4C,EAAK44C,gBAAkBv4C,IAAGc,cAAa,WACnC,IAAIg/F,EAAYngG,EAAKmgG,YACrB,OAAOt9F,aAAEkM,OAAOoxF,GACZ,SAAStnD,GACL,OAAQA,EAASH,oBAI7B14C,EAAKghG,4BAA8B3gG,IAAGwK,kBACtC7K,EAAKihG,UAAY5gG,IAAGC,aACpBN,EAAKs4F,gBAAkBj4F,IAAGC,aAE1BN,EAAKu3F,YAAcl3F,IAAGc,cAAa,WAC/B,IAAI6/F,EAA8BhhG,EAAKghG,8BACnC1I,EAAkBt4F,EAAKs4F,kBACvB2I,EAAYjhG,EAAKihG,YAEjB1J,EAAc,CACdz5F,KAAMmjG,EACN18F,SAAU+K,OAAMgd,QAAQ,yBAAyBnlB,GACjDs5F,uBAAwBO,EACxBhqC,WAAYshC,GAEhB,OAAOf,KAGXv3F,EAAKkiG,mBAAqB7hG,IAAGc,cAAa,WACtC,IAAIo2F,EAAcv3F,EAAKu3F,cACnB4K,EAAoBniG,EAAKmiG,oBAE7B,UAAM5K,EAAYkJ,uBAAuBtnG,OAAS,GAAKo+F,EAAYvgC,YAAcugC,EAAYz5F,OAASqkG,MAO1GniG,EAAKoiG,uBAAyBthG,OAAOmmD,gBAAgBjmD,KAAI,SAAS23C,GAC9D34C,EAAKyvF,UAAUzrF,QAAO,SAAS2V,GAC3B,OAAOA,EAAKxS,KAAOwxC,EAASxxC,SAIpCnH,EAAKqiG,mBAAqBhiG,IAAGc,cAAa,WACtC,IAAI6rC,EAAkBhtC,EAAKgtC,kBAC3B,OAAOA,EAAgB7zC,OAAS,KAGpC6G,EAAKgtC,gBAAkB3sC,IAAGc,cAAa,WACnC,IAAIsuF,EAAYzvF,EAAKyvF,YACrB,OAAO5sF,aAAEkM,OAAO0gF,GACZ,SAAS92C,GACL,OAAQA,EAASD,oBAI7B14C,EAAKmiG,kBAAoB9hG,IAAGc,cAAa,WACrC,IAAI6rC,EAAkBhtC,EAAKgtC,kBACvBs1D,EAAkBtiG,EAAKu3F,cAAcz5F,KAEzC,QAAKwkG,GAIEz/F,aAAE6C,KAAKsnC,GAAiB,SAASu1D,GACpC,OAAOA,EAAezkG,KAAKqK,gBAAkBm6F,EAAgBn6F,oBAKzErI,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmiG,uBAAuBvgG,UAGhC/B,GAAUzG,UAAUmpG,YAAc,WAC9B,IAAIxiG,EAAOC,KACPs3F,EAAcv3F,EAAKu3F,cACvBv3F,EAAK6xC,UAAS,GACd0H,QAAgBr6C,OAAOq4F,GAAan0F,MAAK,SAASzK,GAC9CqH,EAAKyvF,UAAUh2F,KAAKd,GACpBqH,EAAKyiG,uBACNvzF,QAAO,WACNlP,EAAK6xC,UAAS,OAItB/xC,GAAUzG,UAAUqpG,iBAAmB,WACnCziG,KAAKghG,UAAU,IACfhhG,KAAK+gG,4BAA4B,IACjC/gG,KAAKq4F,gBAAgB,KAGzBx4F,GAAUzG,UAAUopG,kBAAoB,WACpCxiG,KAAKgiG,iBAAgB,GACrBhiG,KAAKyiG,oBAGT5iG,GAAUzG,UAAUspG,iBAAmB,WACnC1iG,KAAKgiG,iBAAgB,IAGV,QAAE5+F,UAAWvD,GAAWwD,SAAUA,M,kCCzIjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK24C,SAAW54C,EAAO44C,SACvB34C,EAAKmgG,UAAYpgG,EAAOogG,UACxBngG,EAAK82D,WAAaz2D,IAAGC,YAAW,GAEhCN,EAAK+2D,aAAe12D,IAAGc,cAAa,WAChC,IAAIg/F,EAAYngG,EAAKmgG,YACjBtnD,EAAWh2C,aAAEN,KAAK49F,GAClB,SAASxmF,GACL,OAAOA,EAAKxS,KAAOnH,EAAK24C,SAASqe,cAEzC,OAAOne,EAAS/6C,QAIxBgC,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAU2K,OAAS,WACzB,IAAIhE,EAAOC,KACXD,EAAK82D,YAAW,GAChBvd,QAAgBv1C,OAAOhE,EAAK24C,UAAUzpC,QAAO,WACzClP,EAAK82D,YAAW,OAIT,QAAEzzD,UAAWvD,GAAWwD,SAAUA,M,wBCnCjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKmgG,UAAY9/F,IAAGwK,gBAAgB,IACpC7K,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAC9BN,EAAK4iG,gBAAkBviG,IAAGC,YAAW,GAErCN,EAAKw4C,mBAAqBn4C,IAAGC,YAAW,GAExCN,EAAKkZ,UAAY7Y,IAAGc,cAAa,WAC7B,IAAIq3C,EAAqBx4C,EAAKw4C,qBAC9B,OAAOA,KAGXiB,QAAgBzqC,SACX5L,KAAKpD,EAAKmgG,WACVjxF,QAAO,WACJlP,EAAKw4C,oBAAmB,MAGhCx4C,EAAKihG,UAAY5gG,IAAGC,aACpBN,EAAK6iG,eAAiBxiG,IAAGC,aACzBN,EAAK8iG,0BAA4BziG,IAAGC,aAEpCN,EAAK+iG,YAAc1iG,IAAGc,cAAa,WAC/B,IAAI8/F,EAAYjhG,EAAKihG,YACjB4B,EAAiB7iG,EAAK6iG,iBACtBC,EAA4B9iG,EAAK8iG,4BAEjCC,EAAc,CACdjlG,KAAMmjG,EACNvpE,UAAWmrE,EACXG,qBAAsBF,GAG1B,OAAOC,KAGX/iG,EAAKijG,mBAAqB5iG,IAAGc,cAAa,WACtC,IAAI4hG,EAAc/iG,EAAK+iG,cACvB,OAAOA,EAAYjlG,MAAQilG,EAAYrrE,WAAa70B,aAAEwrB,SAAS00E,EAAYC,yBAG/EhjG,EAAKkjG,uBAAyBpiG,OAAOwmD,gBAAgBtmD,KAAI,SAAS63C,GAC9D74C,EAAKmgG,UAAUn8F,QAAO,SAAS2V,GAC3B,OAAOA,EAAKxS,KAAO0xC,EAAS1xC,SAIpCnH,EAAKmjG,mBAAqB9iG,IAAGc,cAAa,WACtC,IAAIy3C,EAAkB54C,EAAK44C,kBAC3B,OAAOA,EAAgBz/C,OAAS,KAGpC6G,EAAK44C,gBAAkBv4C,IAAGc,cAAa,WACnC,IAAIg/F,EAAYngG,EAAKmgG,YACrB,OAAOt9F,aAAEkM,OAAOoxF,GACZ,SAAStnD,GACL,OAAQA,EAASH,oBAKjC54C,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKijG,uBAAuBrhG,UAGhC/B,GAAUzG,UAAU+pG,YAAc,WAC9B,IAAIpjG,EAAOC,KACP8iG,EAAc/iG,EAAK+iG,cACvB/iG,EAAK6xC,UAAS,GACd4H,QAAgBv6C,OAAO6jG,GAAa3/F,MAAK,SAASzK,GAC9CqH,EAAKmgG,UAAU1mG,KAAKd,MACrBuW,QAAO,WACNlP,EAAK6xC,UAAS,OAItB/xC,GAAUzG,UAAUgqG,kBAAoB,WACpCpjG,KAAK2iG,iBAAgB,IAGzB9iG,GAAUzG,UAAUiqG,iBAAmB,WACnCrjG,KAAK2iG,iBAAgB,IAGV,QAAEv/F,UAAWvD,GAAWwD,SAAUA,M,wBCvFjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK64C,SAAW94C,EAAO84C,SACvB74C,EAAK82D,WAAaz2D,IAAGC,YAAW,GAGpCR,GAAUzG,UAAUuI,QAAU,aAG9B9B,GAAUzG,UAAU2K,OAAS,WACzB,IAAIhE,EAAOC,KACXD,EAAK82D,YAAW,GAChBrd,QAAgBz1C,OAAOhE,EAAK64C,UAAU3pC,QAAO,WACzClP,EAAK82D,YAAW,OAIT,QAAEzzD,UAAWvD,GAAWwD,SAAUA,M,qCChBjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK/D,KAAO8D,EAAOwjG,UACnBvjG,EAAKgY,MAAQjY,EAAOiY,MACpBhY,EAAKnB,MAAQgE,aAAE2C,YAAYzF,EAAOlB,OAASwB,IAAGC,WAAW,IAAMP,EAAOlB,MACtEmB,EAAK4gG,SAAW7gG,EAAO6gG,SACvB5gG,EAAKkyC,UAAYnyC,EAAOmyC,UACxBlyC,EAAKwjG,eAAiBzjG,EAAOyjG,eAC7BxjG,EAAKyjG,gBAAkB1jG,EAAO0jG,gBAC9BzjG,EAAK0jG,cAAgB3jG,EAAO2jG,cAC5B1jG,EAAKqxD,YAActxD,EAAOsxD,YAC1BrxD,EAAK2jG,SAAW5jG,EAAO4jG,SAEvB3jG,EAAK4jG,uBAAyBvjG,IAAGC,YAAW,GAE5CN,EAAK6jG,mBAAqBxjG,IAAGc,cAAa,WACtC,IAAIlF,EAAO+D,EAAK/D,KAEhB,MAAgB,WAATA,GAA8B,SAATA,KAGhC+D,EAAK8jG,kBAAoBzjG,IAAGc,cAAa,WACrC,IAAIlF,EAAO+D,EAAK/D,KAEhB,MAAa,WAATA,EACO,SACS,WAATA,EACA,SACS,YAATA,EACA,UAGJ,QAGX+D,EAAK+jG,wBAA0B1jG,IAAGc,cAAa,WAC3C,IAAItC,EAAQmB,EAAKnB,QACb5C,EAAO+D,EAAK/D,KAEhB,MAAa,WAATA,GAA8B,YAATA,KAIrBuM,QAAaorB,mBAAmB/0B,MAOxCmB,EAAKgkG,aAAehkG,EAAKnB,MAAM0iB,WAAU,SAAS1iB,GAC9C,IAAI+hG,EAAW5gG,EAAK4gG,WAEhBA,GACA5gG,EAAK4gG,UAAS,MAK1B9gG,GAAUzG,UAAU0rD,OAAS,WACzB,IAAI9oD,EAAOgE,KAAKhE,KAEhBgE,KAAKyjG,eAAc,GAEd7gG,aAAE2C,YAAYvF,KAAKgkG,aACpBhkG,KAAKgkG,YAAW,GAGP,WAAThoG,GACAgE,KAAKpB,MAAM,IAGVgE,aAAE2C,YAAYvF,KAAKujG,iBACpBvjG,KAAKujG,kBAIb1jG,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK+jG,aAAapiG,WAGP,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,qCCnFjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKqyF,YAAchyF,IAAGC,WAAW,qBAEjCN,EAAK+7C,mBAAqBj7C,OAAOk7C,cAAch7C,KAAI,SAAUm6C,GACzDn7C,EAAKqyF,YAAYl3C,MAIzBr7C,GAAUzG,UAAU6qG,cAAgB,SAAUzR,GAC1C,OAAOA,IAAQxyF,KAAKoyF,eAGxBvyF,GAAUzG,UAAU8qG,cAAgB,SAAU9gG,EAAWjH,GACrD,IAAIq2F,EAAMr2F,EAAME,OAAO6K,GAClBlH,KAAKikG,cAAczR,IACpB3xF,OAAOk7C,cAAc35C,SAASowF,EAAKxyF,KAAKoyF,gBAIhDvyF,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK87C,mBAAmBl6C,UAGb,QAAEwB,UAAWvD,GAAWwD,SAAUA,M,wBCxBjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK0e,QAAU3e,EAAO2e,QACtB1e,EAAKu7C,gBAAkBx7C,EAAOw7C,gBAC9Bv7C,EAAKy7C,UAAY17C,EAAO07C,UACxBz7C,EAAKm7C,SAAW96C,IAAGC,WAAW,qBAE9BN,EAAK+7C,mBAAqBj7C,OAAOk7C,cAAch7C,KAAI,SAAUm6C,GACzDn7C,EAAKm7C,SAASA,MAGlBn7C,EAAKi7C,WAAa,SAAUp8B,GACxB/d,OAAOk7C,cAAc35C,SAAS,aAAcrC,EAAKm7C,WAAYt8B,IAIrE/e,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK87C,mBAAmBl6C,UAGb,QAAEwB,UAAWvD,GAAWwD,SAAUA,M,wBCtB7C8gG,GAAiB,aAIrBA,GAAe/qG,UAAU2V,OAAS,WAC9B,OAAO6N,QAAIpe,IAAI,cAGnB2lG,GAAe/qG,UAAUkJ,KAAO,SAASgC,GACrC,IAAIwK,EAAS,CACTxK,SAAUA,GAGd,OAAOsY,QAAIpe,IAAI,iBAAkBsQ,IAGtB,WAAIq1F,G,aCVnB,SAAStkG,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKy7C,UAAY17C,EAAO07C,UACxBz7C,EAAKu7C,gBAAkBx7C,EAAOw7C,gBAC9Bv7C,EAAK6e,OAAS9e,EAAO8e,OAAS9e,EAAO8e,OAASxe,IAAGC,WAAW,IAAI27C,SAEhEj8C,EAAKqkG,aAAehkG,IAAGC,aACvBN,EAAKskG,SAAWjkG,IAAGwK,gBAAgB,IAEnC7K,EAAKukG,cAELvkG,EAAKwkG,qBAAuB1jG,OAAOo7C,iBAAiBl7C,KAAI,WAC/ChB,EAAKykG,iBACNzkG,EAAKgvB,gCAIbhvB,EAAKykG,cAAgBpkG,IAAGc,cAAa,WACjC,IAAI0d,EAAS7e,EAAK6e,SAClB,OAAIA,EAAO1X,QAOfnH,EAAK0kG,iBAAmBrkG,IAAGc,cAAa,WACpC,QAAInB,EAAK6e,UACE7e,EAAK2kG,mCAAmC3kG,EAAK6e,aAMhE/e,GAAUzG,UAAUsrG,mCAAqC,SAAU9lF,GAC/D,IAAI7e,EAAOC,KACP2kG,EAAkB/lF,EAAOo/B,UACzB1C,EAAkBv7C,EAAKu7C,kBAC3B,QAAIqpD,GACO/hG,aAAE6C,KAAK61C,GAAiB,SAAUspD,GACrC,IAAIC,EAAuB9kG,EAAK8kG,qBAAqBD,EAAgBD,EAAiB/lF,GACtF,OAAOimF,GAAwBD,IAAmBhmF,MAM9D/e,GAAUzG,UAAUyrG,qBAAuB,SAAUD,EAAgBD,EAAiB/lF,GAClF,OAAOgmF,EAAe5mD,WAClB4mD,EAAe5mD,UAAU92C,KAAOy9F,EAAgBz9F,IAChD09F,EAAe51E,cAAgBpF,OAAOhL,EAAOoQ,cAGrDnvB,GAAUzG,UAAUkrG,YAAc,WAC9B,IAAIvkG,EAAOC,KACX8kG,GAAe/1F,SAAS5L,KAAKpD,EAAKskG,WAGtCxkG,GAAUzG,UAAU21B,2BAA6B,WAC7C,IAAIhvB,EAAOC,KACPgvB,EAAYjvB,EAAK6e,SAASoQ,YAC9BmqB,QAA6BpqB,2BAA2BC,GAAW7rB,MAAK,SAAUzK,GAC9EqH,EAAKqkG,aAAa1rG,OAI1BmH,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKukG,qBAAqB3iG,UAGf,QAAEwB,UAAWvD,GAAWwD,SAAUA,M,wBCxEjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAyBX,GAvBAD,EAAK6e,OAAS9e,EAAO8e,OACrB7e,EAAKy7C,UAAY17C,EAAO07C,UACxBz7C,EAAKi+C,QAAUl+C,EAAOk+C,QACtBj+C,EAAKu7C,gBAAkBx7C,EAAOw7C,gBAC9Bv7C,EAAKglG,qBAAqBniG,aAAE2C,YAAYzF,EAAOilG,qBAA6BjlG,EAAOilG,mBAEnFhlG,EAAKilG,YAAc5kG,IAAGC,YAAW,GACjCN,EAAKklG,oBAAsBllG,EAAKi+C,QAAQ18B,WAAU,SAAUi0C,GACxD,GAAIA,EAAU,CACV,IAAIz9C,EAAS/X,EAAKmlG,kCAAkC3vC,EAAUx1D,EAAK6e,QACnE7e,EAAKilG,YAAYltF,QAEjB/X,EAAKilG,aAAY,MAIzBjlG,EAAKykG,cAAgBpkG,IAAGc,cAAa,WACjC,OAAInB,EAAK6e,OAAO1X,QAMhBnH,EAAKi+C,UAAW,CAChB,IAAIlmC,EAAS/X,EAAKmlG,kCAAkCnlG,EAAKi+C,UAAWj+C,EAAK6e,QACzE7e,EAAKilG,YAAYltF,IAIzBjY,GAAUzG,UAAU8rG,kCAAoC,SAAUP,EAAiB/lF,GAC/E,IAAI7e,EAAOC,KACX,OAAO4C,aAAE6C,KAAK1F,EAAKu7C,mBAAmB,SAAUspD,GAC5C,IAAIC,EAAuB9kG,EAAK8kG,qBAAqBD,EAAgBD,EAAiB/lF,GACtF,OAAOimF,GAAwBD,IAAmBhmF,MAI1D/e,GAAUzG,UAAUyrG,qBAAuB,SAAUD,EAAgBD,EAAiB/lF,GAClF,OAAOgmF,EAAe5mD,WAClB4mD,EAAe5mD,UAAU92C,KAAOy9F,EAAgBz9F,IAChD09F,EAAe51E,cAAgBpF,OAAOhL,EAAOoQ,cAGrDnvB,GAAUzG,UAAUuc,OAAS,SAAUiJ,GACnC,IACI5hB,EADA+C,EAAOC,KAEPg+C,EAAUh+C,KAAKg+C,UACf15C,EAAWtE,KAAK4e,OAAO1X,KAa3B,OAVIlK,EADAghD,EACU7E,QAA6BxjC,OAAOrR,EAAU05C,EAAQ92C,IAEtDiyC,QAA6B/pB,SAAS9qB,GAEpDtH,EAAQmG,MAAK,SAAUzK,GACnBqH,EAAK6e,OAAO49B,aAAa9jD,EAAK8jD,cAC9B37C,OAAOs7C,4BAA4B/5C,SAAS,eAAgB1J,EAAKmF,MACjE+oB,OAAMxkB,SAAS,qCAChB6Y,MAAK,eAEDje,GAGX6C,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKilG,oBAAoBtjG,WAGd,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBCxEjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKolG,QAAUrlG,EAAOqlG,QACtBplG,EAAKqlG,gBAAkBhlG,IAAG6gD,MAAMC,iBAAiBphD,EAAOslG,iBACxDrlG,EAAKuE,SAAWlE,IAAG6gD,MAAMC,iBAAiBphD,EAAOwE,UAEjD,IAAI+gG,EAA4BziG,aAAE6C,KAAK1F,EAAKqlG,iBAAiB,SAASD,GAClE,OAAOA,EAAQj+F,KAAOnH,EAAKolG,QAAQj+F,MAGvCnH,EAAKulG,iBAAmBllG,IAAGC,WAAWglG,GAEtCtlG,EAAKwlG,wBAA0BxlG,EAAKulG,iBAAiBhkF,WAAU,SAASkkF,GAChEA,EACAzlG,EAAK0lG,WAEL1lG,EAAK2lG,gBAKjB7lG,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKulG,wBAAwB5jG,WAGjC9B,GAAUzG,UAAUqsG,SAAW,WAC3BtsD,QAA6BxpB,gBAAgB3vB,KAAKsE,SAAUtE,KAAKmlG,QAAQj+F,KAG7ErH,GAAUzG,UAAUssG,WAAa,WAC7BvsD,QAA6BtpB,kBAAkB7vB,KAAKsE,SAAUtE,KAAKmlG,QAAQj+F,KAGhE,QAAE9D,UAAWvD,GAAWwD,SAAUA,M,wBCpCjD,SAASsiG,GAAeR,GACpB,OAAQA,GACR,IAAK,eACD,MAAO,gBACX,IAAK,iBACD,MAAO,kBACX,QACI,OAAOA,GAIf,SAAStlG,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK6lG,YAAcD,GAAe7lG,EAAOqlG,SACzCplG,EAAKyJ,WAAa1J,EAAO0J,WAGd,QAAEpG,UAAWvD,GAAWwD,SAAUA,M,kDClB7CwiG,GAAkB,SAASllE,GAC3B,IAAI5gC,EAAOC,KAEXD,EAAK+lG,UAAY1lG,IAAGC,WAAWsgC,EAAgBC,WAC/C7gC,EAAK07B,eAAiBr7B,IAAGC,WAAWsgC,EAAgBW,gBACpDvhC,EAAKgmG,SAAW3lG,IAAGC,WAAWsgC,EAAgBE,UAE9C9gC,EAAKimG,mBAAqB5lG,IAAGc,cAAa,WACtC,IAAI+kG,EAAa,IACbC,EAAiB,IACjBzqE,EAAiB17B,EAAK07B,iBACtBO,EAA0BP,EAAiByqE,EAC3CC,EAAqB1qE,EAAiBwqE,EAG1C,OAAIE,EAAqB,IACdnqE,EAAwB9Y,QAAQ,GAAK,KAGzCijF,EAAqB,UAIrBN,MCpBf,SAAShmG,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKw9B,qBAAuBz9B,EAAOy9B,qBACnCx9B,EAAK06B,aAAe36B,EAAO26B,aAE3B16B,EAAK87B,iBAAmBz7B,IAAGc,cAAa,WACpC,IAAIu5B,EAAe16B,EAAK06B,eAExB,GAAIA,EAAc,CACd,IAAIoB,EAAmBpB,EAAaoB,mBACpC,OAAOj5B,aAAEoM,IAAI6sB,GAAkB,SAAU8E,GACrC,OAAO,IAAIklE,GAAgBllE,UAM3C9gC,GAAUzG,UAAUgtG,mBAAqB,WACrCpmG,KAAKu9B,sBAAqB,IAG9B19B,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,wBC1BjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKy/B,QAAU1/B,EAAO0/B,QACtBz/B,EAAK+9B,YAAch+B,EAAOg+B,YAC1B/9B,EAAKu9B,oBAAsBx9B,EAAOw9B,oBAClCv9B,EAAKw9B,qBAAuBz9B,EAAOy9B,qBAEnCx9B,EAAK21D,YAAct1D,IAAGC,WAAW,GACjCN,EAAKsmG,QAAUjmG,IAAGC,YAAW,GAE7BN,EAAKumG,iBAAmBlmG,IAAGc,cAAa,WACpC,IAAIs+B,EAAUz/B,EAAKy/B,UACfk2B,EAAc31D,EAAK21D,cACnB53B,EAAc/9B,EAAK+9B,cAGnBk4B,GAFUj2D,EAAKsmG,UAEJ3wC,EAAc53B,GACzBi4B,EAAaC,EAAWl4B,EAExB1mB,EAAOooB,EAAQ5/B,MAAMm2D,EAAYC,GACrC,OAAO5+C,KAGXrX,EAAKwmG,cAAgBnmG,IAAGc,cAAa,WACjC,IAAIs+B,EAAUz/B,EAAKy/B,UAEnB,OAAOvL,KAAK2hC,KAAKp2B,EAAQtmC,OAAS6G,EAAK+9B,kBAG3C/9B,EAAKymG,MAAQpmG,IAAGc,cAAa,WACLnB,EAAKwmG,gBAIzB,IAJA,IACI7wC,EAAc31D,EAAK21D,cACnBt+C,EAAO,GAEFpe,EAAI08D,EAAc,EAAG18D,EAAI08D,EAAc,EAAG18D,IAC/Coe,EAAK5d,KAAKR,GAGd,OAAOoe,KAGXrX,EAAK0mG,kBAAoB,SAAUC,GAC/B3mG,EAAK21D,YAAYgxC,IAGrB3mG,EAAK4mG,wBAA0B5mG,EAAK+9B,YAAYxc,WAAU,WACtDvhB,EAAK6mG,eAGT7mG,EAAK8mG,kBAAoB,SAAUpsE,GAC/B,IAAIqsE,EAAersE,EAAavf,SAC5B4rF,IAAiBrsE,EAAaa,SAASC,WACvCx7B,EAAKu9B,oBAAoB7C,GACzB16B,EAAKw9B,sBAAqB,KAKtC19B,GAAUzG,UAAU2tG,eAAiB,WACjC,IAAIhnG,EAAOC,KACPw/B,EAAUz/B,EAAKy/B,UACf6mE,EAAUtmG,EAAKsmG,UAEnB7mE,EAAQzxB,MAAK,SAAUC,EAAGC,GACAD,EAAEguB,0BACF/tB,EAAE+tB,0BAExB,OAAIqqE,EACOr4F,EAAEguB,0BAA4B/tB,EAAE+tB,0BAEhC/tB,EAAE+tB,0BAA4BhuB,EAAEguB,6BAG/Cj8B,EAAKsmG,SAASA,GACdtmG,EAAKy/B,QAAQA,IAGjB3/B,GAAUzG,UAAUwtG,UAAY,WAC5B5mG,KAAK01D,YAAY,IAGrB71D,GAAUzG,UAAU4tG,SAAW,WAC3B,IAAIT,EAAgBvmG,KAAKumG,gBACzBvmG,KAAK01D,YAAY6wC,IAGrB1mG,GAAUzG,UAAU6tG,SAAW,WAC3B,IAAIvxC,EAAc11D,KAAK01D,cAEvB11D,KAAK01D,YAAYA,EAAc,IAGnC71D,GAAUzG,UAAU8tG,aAAe,WAC/B,IAAIxxC,EAAc11D,KAAK01D,cACvB11D,KAAK01D,YAAYA,EAAc,IAGnC71D,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK2mG,wBAAwBhlG,WAGlB,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,kDCjG3CsM,GAAO+W,eAAUypB,OAAYvpB,QAEnC,SAAS/mB,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK8Y,KAAO/Y,EAAO+Y,KACnB9Y,EAAKxC,MAAQuC,EAAOvC,MAEpBwC,EAAKonG,aAAepnG,EAAK8Y,KAAKX,KAC9BnY,EAAKqnG,iBAAmBhnG,IAAGwK,gBAAgB,CAAC,SAC5C7K,EAAKsnG,YAAcjnG,IAAGC,YAAW,GAEjC,IAAIi3B,EAAgC,cAAlB3nB,GAAK23F,SACnBC,EAAoC,kBAAlB53F,GAAK23F,UAEvBhwE,GAAeiwE,KACfxnG,EAAKqnG,iBAAiB5tG,KAAK,aAC3BuG,EAAKsnG,aAAY,IAIjBE,IACAxnG,EAAKqnG,iBAAiB5tG,KAAK,gBAC3BuG,EAAKqnG,iBAAiB5tG,KAAK,kBAIpB,QAAE4J,UAAWvD,GAAWwD,SAAUA,M,wBC9BjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK8Y,KAAO/Y,EAAO+Y,KAGR,QAAEzV,UAAWvD,GAAWwD,SAAUA,M,gDCJjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKmX,MAAQpX,EAAOoX,MAAM4C,UAC1B/Z,EAAKkZ,UAAYnZ,EAAOoX,MAAM+B,UAE9B,IAAIuuF,EAA2BC,KAAOjpG,IAAI,qBACrCgpG,IACDC,KAAOrzF,IAAI,oBAAqB,OAAQ,CAAEszF,QAAS,OACnDF,EAA2B,QAG/B,IAAIG,EAA2BF,KAAOjpG,IAAI,qBACrCmpG,IACDF,KAAOrzF,IAAI,oBAAqB,MAAO,CAAEszF,QAAS,OAClDC,EAA2B,OAG/B5nG,EAAK6nG,kBAAoBxnG,IAAGC,WAAWmnG,GACvCznG,EAAK8nG,kBAAoBznG,IAAGC,WAAWsnG,GAEvC5nG,EAAK+nG,YAAc1nG,IAAGc,cAAa,WAC/B,IAAIgW,EAAQnX,EAAKmX,QACb0wF,EAAoB7nG,EAAK6nG,oBACzBC,EAAoB9nG,EAAK8nG,oBAEzBl3D,EAAS/tC,aAAEof,OAAO9K,GAAO,SAAU2B,GACnC,IAAIja,EAAQmB,EAAKgoG,iBAAiBlvF,EAAM+uF,GAOxC,OAJqB,kBAAVhpG,GAAsBA,aAAiB2wD,UAC9C3wD,EAAQA,EAAMk2B,eAGXl2B,KAEX,MAA6B,QAAtBipG,EAA8Bl3D,EAASA,EAAOllC,aAI7D5L,GAAUzG,UAAU2uG,iBAAmB,SAASlvF,EAAMmvF,GAClD,OAAQA,GACJ,IAAK,OACD,OAAOnvF,EAAKhb,KAChB,IAAK,OACD,OAAOgb,EAAKX,KAChB,IAAK,QACD,OAAOW,EAAKrB,MAChB,IAAK,mBACD,OAAOqB,EAAKovF,iBAChB,IAAK,YACD,MAAsB,IAAfpvF,EAAKZ,OAChB,QACI,KAAM,8BAAgC+vF,IAIlDnoG,GAAUzG,UAAU8uG,aAAe,SAAUD,GAC3C,IAAME,EAAgB5mG,MAASmU,SAAS,GAAI,WAC5C,OAAOnU,IAAO0mG,EAAkB,yBAAyBG,QAAQD,IAGnEtoG,GAAUzG,UAAUivG,sBAAwB,SAAUC,GAClD,OAAIA,IAActoG,KAAK4nG,oBACZ,WAEyB,QAA7B5nG,KAAK6nG,oBAAgC,qBAAuB,wBAGvEhoG,GAAUzG,UAAU4oB,OAAS,SAAUgmF,GACnC,IAAIJ,EAAoB5nG,KAAK4nG,oBACzBA,IAAsBI,GACtBhoG,KAAK4nG,kBAAkBI,GACvBP,KAAOrzF,IAAI,oBAAqB4zF,EAAe,CAAEN,QAAS,QAE1D1nG,KAAKuoG,uBAIb1oG,GAAUzG,UAAUmvG,oBAAsB,WACtC,IAAIC,EAAoD,QAA7BxoG,KAAK6nG,oBAAgC,OAAS,MACzE7nG,KAAK6nG,kBAAkBW,GACvBf,KAAOrzF,IAAI,oBAAqBo0F,EAAsB,CAAEd,QAAS,QAGrE7nG,GAAUzG,UAAUqvG,cAAgB,SAAU5vF,GAC1ChY,OAAOsZ,SAAS/X,SAASyW,IAG7BhZ,GAAUzG,UAAUsvG,cAAgB,SAAU7vF,GAC1ChY,OAAO0Z,SAASnY,SAASyW,IAG7BhZ,GAAUzG,UAAUuvG,gBAAkB,SAAU9vF,GAC5ChY,OAAOga,WAAWzY,SAASyW,IAG/BhZ,GAAUzG,UAAUwvG,aAAe,WAC/B/nG,OAAO4Z,QAAQrY,YAGnBvC,GAAUzG,UAAUyvG,YAAc,SAAUhwF,GACxChY,OAAO8Z,iBAAiBvY,SAASyW,IAGtB,QAAEzV,UAAWvD,GAAWwD,SAAUA,M,wBC3GjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK8Y,KAAO/Y,EAAO+Y,KACnB9Y,EAAK+oG,wBAA0B1oG,IAAGC,YAAW,GAC7CN,EAAKgpG,qBAAuB3oG,IAAGC,YAAW,GAE1CN,EAAKipG,UAAY5oG,IAAGc,cAAa,WAC7B,IAAI+W,EAASlY,EAAK8Y,KAAKZ,SACvB,OAAOA,KAGXlY,EAAKgZ,eAAiB,WAClB,IAAI0C,EAAe1b,EAAK8Y,KAAKD,kBAC7B7Y,EAAK8Y,KAAKE,iBAAiB9J,QAAO,WAC9BlP,EAAK+oG,yBAAwB,GAC7BjoG,OAAO0Y,cAAcnX,SAASqZ,EAAc1b,EAAK8Y,KAAKD,uBAI9D7Y,EAAKiZ,YAAc,WACf,IAAIyC,EAAe7Y,aAAEC,MAAM9C,EAAK8Y,KAAKD,mBACrC7Y,EAAK8Y,KAAKG,cAAc/J,QAAO,WAC3BlP,EAAKgpG,sBAAqB,GAC1BloG,OAAO0Y,cAAcnX,SAASqZ,EAAc1b,EAAK8Y,KAAKD,uBAI9D7Y,EAAKkpG,qBAAuB,WACxBlpG,EAAK+oG,yBAAwB,IAGjC/oG,EAAKmpG,kBAAoB,WACrBnpG,EAAKgpG,sBAAqB,IAIlClpG,GAAUzG,UAAU+vG,yBAA2B,WAC3CnpG,KAAK8oG,yBAAwB,IAGjCjpG,GAAUzG,UAAUgwG,sBAAwB,WACxCppG,KAAK+oG,sBAAqB,IAG9BlpG,GAAUzG,UAAU4f,YAAc,WAC9BhZ,KAAKqpG,mBAAkB,IAGZ,QAAEjmG,UAAWvD,GAAWwD,SAAUA,M,kDC/CjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKoiB,aAAeriB,EAAOqiB,aAC3BpiB,EAAK0e,QAAU1e,EAAKoiB,aAAa1D,QACjC1e,EAAK4gB,cAAgB5gB,EAAKoiB,aAAaxB,cACvC5gB,EAAKsgB,WAAatgB,EAAKoiB,aAAa9B,WACpCtgB,EAAK6gB,iBAAmB7gB,EAAKoiB,aAAavB,iBAE1C,IAAI0oF,EAAiBvpG,EAAKsgB,WAAW,GACrCtgB,EAAKwpG,YAAcD,EAAer1B,iBAAmBq1B,EAAel4C,YAEpErxD,EAAKypG,uBAAyB1oF,QAAsB8kB,YAAY0jE,EAAetoF,gBAC/EjhB,EAAK0pG,yBAA2BrpG,IAAGC,YAAW,GAE9CN,EAAKoN,oBAAsBtM,OAAOuM,aAAarM,KAAI,WAC/ChB,EAAK0pG,0BAAyB,MAItC5pG,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmN,oBAAoBvL,UAG7B/B,GAAUzG,UAAUswG,gCAAkC,SAAS5nG,EAAIhH,GAC/D,IAAI2uG,EAA2BzpG,KAAKypG,2BACpC,GAAKA,EAKD5oG,OAAOuM,aAAahL,eALO,CAC3B,IAAI+B,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM5N,KAAKwpG,uBAAwB37F,QAAQ,GAAQ1J,GACjGnE,KAAKypG,0BAAyB,KAMtC5pG,GAAUzG,UAAUuwG,8BAAgC,WAC5C3pG,KAAKypG,6BACLzpG,KAAKypG,0BAAyB,GAC9B5oG,OAAOuM,aAAahL,aAIb,QAAEgB,UAAWvD,GAAWwD,SAAUA,M,wBCxCjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKoiB,aAAeriB,EAAOqiB,aAC3BpiB,EAAKopF,YAAcrpF,EAAOqpF,YAC1BppF,EAAK0e,QAAU1e,EAAKoiB,aAAa1D,QACjC1e,EAAKsgB,WAAatgB,EAAKoiB,aAAa9B,WACpCtgB,EAAK6gB,iBAAmB7gB,EAAKoiB,aAAavB,iBAE1C,IAAI0oF,EAAiBvpG,EAAKsgB,WAAW,GACrCtgB,EAAKihB,eAAiBsoF,EAAetoF,eACrCjhB,EAAK27E,MAAQt7E,IAAGC,aAChBN,EAAK6pG,YAAcxpG,IAAGC,YAAW,GACjCN,EAAK8pG,QAAUzpG,IAAGC,aAClBN,EAAK+pG,QAAU1pG,IAAGC,aAElBN,EAAKiiF,UAAY5hF,IAAGc,cAAa,WAC7B,IAAI6oG,EAAmBxnB,GAAiB/E,8CAA8Cz9E,EAAK6gB,iBAAkB7gB,EAAKsgB,WAAYtgB,EAAK0e,SAC/Hq+D,EAAYyF,GAAiBzD,uCAAuC/+E,EAAK6gB,iBAAkB7gB,EAAKoiB,cAEhG6nF,EAAuBpnG,aAAEgoD,MAAM7qD,EAAK6gB,kBACpCqpF,EAAgBrnG,aAAEgoD,MAAMkyB,GAC5B,MAAO,CACH/kE,MAAO,KACPmyF,MAAOF,EAAqB99E,SAAW,KAAO89E,EAAqB7mF,YAAc,IACjFgnF,MAAOH,EAAqBI,gBAC5BC,KAAML,EAAqBM,aAC3BC,KAAMP,EAAqBQ,aAC3BT,iBAAkBA,EAClBjtB,UAAWA,EACX1e,KAAM6rC,EAAgBA,EAAc9hF,KAAO,SAInDpoB,EAAKqjF,kBAAoBhjF,IAAGsY,UAAS,WACjC,IAAIspE,EAAYjiF,EAAKiiF,YACrB,IAAKA,EAAW,OAAO,KAEvB,IAAIrtC,EAAU4tC,GAAiBtF,8CA2C/B,OA1CAtoC,EAAQ58B,MAAMnK,KAAOo0E,EAAUjqE,MAC/B48B,EAAQioC,MAAM7kE,MAAMnK,KAAOo0E,EAAUkoB,MACrCv1D,EAAQsnC,MAAMa,UAAYkF,EAAUlF,UACpCnoC,EAAQsnC,MAAMh4C,IAAM+9C,EAAU5jB,KAC9BzpB,EAAQsnC,MAAMxnD,KAAM,IAAIhf,MAAOuuB,UAC/B2Q,EAAQ0nC,OAAS2F,EAAU+nB,iBAC3Bp1D,EAAQioC,MAAMnoD,IAAMutD,EAAUmoB,MAAQ,GAAK,GAC3Cx1D,EAAQioC,MAAM34C,IAAM+9C,EAAUmoB,OAAS,IAAM,GAC7Cx1D,EAAQqnC,OAAS,CACbzqB,SAAS,GAEb5c,EAAQ6nC,UAAU72E,SAAW5F,EAAKopF,YAClCx0C,EAAQ6nC,UAAUQ,aAAajlE,MAAQ,CACnCnK,KAAM7N,EAAKopF,aAEfx0C,EAAQ6nC,UAAUQ,aAAahB,OAAOzqB,SAAU,EAEhD5c,EAAQsnC,MAAMp7E,OAAO4pG,YAAc,SAAS3vG,GACxC,IAAI4vG,EAAO1qG,KACP2qG,EAAcD,EAAKhvB,MAAMivB,YACzBf,EAAehnG,aAAE2C,YAAYzK,EAAEmpC,MAAQrhC,aAAE2C,YAAYzK,EAAE25B,MAAU35B,EAAEmpC,MAAQ0mE,EAAY1uB,MAAMh4C,KAAOnpC,EAAE25B,MAAQk2E,EAAY1uB,MAAMxnD,IAKpI,GAJA10B,EAAK6pG,YAAYA,GACjB7pG,EAAK8pG,QAAQ/uG,EAAEmpC,KACflkC,EAAK+pG,QAAQhvG,EAAE25B,KAEXm1E,EACAc,EAAKhvB,MAAMkB,MAAM,GAAG6tB,YAAYE,EAAY/tB,MAAM34C,IAAK0mE,EAAY/tB,MAAMnoD,SACtE,CACH,IAAImoD,EAAQ8tB,EAAKhvB,MAAMkB,MAAM,GAC7BA,EAAM6tB,YAAY7tB,EAAMguB,QAAoC,GAA1B32E,KAAKsqC,IAAIqe,EAAMguB,SAAgBhuB,EAAMiuB,QAAoC,GAA1B52E,KAAKsqC,IAAIqe,EAAMiuB,YAIxGl2D,EAAQu6B,QAAU,CACduQ,SAAS,EACTqrB,aAAc,kDACdzqB,YAAa,oCACb9D,cAAe,EACfwuB,YAAa,aACbC,YAAa,KAGVr2D,KAGX50C,EAAKkrG,gBAAkB7qG,IAAGc,cAAa,WACnC,IAAI2oG,EAAU9pG,EAAK8pG,UACfC,EAAU/pG,EAAK+pG,UACfoB,EAAc3qG,OAAW6nB,0BAA0ByhF,GACnDsB,EAAc5qG,OAAW6nB,0BAA0B0hF,GACnDpG,EAAW,+DAIf,OAHAA,GAAYwH,EACZxH,GAAY,MACZA,GAAYyH,EACLzH,KAEX3jG,EAAKqrG,kBAAoBhrG,IAAGC,YAAW,GAEvCN,EAAKoN,oBAAsBtM,OAAOuM,aAAarM,KAAI,WAC/ChB,EAAKqrG,mBAAkB,MAI/BvrG,GAAUzG,UAAUiyG,cAAgB,WAChC,IAAItrG,EAAOC,KACXw7E,KAAW8vB,OAAOn6E,SAAQ,SAASuqD,GAC/BA,EAAMO,MAAM,GAAGwuB,YAAY1qG,EAAK8pG,UAAW9pG,EAAK+pG,WAC3CpuB,EAAM6vB,iBACP7vB,EAAM8vB,oBAKlB3rG,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmN,oBAAoBvL,UAG7B/B,GAAUzG,UAAUqyG,yBAA2B,SAAS3pG,EAAIhH,GACxD,IAAIswG,EAAoBprG,KAAKorG,oBAC7B,GAAKA,EAKDvqG,OAAOuM,aAAahL,eALA,CACpB,IAAI+B,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM5N,KAAKirG,kBAAmBp9F,QAAQ,GAAQ1J,GAC5FnE,KAAKorG,mBAAkB,KAM/BvrG,GAAUzG,UAAUsyG,uBAAyB,WACrC1rG,KAAKorG,sBACLprG,KAAKorG,mBAAkB,GACvBvqG,OAAOuM,aAAahL,aAIb,QAAEgB,UAAWvD,GAAWwD,SAAUA,M,wBCtIjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKoiB,aAAeriB,EAAOqiB,aAC3BpiB,EAAK0e,QAAU1e,EAAKoiB,aAAa1D,QACjC1e,EAAK4gB,cAAgB5gB,EAAKoiB,aAAaxB,cACvC5gB,EAAKsgB,WAAatgB,EAAKoiB,aAAa9B,WACpCtgB,EAAK6gB,iBAAmB7gB,EAAKoiB,aAAavB,iBAE1C,IAAI0oF,EAAiBvpG,EAAKsgB,WAAW,GACrCtgB,EAAKwpG,YAAcnpG,IAAGc,cAAa,WAC/B,IAAIyqG,EAA0B5rG,EAAK4rG,0BACnC,OAAOA,EACD,gDACA,mDAGV5rG,EAAK6rG,eAAiBxrG,IAAGc,cAAa,WAClC,IAAIyqG,EAA0B5rG,EAAK4rG,0BAC/BpC,EAAcD,EAAer1B,iBAAmBq1B,EAAel4C,YAMnE,OAJIu6C,IACApC,GAAe,mDAGZA,KAGXxpG,EAAK4rG,wBAA0BvrG,IAAGC,YAAW,GAC7CN,EAAKypG,uBAAyB1oF,QAAsB8kB,YAAY0jE,EAAetoF,gBAC/EjhB,EAAK0pG,yBAA2BrpG,IAAGC,YAAW,GAC9CN,EAAKg+E,kBAAoB39E,IAAGC,YAAW,GAEvCN,EAAKoN,oBAAsBtM,OAAOuM,aAAarM,KAAI,WAC/ChB,EAAK0pG,0BAAyB,MAItC5pG,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmN,oBAAoBvL,UAG7B/B,GAAUzG,UAAUyyG,8BAAgC,WAChD7rG,KAAK2rG,yBAAyB3rG,KAAK2rG,4BAGvC9rG,GAAUzG,UAAU0yG,oBAAsB,WACtC9rG,KAAK+9E,mBAAmB/9E,KAAK+9E,sBAGjCl+E,GAAUzG,UAAUswG,gCAAkC,SAAS5nG,EAAIhH,GAC/D,IAAI2uG,EAA2BzpG,KAAKypG,2BACpC,GAAKA,EAKD5oG,OAAOuM,aAAahL,eALO,CAC3B,IAAI+B,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM5N,KAAKwpG,uBAAwB37F,QAAQ,GAAQ1J,GACjGnE,KAAKypG,0BAAyB,KAMtC5pG,GAAUzG,UAAUuwG,8BAAgC,WAC5C3pG,KAAKypG,6BACLzpG,KAAKypG,0BAAyB,GAC9B5oG,OAAOuM,aAAahL,aAIb,QAAEgB,UAAWvD,GAAWwD,SAAUA,M,wBCrEjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKoiB,aAAeriB,EAAOqiB,aAC3BpiB,EAAKopF,YAAcrpF,EAAOqpF,YAC1BppF,EAAK4rG,wBAA0B7rG,EAAO6rG,wBACtC5rG,EAAKg+E,kBAAoBj+E,EAAOi+E,kBAEhCh+E,EAAK0e,QAAU1e,EAAKoiB,aAAa1D,QACjC1e,EAAKsgB,WAAatgB,EAAKoiB,aAAa9B,WACpCtgB,EAAK6gB,iBAAmB7gB,EAAKoiB,aAAavB,iBAC1C,IAAI0oF,EAAiBvpG,EAAKsgB,WAAW,GACrCtgB,EAAKihB,eAAiBsoF,EAAetoF,eACrCjhB,EAAK27E,MAAQt7E,IAAGC,aAEhBN,EAAKiiF,UAAY5hF,IAAGc,cAAa,WAC7B,IAAIyqG,EAA0B5rG,EAAK4rG,0BAC/B5tB,EAAoBh+E,EAAKg+E,oBACzBoL,EAAcppF,EAAKopF,cACnB4gB,EAAmB,KAEnBA,EADA4B,EACmBppB,GAAiBzE,iDAAiD/9E,EAAK6gB,iBAAkB7gB,EAAKsgB,WAAYtgB,EAAK0e,QAASs/D,GAExHwE,GAAiB/E,8CAA8Cz9E,EAAK6gB,iBAAkB7gB,EAAKsgB,WAAYtgB,EAAK0e,SAGnI,IAAIurF,EAAuBpnG,aAAEgoD,MAAM7qD,EAAK6gB,kBACxC,MAAO,CACH7I,MAAO,KACPmyF,MAAOyB,GAA2B5tB,EAAoB,wBAA0BisB,EAAqB99E,SAAW,KAAO89E,EAAqB7mF,YAAc,IAC1J4oF,MAAOJ,EAA0B,+CAAiD,KAClFxB,MAAOH,EAAqBI,gBAC5BC,KAAML,EAAqBM,aAC3BC,KAAMP,EAAqBQ,aAC3BT,iBAAkBA,EAClBiC,SAAUL,EAA0B,SAAW,WAC/CxiB,YAAaA,MAIrBppF,EAAKqjF,kBAAoBhjF,IAAGsY,UAAS,WACjC,IAAIspE,EAAYjiF,EAAKiiF,YACrB,IAAKA,EAAW,OAAO,KAEvB,IAAIrtC,EAAU4tC,GAAiBtF,8CAuC/B,OAtCAtoC,EAAQ58B,MAAMnK,KAAOo0E,EAAUjqE,MAC/B48B,EAAQioC,MAAM7kE,MAAMnK,KAAOo0E,EAAUkoB,MACrCv1D,EAAQsnC,MAAMlkE,MAAMnK,KAAOo0E,EAAU+pB,MACrCp3D,EAAQsnC,MAAMjgF,KAAOgmF,EAAUgqB,SAC/Br3D,EAAQ0nC,OAAS2F,EAAU+nB,iBAC3Bp1D,EAAQioC,MAAMnoD,IAAMutD,EAAUmoB,MAAQ,GAAK,GAC3Cx1D,EAAQioC,MAAM34C,IAAM+9C,EAAUmoB,OAAS,IAAM,GAC7Cx1D,EAAQqnC,OAAS,CACbzqB,SAAS,GAEb5c,EAAQ6nC,UAAU72E,SAAWq8E,EAAUmH,YACvCx0C,EAAQ6nC,UAAUQ,aAAajlE,MAAQ,CACnCnK,KAAMo0E,EAAUmH,aAEpBx0C,EAAQ6nC,UAAUQ,aAAahB,OAAOzqB,SAAU,EAEhD5c,EAAQsnC,MAAMp7E,OAAO4pG,YAAc,SAAS3vG,GACxC,IAAI4vG,EAAO1qG,KACP2qG,EAAcD,EAAKhvB,MAAMivB,YACzBf,EAAehnG,aAAE2C,YAAYzK,EAAEmpC,MAAQrhC,aAAE2C,YAAYzK,EAAE25B,MAAU35B,EAAEmpC,MAAQ0mE,EAAY1uB,MAAMh4C,KAAOnpC,EAAE25B,MAAQk2E,EAAY1uB,MAAMxnD,IAEpI,GAAIm1E,EACAc,EAAKhvB,MAAMkB,MAAM,GAAG6tB,YAAYE,EAAY/tB,MAAM34C,IAAK0mE,EAAY/tB,MAAMnoD,SACtE,CACH,IAAImoD,EAAQ8tB,EAAKhvB,MAAMkB,MAAM,GAC7BA,EAAM6tB,YAAY7tB,EAAMguB,QAAoC,GAA1B32E,KAAKsqC,IAAIqe,EAAMguB,SAAgBhuB,EAAMiuB,QAAoC,GAA1B52E,KAAKsqC,IAAIqe,EAAMiuB,YAIxGl2D,EAAQu6B,QAAU,CACduQ,SAAS,EACTqrB,aAAc,kDACdzqB,YAAa,oCACb9D,cAAe,EACfwuB,YAAa,aACbC,YAAa,KAGVr2D,KAKf90C,GAAUzG,UAAUuI,QAAU,aAGf,QAAEyB,UAAWvD,GAAWwD,SAAUA,M,qCC3FjD,SAAS4oG,GAAqBrtF,EAAQuD,GAClC,IAAIpiB,EAAOC,KACXD,EAAK6e,OAASA,EACd7e,EAAKoiB,aAAeA,EACpBpiB,EAAK49E,YAAc/6E,aAAEsD,QAAQnG,EAAKoiB,aAAa1D,QAAS1e,EAAK6e,QAC7D7e,EAAKsgB,WAAatgB,EAAKoiB,aAAa9B,WACpCtgB,EAAK6gB,iBAAmB7gB,EAAKoiB,aAAavB,iBAE1C7gB,EAAKlC,KAAOkC,EAAK6e,OAAO/gB,KACxBkC,EAAKgF,IAAMinC,QAAUhW,aAAaj2B,EAAK6e,QACvC7e,EAAKmsG,mBAAqB3rG,OAAW6nB,0BAA0BroB,EAAK6e,OAAOqtC,gBAE3ElsD,EAAKosG,gBAAkBvpG,aAAEN,KAAKvC,EAAKsgB,YAAY,SAASH,GACpD,OAAOA,EAAU5b,WAAavE,EAAK6e,OAAO1X,MAG9CnH,EAAKqsG,mBAAqBxpG,aAAEqd,MAAMlgB,EAAKssG,iBAAkB,MAEzDtsG,EAAKusG,uBAAyB1pG,aAAEkM,OAAO/O,EAAK6gB,kBAAkB,SAASiB,GACnE,OAAOA,EAAgBE,cAAgBhiB,EAAKosG,gBAAgBjlG,MAGhEnH,EAAKwsG,6BAA+B3pG,aAAEof,OAAOjiB,EAAKusG,uBAAwB,SAE1EvsG,EAAKysG,oBAAsB5pG,aAAE0mF,KAAKvpF,EAAKwsG,8BACvCxsG,EAAK0sG,oBAAsB1sG,EAAKysG,oBAAoBlvB,MACpDv9E,EAAK2sG,wBAA0BnsG,OAAWC,sBAAsBT,EAAK0sG,qBACrE1sG,EAAK4sG,eAA4D,iBAA3C5sG,EAAKosG,gBAAgBjuD,kBAEtCn+C,EAAK4sG,iBACN5sG,EAAK6sG,cAAiE,IAAjD7sG,EAAKysG,oBAAoBnvB,UAAUwvB,YACxD9sG,EAAK+sG,oBAAsB/sG,EAAKysG,oBAAoBO,eAAet3D,EACnE11C,EAAKitG,uBAAyBjtG,EAAKysG,oBAAoBnvB,UAAUE,IAAI9nC,EAAI11C,EAAKysG,oBAAoBO,eAAet3D,GAI1Gw2D,U,aClCf,SAASrtD,GAAaquD,EAAsBjF,GACxC,OAAQA,GACR,IAAK,OACD,OAAOiF,EAAqBruF,OAAO/gB,KACvC,IAAK,sBACD,OAAOovG,EAAqBR,oBAChC,IAAK,gBACD,OAAOQ,EAAqBL,cAChC,IAAK,sBACD,OAAOK,EAAqBH,oBAChC,IAAK,yBACD,OAAOG,EAAqBD,uBAChC,QACI,KAAM,8BAAgChF,GAI9C,SAASnoG,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKoiB,aAAeriB,EAAOqiB,aAC3BpiB,EAAK4rG,wBAA0B7rG,EAAO6rG,wBACtC5rG,EAAK0e,QAAU1e,EAAKoiB,aAAa1D,QACjC1e,EAAKsgB,WAAatgB,EAAKoiB,aAAa9B,WACpCtgB,EAAK6gB,iBAAmB7gB,EAAKoiB,aAAavB,iBAE1C7gB,EAAKmtG,gBAAkB9sG,IAAGC,aAE1BN,EAAKotG,oBAAsB/sG,IAAGC,WAAW,QACzCN,EAAKqtG,oBAAsBhtG,IAAGC,WAAW,OAEzCN,EAAKstG,6BAA+BzqG,aAAEoM,IAAIjP,EAAK0e,SAAS,SAASG,GAC7D,OAAO,IAAIqtF,GAAqBrtF,EAAQ7e,EAAKoiB,iBAGjDpiB,EAAKutG,4BAA8BltG,IAAGc,cAAa,WAC/C,IAAIisG,EAAsBptG,EAAKotG,sBAC3BC,EAAsBrtG,EAAKqtG,sBAE3Bz8D,EAAS/tC,aAAEof,OAAOjiB,EAAKstG,8BAA8B,SAASE,GAC9D,OAAO3uD,GAAa2uD,EAA6BJ,MAErD,MAA+B,QAAxBC,EAAgCz8D,EAASA,EAAOllC,aAG3D1L,EAAKytG,sBAAwBptG,IAAGC,YAAW,GAC3CN,EAAK0tG,gBAAkBrtG,IAAGC,aAE1BN,EAAK2tG,mBAAqBttG,IAAGc,cAAa,WACtC,IAAIusG,EAAkB1tG,EAAK0tG,kBACvBE,EAAkB/qG,aAAEod,QAAQpd,aAAEwZ,OAAOqxF,IACrCG,EAAwBhrG,aAAEod,QAAQpd,aAAEqd,MAAM0tF,EAAiB,YAC3DE,EAAsBjrG,aAAE0jC,KAAK1jC,aAAEqd,MAAM2tF,EAAuB,eAChE,OAAOhrG,aAAEiM,MAAM,CAAC,OAAQg/F,MAG5B9tG,EAAK+tG,mBAGTjuG,GAAUzG,UAAU00G,iBAAmB,WACnC,IAAI/tG,EAAOC,KACXD,EAAKytG,uBAAsB,GAC3B,IAAIjrF,EAAe3f,aAAEqd,MAAMlgB,EAAKsgB,WAAY,MAC5C0tF,QAAmBrzC,WAAWn4C,GAAcpf,MAAK,SAASzK,GACtDqH,EAAK0tG,gBAAgB/0G,MACtBuW,QAAO,WACNlP,EAAKytG,uBAAsB,OAIpB,QAAEpqG,UAAWvD,GAAWwD,SAAUA,M,wBCtEjD,SAAS2qG,GAAqCC,GAC1C,OAAQz4F,SAASy4F,IACjB,KAAK,GACD,OAAO,EACX,KAAK,GACD,OAAO,EACX,KAAK,GACD,OAAO,EACX,KAAK,GACD,OAAO,EACX,QACI,KAAM,2BAA6BA,GAI3C,SAASpuG,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKktG,qBAAuBntG,EAAOmtG,qBACnCltG,EAAK4rG,wBAA0B7rG,EAAO6rG,wBACtC5rG,EAAKotG,oBAAsBrtG,EAAOqtG,oBAClCptG,EAAK4rG,wBAA0B7rG,EAAO6rG,wBACtC5rG,EAAKmtG,gBAAkBptG,EAAOotG,gBAC9BntG,EAAK2tG,mBAAqBttG,IAAG6gD,MAAMC,iBAAiBphD,EAAO4tG,oBAC3D3tG,EAAK0tG,gBAAkBrtG,IAAG6gD,MAAMC,iBAAiBphD,EAAO2tG,iBACxD1tG,EAAKmuG,YAAcrwB,GAAY5C,iBAAiBl7E,EAAKktG,qBAAqBtvB,aAC1E59E,EAAKm+C,kBAAoB99C,IAAGC,WAAWN,EAAKktG,qBAAqBT,oBAAoBtxF,QAErFnb,EAAKm4B,aAAe93B,IAAGC,WAAWN,EAAK0tG,gBAAgB1tG,EAAKktG,qBAAqBd,gBAAgBjlG,KAEjGnH,EAAKouG,oBAAsB/tG,IAAGc,cAAa,WACvC,IAAIgsG,EAAkBntG,EAAKmtG,kBAC3B,OAAOc,GAAqCd,MAGhDntG,EAAKk2E,YAAc71E,IAAGc,cAAa,WAC/B,IAAIg3B,EAAen4B,EAAKm4B,eACpBi2E,EAAsBpuG,EAAKouG,sBAC/B,OAAKj2E,EACEA,EAAai2E,GADM,QAI9BpuG,EAAKquG,kBAAoBhuG,IAAGc,cAAa,WACrC,IAAIktG,EAAoB,GACpBn4B,EAAcl2E,EAAKk2E,cACnBo4B,EAAqBp4B,EAAcA,EAAYF,QAAU,GAmB7D,OAjBAnzE,aAAEe,KAAK5D,EAAK2tG,oBAAoB,SAASY,GACrC,GAAIvuG,EAAKktG,qBAAqBN,eAC1ByB,EAAkB50G,KAAK,YACpB,GAA0B,QAAtB80G,EACPF,EAAkB50G,KAAKy8E,EAAYD,gBAChC,CACH,IAAIu4B,EAAoB3rG,aAAEN,KAAK+rG,GAAoB,SAASE,GACxD,OAAOA,EAAkBl4B,aAAei4B,KAEvCC,EAGDH,EAAkB50G,KAAK+0G,EAAkBr4B,cAFzCk4B,EAAkB50G,KAAK,WAO5B40G,KAIA,QAAEhrG,UAAWvD,GAAWwD,SAAUA,M,wBCnEjD,SAAS0hF,GAAeijB,GACpB,OAAQA,GACR,IAAK,sBACD,MAAO,yCACX,IAAK,gBACD,MAAO,kBACX,IAAK,sBACD,MAAO,uBACX,IAAK,yBACD,MAAO,2BACX,QACI,OAAO,MAIf,SAASnoG,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK6N,KAAO9N,EAAO8N,KACnB7N,EAAKioG,cAAgBloG,EAAOkoG,cAC5BjoG,EAAKotG,oBAAsBrtG,EAAOqtG,oBAClCptG,EAAKqtG,oBAAsBttG,EAAOstG,oBAElCrtG,EAAKyuG,mBAAqBpuG,IAAGc,cAAa,WACtC,IAAIisG,EAAsBptG,EAAKotG,sBAC3BC,EAAsBrtG,EAAKqtG,sBAE/B,OAAIrtG,EAAKioG,gBAAkBmF,EAA4B,WAExB,QAAxBC,EAAgC,qBAAuB,0BAGlErtG,EAAK0uG,YAAc1pB,GAAehlF,EAAKioG,eACvCjoG,EAAK2uG,cAAgBtuG,IAAGC,YAAW,GAEnCN,EAAKoN,oBAAsBtM,OAAOuM,aAAarM,KAAI,WAC/ChB,EAAK2uG,eAAc,MAI3B7uG,GAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKmN,oBAAoBvL,UAG7B/B,GAAUzG,UAAUivG,sBAAwB,SAASC,GACjD,OAAIA,IAActoG,KAAKmtG,sBAA8B,WAEf,QAA/BntG,KAAKotG,sBAAkC,qBAAuB,wBAGzEvtG,GAAUzG,UAAU2U,KAAO,WACvB,IAAIo/F,EAAsBntG,KAAKmtG,sBAC3BA,IAAwBntG,KAAKgoG,cAC7BhoG,KAAKmtG,oBAAoBntG,KAAKgoG,eAE9BhoG,KAAKuoG,uBAIb1oG,GAAUzG,UAAUmvG,oBAAsB,WACtC,IAAIoG,EAAwD,QAA/B3uG,KAAKotG,sBAAkC,OAAS,MAC7EptG,KAAKotG,oBAAoBuB,IAG7B9uG,GAAUzG,UAAUsU,kBAAoB,SAAS5L,EAAIhH,GACjD,IAAI4zG,EAAgB1uG,KAAK0uG,gBACzB,GAAKA,EAKD7tG,OAAOuM,aAAahL,eALJ,CAChB,IAAI+B,EAAUrJ,EAAEmH,cAChBpB,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAM5N,KAAKyuG,YAAa5gG,QAAQ,GAAS1J,GACvFnE,KAAK0uG,eAAc,KAM3B7uG,GAAUzG,UAAU0U,gBAAkB,WAC9B9N,KAAK0uG,kBACL1uG,KAAK0uG,eAAc,GACnB7tG,OAAOuM,aAAahL,aAIb,QAAEgB,UAAWvD,GAAWwD,SAAUA,M,qCChFjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK6uG,YAAc9uG,EAAO8uG,YAAY90F,UACtC/Z,EAAK8uG,qBAAuB/uG,EAAO8uG,YAAY31F,YAE/C,IAAI61F,EAA8BrH,KAAOjpG,IAAI,wBACxCswG,IACDrH,KAAOrzF,IAAI,uBAAwB,UAAW,CAAEszF,QAAS,OACzDoH,EAA8B,WAGlC,IAAIC,EAA8BtH,KAAOjpG,IAAI,wBACxCuwG,IACDtH,KAAOrzF,IAAI,uBAAwB,MAAO,CAAEszF,QAAS,OACrDqH,EAA8B,OAGlChvG,EAAKivG,qBAAuB5uG,IAAGC,WAAWyuG,GAC1C/uG,EAAKkvG,qBAAuB7uG,IAAGC,WAAW0uG,GAE1ChvG,EAAKmvG,kBAAoB9uG,IAAGc,cAAa,WACrC,IAAI0tG,EAAc7uG,EAAK6uG,cACnBI,EAAuBjvG,EAAKivG,uBAC5BC,EAAuBlvG,EAAKkvG,uBAE5Bt+D,EAAS/tC,aAAEof,OAAO4sF,GAAa,SAAU5wD,GACzC,IAAIp/C,EAAQmB,EAAKovG,oBAAoBnxD,EAASgxD,GAO9C,OAJqB,kBAAVpwG,GAAsBA,aAAiB2wD,UAC9C3wD,EAAQA,EAAMk2B,eAGXl2B,KAEX,MAAgC,QAAzBqwG,EAAiCt+D,EAASA,EAAOllC,aAIhE5L,GAAUzG,UAAU+1G,oBAAsB,SAASnxD,EAASgqD,GACxD,OAAQA,GACJ,IAAK,UACD,OAAOhqD,EAAQngD,KACnB,IAAK,UACD,OAAOmgD,EAAQoxD,YACnB,IAAK,UACD,OAAOpxD,EAAQ19B,YACnB,IAAK,eACD,OAAO09B,EAAQqxD,mBACnB,QACI,KAAM,8BAAgCrH,IAIlDnoG,GAAUzG,UAAUivG,sBAAwB,SAAUC,GAClD,OAAIA,IAActoG,KAAKgvG,uBACZ,WAE4B,QAAhChvG,KAAKivG,uBAAmC,qBAAuB,wBAG1EpvG,GAAUzG,UAAU4oB,OAAS,SAAUgmF,GACnC,IAAIgH,EAAuBhvG,KAAKgvG,uBAC5BA,IAAyBhH,GACzBhoG,KAAKgvG,qBAAqBhH,GAC1BP,KAAOrzF,IAAI,uBAAwB4zF,EAAe,CAAEN,QAAS,QAE7D1nG,KAAKuoG,uBAIb1oG,GAAUzG,UAAUmvG,oBAAsB,WACtC,IAAI+G,EAA0D,QAAhCtvG,KAAKivG,uBAAmC,OAAS,MAC/EjvG,KAAKivG,qBAAqBK,GAC1B7H,KAAOrzF,IAAI,uBAAwBk7F,EAAyB,CAAE5H,QAAS,QAG3E7nG,GAAUzG,UAAUm2G,iBAAmB,SAASvxD,GAC5Cn9C,OAAOonD,YAAY7lD,SAAS47C,IAGhCn+C,GAAUzG,UAAUo2G,mBAAqB,SAASxxD,GAC9Cn9C,OAAOqnD,cAAc9lD,SAAS47C,IAGlCn+C,GAAUzG,UAAUq2G,iBAAmB,SAASzxD,GAC5Cn9C,OAAOknD,YAAY3lD,SAAS47C,IAGhCn+C,GAAUzG,UAAUs2G,mBAAqB,SAAS1xD,GAC9Cn9C,OAAOmnD,cAAc5lD,SAAS47C,IAGlCn+C,GAAUzG,UAAUu2G,gBAAkB,WAClC9uG,OAAOinD,WAAW1lD,YAGP,QAAEgB,UAAWvD,GAAWwD,SAAUA,M,wBCpGjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKi+C,QAAUl+C,EAAOk+C,QAGX,QAAE56C,UAAWvD,GAAWwD,SAAUA,M,wBCLjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAKi+C,QAAUl+C,EAAOk+C,QACtBj+C,EAAKxC,MAAQuC,EAAOvC,MAEpBwC,EAAK6vG,yBAA2BxvG,IAAGwK,gBAAgB,CAAC,SAAU,YAAa,eAGhE,QAAExH,UAAWvD,GAAWwD,SAAUA,M,kDCXjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK0oC,aAAe3oC,EAAO2oC,aAAa3uB,UACxC/Z,EAAKkZ,UAAYnZ,EAAO2oC,aAAaxvB,UACrClZ,EAAKxC,MAAQuC,EAAO2oC,aAAalrC,MAGrCsC,GAAUzG,UAAUy2G,qBAAuB,SAAUjnE,GACjD/nC,OAAO+oC,sBAAsBxnC,SAASwmC,IAG1C/oC,GAAUzG,UAAU02G,uBAAyB,SAAUlnE,GACnD/nC,OAAO6oC,wBAAwBtnC,SAASwmC,IAG5C/oC,GAAUzG,UAAU22G,oBAAsB,WACtClvG,OAAO0oC,qBAAqBnnC,YAGhCvC,GAAUzG,UAAU42G,uBAAyB,SAAUpnE,GACnD/nC,OAAOipC,wBAAwB1nC,SAASwmC,IAG7B,QAAExlC,UAAWvD,GAAWwD,SAAUA,M,kDCpBjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAEXD,EAAK6oC,YAAc9oC,EAAO8oC,YAE1B7oC,EAAKuiD,iBAAmBliD,IAAGC,YAAW,GACtCN,EAAKkwG,eAAiB7vG,IAAGC,YAAW,GACpCN,EAAKxC,MAAQ6C,IAAGC,aAChBN,EAAKmwG,gBAAkB9vG,IAAGC,YAAW,GAErCN,EAAK0e,QAAUre,IAAGC,aAClBN,EAAKmX,MAAQ9W,IAAGC,aAEhBN,EAAKuuB,aAELvuB,EAAKowG,qBAAuB/vG,IAAGc,cAAa,WACxC,OAAO0B,aAAEof,OAAOjiB,EAAK6oC,YAAYnqB,UAAW,WAGhD1e,EAAKqwG,iBAAmBhwG,IAAGc,cAAa,WACpC,IAAIivG,EAAuBpwG,EAAKowG,uBAC5BC,EAAmBxtG,aAAEkM,OAAO/O,EAAK0e,WAAW,SAAUG,GACtD,OAAQhc,aAAEN,KAAK6tG,GAAsB,SAASl2B,GACtC,OAAOA,EAAE/yE,KAAO0X,EAAO1X,SAGnC,OAAOtE,aAAEof,OAAOouF,EAAkB,WAGtCrwG,EAAKswG,mBAAqBjwG,IAAGc,cAAa,WACtC,OAAO0B,aAAEof,OAAOjiB,EAAK6oC,YAAY1xB,QAAS,WAG9CnX,EAAKuwG,eAAiBlwG,IAAGc,cAAa,WAClC,IAAImvG,EAAqBtwG,EAAKswG,qBAC1BC,EAAiB1tG,aAAEkM,OAAO/O,EAAKmX,SAAS,SAAU2B,GAClD,OAAQjW,aAAEN,KAAK+tG,GAAoB,SAAU/qC,GACrC,OAAOA,EAAEp+D,KAAO2R,EAAK3R,SAIjC,OAAOtE,aAAEof,OAAOsuF,EAAgB,WAIxCzwG,GAAUzG,UAAUk1B,WAAa,WAC7B,IAAIvuB,EAAOC,KAEXD,EAAKxC,WAAMO,GACXiC,EAAKmwG,iBAAgB,GACrBnwG,EAAKuiD,kBAAiB,GACtBviD,EAAKkwG,gBAAe,GAEpBlwG,EAAKskD,cACLtkD,EAAKwwG,aAGT1wG,GAAUzG,UAAUirD,YAAc,WAC9B,IAAItkD,EAAOC,KACXD,EAAKuiD,kBAAiB,GACtB74B,QAAcoF,aACT1rB,MAAK,SAASzK,GACXqH,EAAK0e,QAAQ/lB,MACduiB,MAAK,SAAS1d,GACbwC,EAAKmwG,iBAAgB,GACrBnwG,EAAKsb,YAAY,4CAA6C9d,MAEjE0R,QAAO,WACJlP,EAAKuiD,kBAAiB,OAIlCziD,GAAUzG,UAAUm3G,UAAY,WAC5B,IAAIxwG,EAAOC,KACXD,EAAKkwG,gBAAe,GACpBnzD,QAAY/tC,SACP5L,MAAK,SAASzK,GACXqH,EAAKmX,MAAMxe,MAEduiB,MAAK,SAAS1d,GACXwC,EAAKmwG,iBAAgB,GACrBnwG,EAAKsb,YAAY,0CAA2C9d,MAE/D0R,QAAO,WACJlP,EAAKkwG,gBAAe,OAIhCpwG,GAAUzG,UAAUghB,WAAa,WAC7Bpa,KAAKzC,WAAMO,IAGf+B,GAAUzG,UAAUiiB,YAAc,SAASzd,EAASL,GAChDyC,KAAKzC,MAAMK,GACX4B,QAAQjC,MAAMA,IAGlBsC,GAAUzG,UAAUo3G,iBAAmB,WACnCxwG,KAAKkwG,iBAAgB,IAGzBrwG,GAAUzG,UAAUq3G,UAAY,SAAS7xF,GACrC,IAAI7e,EAAOC,KACXD,EAAKqa,aACLmW,QAAuBmgF,oBAAoB3wG,EAAK6oC,YAAYF,oBAAqB9pB,GAC5Ezb,MAAK,SAAUzK,GAEZqH,EAAK6oC,YAAYnqB,QAAQjlB,KAAKolB,MAC/B3D,MAAK,SAAS1d,GACbwC,EAAKsb,YAAY,wBAAyB9d,OAItDsC,GAAUzG,UAAUu3G,aAAe,SAAS/xF,GACxC,IAAI7e,EAAOC,KACXD,EAAKqa,aACLmW,QAAuBqgF,yBAAyB7wG,EAAK6oC,YAAYF,oBAAqB9pB,GACjFzb,MAAK,SAAUzK,GAEZqH,EAAK6oC,YAAYnqB,QAAQ1a,QAAO,SAAU/K,GACtC,OAAOA,EAAEkO,KAAO0X,EAAO1X,SAE5B+T,MAAK,SAAS1d,GACbwC,EAAKsb,YAAY,2BAA4B9d,OAIzDsC,GAAUzG,UAAUy3G,QAAU,SAASh4F,GACnC,IAAI9Y,EAAOC,KACXD,EAAKqa,aACLmW,QAAuBugF,kBAAkB/wG,EAAK6oC,YAAYF,oBAAqB7vB,GAC1E1V,MAAK,SAASzK,GAEXqH,EAAK6oC,YAAY1xB,MAAM1d,KAAKqf,MAC7BoC,MAAK,SAAS1d,GACbwC,EAAKsb,YAAY,sBAAuB9d,OAIpDsC,GAAUzG,UAAUkiB,WAAa,SAASzC,GACtC,IAAI9Y,EAAOC,KACXD,EAAKqa,aACLmW,QAAuBwgF,uBAAuBhxG,EAAK6oC,YAAYF,oBAAqB7vB,GAC/E1V,MAAK,SAASzK,GAEXqH,EAAK6oC,YAAY1xB,MAAMnT,QAAO,SAAU/K,GACpC,OAAOA,EAAEkO,KAAO2R,EAAK3R,SAG5B+T,MAAK,SAAS1d,GACXwC,EAAKsb,YAAY,yBAA0B9d,OAIxC,QAAE6F,UAAWvD,GAAWwD,SAAUA,M,wBC/JjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAK6oC,YAAc9oC,EAAO8oC,YAGf,QAAExlC,UAAWvD,GAAWwD,SAAUA,M,qCCLjD,SAAS2tG,GAAmBpyG,EAAOqyG,GAC/B,IAAIC,EAAkBC,GAAmBvyG,EAAOqyG,GAChD,OAAOC,EAAgBE,QAAU,IAAMF,EAAgBz9C,QAAU,IAAMy9C,EAAgBG,UAG3F,SAASF,GAAmBvyG,EAAOqyG,GAC/B,IAAIK,EAA6B,aAAhBL,EACbM,EAAkBD,GAAc,IAAM,IACtCE,EAAkBF,EAAa,GAAK,KAEpC1yG,EAAQ2yG,GAAmB3yG,EAAQ4yG,KACnC5yG,EAAQ,GAGZ,IAAI6yG,EAAgBx9E,KAAKsqC,IAAI3/D,GACzBwyG,EAAUn9E,KAAKC,MAAMu9E,GACrBC,EAAiBD,EAAgBL,EACjC39C,EAA2B,GAAjBi+C,EAEVC,EAAwBL,EAAa,IAAM,IAC3CM,EAAwBN,EAAa,IAAM,IAE3CD,EAAYzyG,GAAS,EAAI+yG,EAAwBC,EAErD,MAAO,CACHhzG,MAAOA,EACPwyG,QAASA,EACT39C,QAASo+C,QAAap9D,MAAMgf,EAAS,GACrC49C,UAAWA,GAIJ,QACXL,mBAAoB,SAAUpyG,EAAOqyG,GACjC,OAAOD,GAAmBpyG,EAAOqyG,IAErCE,mBAAoB,SAAUvyG,EAAOqyG,GACjC,OAAOE,GAAmBvyG,EAAOqyG,KCjCzC,SAASpxG,GAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKqxC,SAAWhxC,IAAG6gD,MAAMC,iBAAiBphD,EAAOsxC,UACjDrxC,EAAK+xG,aAAeC,GAAef,mBAAmBjxG,EAAKqxC,SAAS4gE,cAAchvF,SAAU,YAC5FjjB,EAAKkyG,cAAgBF,GAAef,mBAAmBjxG,EAAKqxC,SAAS4gE,cAAc/uF,UAAW,aAC9FljB,EAAKmyG,cAAgB3xG,OAAW6nB,0BAA0BroB,EAAKqxC,SAAS3wC,WAG7D,QAAE2C,UAAWvD,GAAWwD,SAAUA,M,yBCTjD,SAASxD,GAAUC,GACf,IAAIC,EAAOC,KAYX,GAXAD,EAAKoyG,qBAAuB/xG,IAAGC,aAC/BN,EAAKqyG,qBAAuBhyG,IAAGC,aAC/BN,EAAKsyG,uBAAyBjyG,IAAGC,aACjCN,EAAKuyG,sBAAwBlyG,IAAGC,aAChCN,EAAKwyG,sBAAwBnyG,IAAGC,aAChCN,EAAKyyG,wBAA0BpyG,IAAGC,aAClCN,EAAKiyG,cAAgBlyG,EAAOkyG,cAC5BjyG,EAAK0yG,gBAAkBryG,IAAG6gD,MAAMC,iBAAiBphD,EAAO2yG,iBAExD1yG,EAAK2yG,iBAAmBtyG,IAAGqX,WAAWe,MAAM,CAACzY,GAAO,CAAEiqE,MAAM,IAExDjqE,EAAK0yG,gBAAiB,CACtB,IAAIE,EAAgBZ,GAAeZ,mBAAmBpxG,EAAK0yG,gBAAgBT,cAAchvF,SAAU,YAC/F4vF,EAAiBb,GAAeZ,mBAAmBpxG,EAAK0yG,gBAAgBT,cAAc/uF,UAAW,aAErGljB,EAAKoyG,qBAAqBQ,EAAcvB,SACxCrxG,EAAKqyG,qBAAqBP,QAAap9D,MAAMk+D,EAAcl/C,QAAS,IACpE1zD,EAAKsyG,uBAAuBM,EAActB,WAC1CtxG,EAAKuyG,sBAAsBM,EAAexB,SAC1CrxG,EAAKwyG,sBAAsBV,QAAap9D,MAAMm+D,EAAen/C,QAAS,IACtE1zD,EAAKyyG,wBAAwBI,EAAevB,WAGhDtxG,EAAK8yG,qBAAuBzyG,IAAGsY,UAAS,WACpC,IAAIg6F,EAAmB3yG,EAAK2yG,mBAC5B,GAAIA,EAAiBx5G,OAAS,EAC1B6G,EAAKiyG,cAAc,UADvB,CAKA,IAAIG,EAAuBpyG,EAAKoyG,uBAC5BC,EAAuBryG,EAAKqyG,uBAC5BC,EAAyBtyG,EAAKsyG,yBAC9BC,EAAwBvyG,EAAKuyG,wBAC7BC,EAAwBxyG,EAAKwyG,wBAC7BC,EAA0BzyG,EAAKyyG,0BAE/BM,EAAgD,MAA3BT,GAAkC,EAAI,EAC3DU,EAAkD,MAA5BP,GAAmC,EAAI,EAC7DxvF,GAAYxN,SAAS28F,GAAwBzjF,WAAW0jF,GAAwB,IAAMU,EACtF7vF,GAAazN,SAAS88F,GAAyB5jF,WAAW6jF,GAAyB,IAAMQ,EAEzFf,EAAgB,CAChBhvF,SAAUA,EACVC,UAAWA,GAEfljB,EAAKiyG,cAAcA,OAIZ,QAAE5uG,UAAWvD,GAAWwD,SAAUA,M,8DCtDjD,SAASxD,KACL,IAAIE,EAAOC,KACXD,EAAKizG,SAAW5yG,IAAGC,YAAW,GAC9BtC,YAAW,WACPgC,EAAKizG,UAAS,KACf,GAGQ,QAAE5vG,UAAWvD,GAAWwD,SAAUA,M,wBCRjD,SAASxD,KACL,IAAIE,EAAOC,KACXD,EAAKizG,SAAW5yG,IAAGC,YAAW,GAC9BtC,YAAW,WACPgC,EAAKizG,UAAS,KACf,GAGQ,QAAE5vG,UAAWvD,GAAWwD,SAAUA,MCRjDjD,IAAG4D,gBAAgBivG,YAAc,CAC7B/uG,KAAM,SAAUC,EAASC,GACrB,IAAIxF,EAAQwF,IACR8uG,EAAY9yG,IAAG+oD,OAAOvqD,EAAMs0G,WAChCA,EAAYlxG,IAAEmC,GAASyjC,OAAS5lC,IAAEmC,GAASgvG,QAE/CjwG,OAAQ,SAAUiB,EAASC,GACvB,IAAIxF,EAAQwF,IACR8uG,EAAY9yG,IAAG+oD,OAAOvqD,EAAMs0G,WAC5Bt0G,EAAMw0G,WACNx0G,EAAMw0G,WAAU,GAGpB,IAAIv3C,EAAWz7D,IAAG+oD,OAAOvqD,EAAMi9D,WAAa,IACxCw3C,EAAW,WACPz0G,EAAMw0G,WACNx0G,EAAMw0G,WAAU,GAEhBx0G,EAAM00G,eACN10G,EAAM00G,cAAch6G,KAAKsF,EAAM20G,kBAInC30G,EAAM40G,YACN50G,EAAM40G,WAAWl6G,KAAKsF,EAAM20G,iBAEhCL,EAAYlxG,IAAEmC,GAASsvG,UAAU53C,EAAUw3C,GAAYrxG,IAAEmC,GAASuvG,QAAQ73C,EAAUw3C,KC1B5FjzG,IAAG4D,gBAAgBi3D,WAAa,CAC5B/3D,OAAQ,SAAUiB,EAASC,GACvB,IAAIuwC,EAAUv0C,IAAG6gD,MAAMC,iBAAiB98C,KACpCtB,EAAO1C,IAAG6gD,MAAMC,iBAAiBvM,EAAQ7xC,MACzC4F,EAAStI,IAAG6gD,MAAMC,iBAAiBvM,EAAQjsC,SAAWtI,IAAG4D,gBAAgBi3D,WAAW04C,cACpFpyE,EAAgBz+B,EAAOvB,IAAOC,IAAIsB,GAAM4F,OAAOA,GAAU,GAE7DtI,IAAG4D,gBAAgB4J,KAAK1K,OAAOiB,GAAS,WAAc,OAAOo9B,MAEjEoyE,cAAe,iBCTnBvzG,IAAG4D,gBAAgB4vG,WAAa,CAC5B1vG,KAAM,SAAUC,EAASC,EAAeC,GACpC,IAAIzF,EAAQwF,IACRuwC,EAAUv0C,IAAG6gD,MAAMC,iBAAiBtiD,EAAM+1C,SAC1C+mC,EAAQ,IAAIk4B,KAAWC,MAAM1vG,EAASwwC,GAC1Ci/D,KAAWE,IAAIC,kBAAkBv6G,KAAK,cACtCo6G,KAAWE,IAAIE,kBAAkBx6G,KAAK,SACtCoF,EAAM88E,MAAMA,GAEZ,IAAI35B,EAAsBnjD,EAAM+1C,QAAQrzB,WAAU,SAAUi0C,GACxDmmB,EAAQ,IAAIk4B,KAAWC,MAAM1vG,EAASoxD,GACtC32D,EAAM88E,MAAMA,MAGhBt7E,IAAG6gD,MAAMgB,gBAAgBC,mBAAmB/9C,GAAS,WACjD49C,EAAoBpgD,cAG5BuB,OAAQ,SAAUiB,EAASC,EAAeC,MClB9CjE,IAAG4D,gBAAgBiwG,aAAe,CAChC/wG,OAAQ,SAAUiB,EAASC,GACzB,IAAIuwC,EAAUv0C,IAAG6gD,MAAMC,iBAAiB98C,KACpCxF,EAAQwB,IAAG6gD,MAAMC,iBAAiBvM,EAAQ/1C,OAC1CgkB,EAAYxiB,IAAG6gD,MAAMC,iBAAiBvM,EAAQ/xB,WAClDA,EAAYhgB,aAAE2zD,SAAS3zC,GAAaA,EAAYxiB,IAAG4D,gBAAgBiwG,aAAaC,iBAChF,IAAIC,EAAiBvxG,aAAE2zD,SAAS33D,GAASA,EAAMskB,QAAQN,GAAa,GAEpExiB,IAAG4D,gBAAgB4J,KAAK1K,OAAOiB,GAAS,WAAc,OAAOgwG,MAE/DD,iBAAkB,GAGpB9zG,IAAG4D,gBAAgBowG,iBAAmB,CACpClwG,KAAM,SAAUC,EAASC,GACvB,IAAI/D,EAAa+D,IACjBhE,IAAG6gD,MAAMozD,qBAAqBlwG,EAAS,UAAU,WAC/C,IAAIvF,EAAQuF,EAAQvF,MAEpByB,EAAqB,KAAVzB,OAAed,EAAYq4E,MAAMvsD,OAAOhrB,IAAUA,EAAQgrB,OAAOhrB,QAGhFsE,OAAQ,SAAUiB,EAASC,GACzB,IAAIxF,EAAQwB,IAAG6gD,MAAMC,iBAAiB98C,KAEtCD,EAAQvF,WAAkBd,IAAVc,GAAiC,OAAVA,EAAiB,GAAK2wD,OAAO3wD,K,UCvBxE,SAAS01G,GAAyBC,EAAQj1G,EAAUk1G,GAC5CA,EACAD,EAAOngG,IAAI9U,EAAUiB,OAAWm8D,kBAAkB83C,IAElDD,EAAOngG,IAAI9U,EAAU,MAI7Bc,IAAG4D,gBAAgBywG,WAAa,CAC5BvwG,KAAM,SAAUC,EAASC,EAAeC,GACpC,IAAI0/F,EAAe1/F,EAAoB7F,IAAI,SAE3CwD,IAAEmC,GAASuwG,UAAU,CACjBhsG,OAAQ,gBACRisG,aAAc,aACdC,aAAa,EACbC,cAAc,EACdC,SAAU,EACVC,aAAc,QACdC,MAAO,WACCjR,GACAA,EAAa5/F,EAAQvF,QAG7Bq2G,QAAS,WACLjzG,IAAEmC,GAAS+wG,UAInB,IAAIX,EAASvyG,IAAEmC,GAASuwG,UAAU,UAE9BpgD,EAAUlwD,IAAgBkwD,QAC1B6gD,EAAiB,KACrB,GAAI7gD,EAAS,CACT,IAAI8gD,EAAe9gD,IACnBggD,GAAyBC,EAAQ,MAAOa,GAExCD,EAAiB7gD,EAAQhzC,WAAU,SAAS+zF,GAGxC,GAFAf,GAAyBC,EAAQ,MAAOc,GAEpCA,EAAY,CACZ,IAAIC,EAAmB/0G,OAAWioB,QAAQ6sF,GACtCE,EAAoBh1G,OAAWioB,QAAQu7E,KACvCwR,EAAoBD,GACpBvR,EAAaxjG,OAAWC,sBAAsB80G,QAM9D,IAAI9gD,EAAUpwD,IAAgBowD,QAC1BghD,EAAiB,KACrB,GAAIhhD,EAAS,CACT,IAAIihD,EAAejhD,IACnB8/C,GAAyBC,EAAQ,MAAOkB,GAExCD,EAAiBhhD,EAAQlzC,WAAU,SAASo0F,GAGxC,GAFApB,GAAyBC,EAAQ,MAAOmB,GAEpCA,EAAY,CACZ,IAAIC,EAAmBp1G,OAAWioB,QAAQktF,GACtCH,EAAoBh1G,OAAWioB,QAAQu7E,KACvCwR,EAAoBI,GACpB5R,EAAaxjG,OAAWC,sBAAsBm1G,QAM9Dv1G,IAAG6gD,MAAMgB,gBAAgBC,mBAAmB/9C,GAAS,WAC7CgxG,GAAgBA,EAAexzG,UAC/B6zG,GAAgBA,EAAe7zG,cAG3CuB,OAAQ,SAAUiB,EAASC,EAAeC,GACtC,IAAIkwG,EAASvyG,IAAEmC,GAASuwG,UAAU,UAC9B3Q,EAAe1/F,EAAoB7F,IAAI,SAIvCI,EAAQmlG,IACPnlG,GAEL21G,EAAOngG,IAAI,SAAS2vF,IAAgB,CAChCr7F,OAAQ,gBACRisG,aAAc,aACdC,aAAa,EACbC,cAAc,EACdC,SAAU,EACVC,aAAc,YC3F1B30G,IAAG4D,gBAAgB4xG,UAAY,CAC3B1xG,KAAM,SAASC,EAASC,KAExBlB,OAAQ,SAAUiB,EAASC,GACvB,IAAIyxG,EAAM7zG,IAAEmC,GACRvF,EAAQwB,IAAG6gD,MAAMC,iBAAiB98C,KAEtC,GAAIxF,EAAO,CACP,IAAIk3G,EAAkBv6G,SAAS63E,eAAex0E,GAC9CoD,IAAE,cAAc+zG,QAAQ,CACpBH,UAAW5zG,IAAE8zG,GAAiBE,SAAS5rD,KACxC,UAEHyrD,EAAID,UAAU,K,UCuB1B,SAASK,GAAcC,EAAKhoG,EAAME,GAC9B,OAAKggB,SAASlgB,EAAOE,GASV8nG,EAAM9nG,EAAQF,EAAOA,EAAOE,GARnCF,EAAOA,EAAKhG,cACZkG,EAAQA,EAAMlG,cACVguG,EACOhoG,EAAOE,GAAS,EAAI,EAEpBF,EAAOE,GAAS,EAAI,GAOvC,SAAS+nG,GAAgBhyG,EAAS+xG,GAC9B,IAAIE,EAAY76G,SAAS86G,iBAAiB,aACtCC,EAAe1zG,aAAEsD,QAAQkwG,EAAU,GAAGhrD,SAAUjnD,GAEpDvB,aAAEe,KAAKyyG,GAAW,SAAUG,EAAKr4F,GAC7B,IAAIs4F,EAAQD,EAAInrD,SAASkrD,GACX,IAAVp4F,EACAs4F,EAAMzvG,UAAkByvG,EAAMzvG,UAAZmvG,EAAwB,uBAA2C,qBAErFM,EAAMzvG,WAAa,UAEvB0vG,GAAkBF,EAAKD,MAI/B,SAASG,GAAkBF,EAAKG,GAC5B9zG,aAAEe,KAAK4yG,EAAInrD,UAAU,SAAUorD,EAAOt4F,GAC9BA,GAASw4F,GACe,aAApBF,EAAMzvG,WAAgD,KAApByvG,EAAMzvG,YACxCyvG,EAAMzvG,UAAY,eApElC3G,IAAG4D,gBAAgB2yG,iBAAmB,CAClCzyG,KAAM,SAAUC,EAASC,EAAeC,EAAqBjB,GACzD,IAAI8yG,GAAM,EACNU,EAAiBr7G,SAAS86G,iBAAiB,aAAa,GAC5DjyG,IAAgBy3C,QAAQ9tC,MAAK,SAAUC,EAAGC,GAAK,OAAOD,EAAE9G,KAAO+G,EAAE/G,QACjE/C,EAAQkb,QAAU,WACd,IAAIw8B,EAAQz3C,IAAgBy3C,MACxBxtC,EAASjK,IAAgBiK,OAC7B6nG,GAAOA,EAEPr6D,IAAQ9tC,MAAK,SAASC,EAAGC,GACrB,IAAIC,EAAO9N,IAAG6gD,MAAMC,iBAAiBlzC,EAAEK,IACnCD,EAAQhO,IAAG6gD,MAAMC,iBAAiBjzC,EAAEI,IAExC,OAAO4nG,GAAcC,EAAKhoG,EAAME,MAGpC+nG,GAAgBhyG,EAAS+xG,GACzBr1G,OAAO+6C,kBAAkBx5C,SAASy5C,MAGtC,IAAIC,EAAqBj7C,OAAOk7C,cAAch7C,KAAI,WAC9C6B,aAAEe,KAAKizG,EAAexrD,UAAU,SAAU/8C,GAClCA,EAAOtH,UAAUoO,SAAS,qBAC1B9G,EAAOtH,UAAY,kBAK/B3G,IAAG6gD,MAAMgB,gBAAgBC,mBAAmB/9C,GAAS,WACjD23C,EAAmBl6C,cC/B/BxB,IAAG4D,gBAAgBjB,KAAO,CACtBG,OAAQ,SAASiB,EAASC,GACtB,IAAItB,EAAO1C,IAAG6gD,MAAMC,iBAAiB98C,KACjCm9B,EAAgBz+B,EAAOvB,IAAOC,IAAIsB,GAAM4F,OAAO,SAAW,GAE9DtI,IAAG4D,gBAAgB4J,KAAK1K,OAAOiB,GAAS,WAAa,OAAOo9B,OCLpEnhC,IAAG4D,gBAAgB6yG,aAAe,CAC9B3yG,KAAM,SAAUC,EAASC,EAAeC,EAAqBjB,EAAW0zG,GACpE,IAAI5kG,EAAW9N,IACX2yG,EAAYC,KAEZC,EAAej1G,IAAEzG,UAAU4J,GAAG,SAAW4xG,GAAW,SAAU56G,GAC9D,IAAK6F,IAAE7F,EAAME,QAAQ6F,QAAQiC,GAASjL,OAAQ,CAC1C,IAAIg+G,EAAiBC,GAAUtrF,WAE/BzoB,EAAY0zG,EAAe,SAC3BI,EAAeE,QAAQh0G,GACvB8O,EAASrY,MAAMuJ,EAAW8zG,OAIlC92G,IAAG6gD,MAAMgB,gBAAgBC,mBAAmB/9C,GAAS,WACjD8yG,EAAan/C,IAAI,SAAWi/C,OAIpC7zG,OAAQ,SAAUiB,EAASC,EAAeC,MAI9C,IAAI2yG,GAAe,WACf,OAAO/iF,KAAK46B,SAASn6B,SAAS,IAAIzrB,OAAO,EAAG,KAGhD,SAASkuG,GAAUE,GAEf,IADA,IAAIt9G,EAAS,GACJf,EAAI,EAAGkB,EAAIm9G,EAAgBn+G,OAAQF,EAAIkB,EAAGlB,IAC/Ce,EAAOP,KAAK69G,EAAgBr+G,IAEhC,OAAOe,EChCXqG,IAAG4D,gBAAgB4sE,UAAY,CAC3B1sE,KAAM,SAAUC,EAASC,EAAeC,KAExCnB,OAAQ,SAAUiB,EAASC,EAAeC,GACtC,IAAIzF,EAAQwF,IACR4K,EAAM5O,IAAG6gD,MAAMC,iBAAiBtiD,EAAM04G,QACtC33D,EAAUv/C,IAAG6gD,MAAMC,iBAAiBtiD,EAAM+gD,SAC1C+wB,EAAYtwE,IAAG6gD,MAAMC,iBAAiBtiD,EAAM8xE,WAEhD9tE,aAAEe,KAAKg8C,GAAS,SAAUI,GAClBA,GAAQA,EAAOa,MAAM5xC,MAGzB0hE,GACA9tE,aAAEe,KAAK+sE,GACH,SAAS6C,GACLA,EAAS3yB,MAAM5xC,QCjBnC5O,IAAG4D,gBAAgBuzG,WAAa,CAC5BrzG,KAAM,SAAUC,EAASC,EAAeC,GACpC,IAAIK,EAAcN,IAAgBM,YAElC1C,IAAEmC,GAASqzG,QAAO,SAASC,GACvB/yG,GAAY,GACZ1E,KAAK03G,KAAK9uF,cCLtBxoB,IAAG4D,gBAAgBm4D,iBAAmB,CAClCj5D,OAAQ,SAASiB,EAASC,GACtB,IAAIuwC,EAAUv0C,IAAG6gD,MAAMC,iBAAiB98C,KACpC+jB,EAAO5mB,IAAOC,IAAImzC,EAAQxsB,MAC1BE,EAAKssB,EAAQtsB,GAAK9mB,IAAOC,IAAImzC,EAAQtsB,IAAM9mB,IAAOC,MAElDm2G,EAAoBp2G,IAAOs6D,SAASxzC,EAAGC,KAAKH,IAAOi0C,WACvDh8D,IAAG4D,gBAAgB4J,KAAK1K,OAAOiB,GAAS,WAAa,OAAOwzG,OCTpEv3G,IAAG4D,gBAAgB4zG,mBAAqB,CACpC10G,OAAQ,SAASiB,EAASC,GACtB,IAAIxF,EAAQwB,IAAG6gD,MAAMC,iBAAiB98C,KACtChE,IAAG4D,gBAAgBs7E,KAAKp8E,OAAOiB,GAAS,WAAa,OAAOvF,EAAMwH,QAAQ,kBAAmB,c,UCFrGhG,IAAG4D,gBAAgB6zG,kBAAoB,CACnC30G,OAAQ,SAASiB,EAASC,GACtB,IAAI0zG,EAAuB1zG,IACvB7G,EAAQu6G,EAAqBv6G,QAC7BA,GAASu6G,EAAqBC,aAC9Bl3G,OAAO8M,YAAYvL,SAAS,eAAgB,CAAEwL,KAAMrQ,EAAOm5E,eAAgB,4BAA8BvyE,GAEzGtD,OAAOuM,aAAahL,aCPhChC,IAAG4D,gBAAgBg0G,eAAiB,CAChC90G,OAAQ,SAAUiB,EAASC,GACvB,IAAIuwC,EAAUv0C,IAAG6gD,MAAMC,iBAAiB98C,KACpC6zG,EAAW73G,IAAG6gD,MAAMC,iBAAiBvM,EAAQsjE,UAC7CvvG,EAAStI,IAAG6gD,MAAMC,iBAAiBvM,EAAQjsC,SAAWtI,IAAG4D,gBAAgBg0G,eAAerE,cACxFuE,EAAoBD,EAAW12G,IAAOC,IAAIy2G,GAAUvvG,OAAOA,GAAU,GAEzEtI,IAAG4D,gBAAgB4J,KAAK1K,OAAOiB,GAAS,WAAc,OAAO+zG,MAEjEvE,cAAe,uBCRnBvzG,IAAG4D,gBAAgBm0G,mBAAqB,CACpCj1G,OAAQ,SAAUiB,EAASC,GACvB,IAAIxF,EAAQwB,IAAG6gD,MAAMC,iBAAiB98C,IAAgBg0G,cAEtD,GAAKx5G,EAAL,CAGA,IAAIy5G,EAAYr2G,IAAEmC,GAAS7B,KAAK,WAChC+1G,EAAUC,WAAY,YCX9Bl4G,IAAG4D,gBAAgBu0G,SAAW,CAC1Br0G,KAAM,SAASC,GACXA,EAAQ+C,GAAK9G,IAAG4D,gBAAgBu0G,SAASC,UAAYp4G,IAAG4D,gBAAgBu0G,SAASE,SAErFA,QAAS,EACTD,OAAQ,SCLZp4G,IAAG4D,gBAAgB00G,UAAY,CAC3Bx0G,KAAM,SAASC,EAASC,GACpB,IAAIu0G,EAAQv4G,IAAG4D,gBAAgBu0G,SAASE,SAA0D,UAA/Cr4G,IAAG6gD,MAAMC,iBAAiB98C,KAA+B,EAAI,GAC9GD,EAAQ7G,aAAa,MAAO8C,IAAG4D,gBAAgBu0G,SAASC,OAASG,KCiH3Ev4G,IAAG8V,WAAW0iG,SAAS,eAAgBC,SACvCz4G,IAAG8V,WAAW0iG,SAAS,cAAeE,SACtC14G,IAAG8V,WAAW0iG,SAAS,eAAgBG,IACvC34G,IAAG8V,WAAW0iG,SAAS,cAAeI,IAMtC54G,IAAG8V,WAAW0iG,SAAS,WAAY1yE,SACnC9lC,IAAG8V,WAAW0iG,SAAS,iBAAkBK,IACzC74G,IAAG8V,WAAW0iG,SAAS,sBAAuBM,IAC9C94G,IAAG8V,WAAW0iG,SAAS,gBAAiB9R,SACxC1mG,IAAG8V,WAAW0iG,SAAS,oBAAqBO,SAC5C/4G,IAAG8V,WAAW0iG,SAAS,wBAAyBQ,IAChDh5G,IAAG8V,WAAW0iG,SAAS,iBAAkBS,IACzCj5G,IAAG8V,WAAW0iG,SAAS,gBAAiBU,IACxCl5G,IAAG8V,WAAW0iG,SAAS,cAAe59D,IACtC56C,IAAG8V,WAAW0iG,SAAS,qBAAsBW,IAC7Cn5G,IAAG8V,WAAW0iG,SAAS,eAAgBY,IACvCp5G,IAAG8V,WAAW0iG,SAAS,eAAgBa,SACvCr5G,IAAG8V,WAAW0iG,SAAS,eAAgBc,IACvCt5G,IAAG8V,WAAW0iG,SAAS,eAAgBe,SACvCv5G,IAAG8V,WAAW0iG,SAAS,YAAahgE,IACpCx4C,IAAG8V,WAAW0iG,SAAS,aAAc1Y,IACrC9/F,IAAG8V,WAAW0iG,SAAS,YAAalgE,IACpCt4C,IAAG8V,WAAW0iG,SAAS,aAAcppB,IACrCpvF,IAAG8V,WAAW0iG,SAAS,aAAcpgE,IACrCp4C,IAAG8V,WAAW0iG,SAAS,cAAere,IACtCn6F,IAAG8V,WAAW0iG,SAAS,mBAAoBgB,IAC3Cx5G,IAAG8V,WAAW0iG,SAAS,2BAA4BiB,IACnDz5G,IAAG8V,WAAW0iG,SAAS,kBAAmBkB,IAC1C15G,IAAG8V,WAAW0iG,SAAS,eAAgB1oF,IACvC9vB,IAAG8V,WAAW0iG,SAAS,eAAgBmB,IACvC35G,IAAG8V,WAAW0iG,SAAS,gBAAiBoB,IACxC55G,IAAG8V,WAAW0iG,SAAS,sBAAuBqB,SAC9C75G,IAAG8V,WAAW0iG,SAAS,6BAA8BsB,IACrD95G,IAAG8V,WAAW0iG,SAAS,uBAAwBuB,IAC/C/5G,IAAG8V,WAAW0iG,SAAS,wBAAyBwB,IAChDh6G,IAAG8V,WAAW0iG,SAAS,cAAeyB,IACtCj6G,IAAG8V,WAAW0iG,SAAS,eAAgB0B,IACvCl6G,IAAG8V,WAAW0iG,SAAS,eAAgB2B,IACvCn6G,IAAG8V,WAAW0iG,SAAS,gBAAiB4B,IACxCp6G,IAAG8V,WAAW0iG,SAAS,sBAAuB6B,IAC9Cr6G,IAAG8V,WAAW0iG,SAAS,uBAAwB8B,IAC/Ct6G,IAAG8V,WAAW0iG,SAAS,uBAAwB+B,IAC/Cv6G,IAAG8V,WAAW0iG,SAAS,+BAAgCgC,IACvDx6G,IAAG8V,WAAW0iG,SAAS,+BAAgCiC,SACvDz6G,IAAG8V,WAAW0iG,SAAS,6BAA8BkC,IACrD16G,IAAG8V,WAAW0iG,SAAS,2BAA4BmC,SACnD36G,IAAG8V,WAAW0iG,SAAS,6BAA8BoC,SACrD56G,IAAG8V,WAAW0iG,SAAS,gCAAiCqC,SACxD76G,IAAG8V,WAAW0iG,SAAS,sBAAuB34G,IAC9CG,IAAG8V,WAAW0iG,SAAS,gCAAiCsC,IACxD96G,IAAG8V,WAAW0iG,SAAS,2BAA4BuC,IACnD/6G,IAAG8V,WAAW0iG,SAAS,eAAgBwC,IACvCh7G,IAAG8V,WAAW0iG,SAAS,SAAUzwE,IACjC/nC,IAAG8V,WAAW0iG,SAAS,gBAAiByC,IACxCj7G,IAAG8V,WAAW0iG,SAAS,sBAAuB0C,IAC9Cl7G,IAAG8V,WAAW0iG,SAAS,iBAAkB2C,IACzCn7G,IAAG8V,WAAW0iG,SAAS,gBAAiB4C,IACxCp7G,IAAG8V,WAAW0iG,SAAS,2BAA4B6C,IACnDr7G,IAAG8V,WAAW0iG,SAAS,kBAAmB8C,SAC1Ct7G,IAAG8V,WAAW0iG,SAAS,WAAY+C,IACnCv7G,IAAG8V,WAAW0iG,SAAS,kBAAmBgD,IAC1Cx7G,IAAG8V,WAAW0iG,SAAS,4BAA6BiD,IACpDz7G,IAAG8V,WAAW0iG,SAAS,iCAAkCkD,IACzD17G,IAAG8V,WAAW0iG,SAAS,kCAAmCmD,IAC1D37G,IAAG8V,WAAW0iG,SAAS,0BAA2BoD,IAClD57G,IAAG8V,WAAW0iG,SAAS,oBAAqBqD,IAC5C77G,IAAG8V,WAAW0iG,SAAS,eAAgB14G,IACvCE,IAAG8V,WAAW0iG,SAAS,oBAAqBsD,IAC5C97G,IAAG8V,WAAW0iG,SAAS,iBAAkBuD,IACzC/7G,IAAG8V,WAAW0iG,SAAS,sBAAuBwD,IAC9Ch8G,IAAG8V,WAAW0iG,SAAS,6BAA8ByD,IACrDj8G,IAAG8V,WAAW0iG,SAAS,sCAAuC0D,IAC9Dl8G,IAAG8V,WAAW0iG,SAAS,UAAW1pC,GAClC9uE,IAAG8V,WAAW0iG,SAAS,eAAgBnK,IACvCruG,IAAG8V,WAAW0iG,SAAS,yBAA0B2D,SACjDn8G,IAAG8V,WAAW0iG,SAAS,kCAAmC4D,IAC1Dp8G,IAAG8V,WAAW0iG,SAAS,2BAA4B6D,IACnDr8G,IAAG8V,WAAW0iG,SAAS,6BAA8B8D,IACrDt8G,IAAG8V,WAAW0iG,SAAS,mBAAoB+D,IAC3Cv8G,IAAG8V,WAAW0iG,SAAS,cAAegE,IACtCx8G,IAAG8V,WAAW0iG,SAAS,kBAAmBiE,IAC1Cz8G,IAAG8V,WAAW0iG,SAAS,yBAA0BkE,IACjD18G,IAAG8V,WAAW0iG,SAAS,aAAcmE,IACrC38G,IAAG8V,WAAW0iG,SAAS,QAAS1hG,SAChC9W,IAAG8V,WAAW0iG,SAAS,YAAaoE,IACpC58G,IAAG8V,WAAW0iG,SAAS,YAAaqE,IACpC78G,IAAG8V,WAAW0iG,SAAS,YAAasE,IACpC98G,IAAG8V,WAAW0iG,SAAS,eAAgBuE,IACvC/8G,IAAG8V,WAAW0iG,SAAS,gBAAiBn2D,SACxCriD,IAAG8V,WAAW0iG,SAAS,kBAAmBwE,SAC1Ch9G,IAAG8V,WAAW0iG,SAAS,8BAA+ByE,IACtDj9G,IAAG8V,WAAW0iG,SAAS,oCAAqC0E,IAC5Dl9G,IAAG8V,WAAW0iG,SAAS,sCAAuC2E,IAC9Dn9G,IAAG8V,WAAW0iG,SAAS,4CAA6C4E,IACpEp9G,IAAG8V,WAAW0iG,SAAS,4CAA6C6E,IACpEr9G,IAAG8V,WAAW0iG,SAAS,gDAAiD8E,IACxEt9G,IAAG8V,WAAW0iG,SAAS,mDAAoD+E,IAC3Ev9G,IAAG8V,WAAW0iG,SAAS,kBAAmBgF,SAC1Cx9G,IAAG8V,WAAW0iG,SAAS,gBAAiBiF,IACxCz9G,IAAG8V,WAAW0iG,SAAS,eAAgBkF,IACvC19G,IAAG8V,WAAW0iG,SAAS,eAAgBmF,IACvC39G,IAAG8V,WAAW0iG,SAAS,eAAgBoF,SACvC59G,IAAG8V,WAAW0iG,SAAS,sBAAuBqF,SAC9C79G,IAAG8V,WAAW0iG,SAAS,2BAA4BsF,IACnD99G,IAAG8V,WAAW0iG,SAAS,6BAA8BuF,IACrD/9G,IAAG8V,WAAW0iG,SAAS,2BAA4BwF,IACnDh+G,IAAG8V,WAAW0iG,SAAS,kBAAmByF,IAC1Cj+G,IAAG8V,WAAW0iG,SAAS,uBAAwB0F,I,iBC7NvCC,WAAKC,QAAQplH,UAAgBqlH,YAErCF,WAAKC,QAAQE,aAAa,CACxBC,cAAetgE,EAAQ,QACvBugE,QAASvgE,EAAQ,QACjBwgE,UAAWxgE,EAAQ,U,UCXrB,SAASygE,GAAelgH,GACtB,IAAMkE,EAAO,IAAI2S,KAAK7W,GACtB,OAAOkE,EAAKi8G,mBAAmB,CAAC,SAAU,CAAEh0E,MAAO,QAAS3N,IAAK,UAAW0N,KAAM,UAAWk0E,KAAM,UAAWC,OAAQ,YAIxH,SAASC,GAActgH,GACrB,IAAMkE,EAAO,IAAI2S,KAAK7W,GACtB,OAAOkE,EAAKi8G,mBAAmB,CAAC,SAAU,CAAEh0E,MAAO,QAAS3N,IAAK,UAAW0N,KAAM,YCNrE,gBAAC5b,GACd,IAAM8uB,EAAU3uC,OAAMgd,QAAQ,yBAAyB6C,GACvD,OAAO8uB,EAAUA,EAAQngD,KAAO,I,aCDlC,SAASshH,GAAen8F,GACtB,OAAoB,OAAbA,EAAoB+uF,GAAef,mBAAmBhuF,EAAU,YAAc,MAGvF,SAASo8F,GAAgBn8F,GACvB,OAAqB,OAAdA,EAAqB8uF,GAAef,mBAAmB/tF,EAAW,aAAe,MAG1F,SAASo8F,GAAkBzgH,EAAe+jB,GACxC,OAAiB,OAAV/jB,EAAiBo0D,QAAkBtwC,uBAAuBC,EAAa/jB,GAAS,MCRzFsQ,aAAIJ,OAAO,WAAYgwG,IACvB5vG,aAAIJ,OAAO,UAAWowG,IACtBhwG,aAAIJ,OAAO,cAAewwG,IAC1BpwG,aAAIJ,OAAO,iBAAkBqwG,IAC7BjwG,aAAIJ,OAAO,kBAAmBswG,IAC9BlwG,aAAIJ,OAAO,oBAAqBuwG,ICWhCE,KAAar7G,KAAK,CAChBs7G,mBAAmB,EACnBC,oBAAoB,EACpBC,gBAAgB,EAChBC,sBAAsB,EACtBC,qBAAiB9hH,EACjB+hH,sBAAsB,EACtBC,kBAAmB,2BAIrB99G,IAAE+9G,UAAU,CAAEvmD,OAAO,IAErBtqD,aAAI+O,OAAO+hG,eAAgB,EAK3B9wG,aAAIkH,UAAU,oBAAqB6pG,IAEnC/wG,aAAIC,IAAI+wG,MAER,IAGIC,GACAC,GAJEC,GAAgB3gH,OAAO0xC,SAASkvE,SAASl4G,MAAM,KAC/Cm4G,GAAYF,GAAcnnH,OAAS,EAAImnH,GAAc,GAAK,cAKhE,OAAQE,IACN,IAAK,YACL,IAAK,cACHJ,GAAoB,iBACpBC,IAA2B,EAC3B,MAEF,IAAK,aACL,IAAK,UACHD,GAAoB,iBACpBC,IAA2B,EAC3B,MAEF,IAAK,UACL,IAAK,OACHD,GAAoB,iBACpBC,IAA2B,EAC3B,MAEF,IAAK,YACL,QACED,GAAoB,GACpBC,IAA2B,EAC3B,MAIJlxG,aAAIC,IAAIqxG,QAAS,CACfviG,OAAQ,CAAE/W,GAAIi5G,IACd5uD,QAAS6uD,IACRrkG,SAEH,IAAI7M,aAAI,CACN6M,eACA6K,aACA65F,UACAlvG,OAAQ,SAAC2pE,GAAD,OAAOA,EAAElN,OAChB0yC,OAAO,S,kJCjFJjwG,EAAO,4PAGJ,WAAwCkc,GAAxC,gHAEgBmf,OAAcpf,kCAAkCC,GAFhE,cAEGj0B,EAFH,yBAGIA,GAHJ,mCAKH8G,QAAQulB,KAAR,MALG,yDAHI,+JAaJ,WAAqC4H,GAArC,gHAEgBmf,OAAclf,+BAA+BD,GAF7D,cAEGj0B,EAFH,yBAGIA,GAHJ,mCAKH8G,QAAQulB,KAAR,MALG,yDAbI,yJAuBJ,WAA+B4H,GAA/B,gHAEgBmf,OAAchf,yBAAyBH,EAAQF,gBAF/D,cAEG/zB,EAFH,yBAGIA,GAHJ,mCAKH8G,QAAQulB,KAAR,MALG,yDAvBI,2JAiCJ,WAAiC4H,GAAjC,gHAEgBmf,OAAc/e,2BAA2BJ,EAAQF,gBAFjE,cAEG/zB,EAFH,yBAGIA,GAHJ,mCAKH8G,QAAQulB,KAAR,MALG,yDAjCI,wJA2CJ,WAA8B4H,GAA9B,gHAEgBmf,OAAc9e,wBAAwBL,EAAQF,gBAF9D,cAEG/zB,EAFH,yBAGIA,GAHJ,mCAKH8G,QAAQulB,KAAR,MALG,yDA3CI,qJAqDJ,WAA2B4H,GAA3B,gHAEgBmf,OAAcjf,qBAAqBF,GAFnD,cAEGj0B,EAFH,yBAGIA,GAHJ,mCAKH8G,QAAQulB,KAAR,MALG,yDArDI,+DAASjG,QAGpBlJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,sDAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mDAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,6CAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+CAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,4CAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,yCArDIxO,EAAO,gBADZyO,eAAO,CAAEC,YAAY,EAAMthB,KAAM,aAC5B4S,GA+DSA,U,mBCnEf,IAAIhU,EAAO,0rHAEX7B,EAAOD,QAAU8B,G,kCCHjB,kCACA,IAOYy4B,EAPNyrF,EAAQtiE,EAAQ,QAChBuiE,EAASviE,EAAQ,QACjBwiE,EAAMxiE,EAAQ,QACdyiE,EAAOziE,EAAQ,QACf0iE,EAAO1iE,EAAQ,QACf2iE,EAAQ3iE,EAAQ,SAEtB,SAAYnpB,GACVA,UAAKyrF,GAAK,KACVzrF,eAAU0rF,GAAM,UAChB1rF,aAAQ2rF,GAAG,QACX3rF,oBAAe4rF,GAAI,eACnB5rF,oBAAe6rF,GAAI,eACnB7rF,wBAAmB8rF,GAAK,oBAN1B,CAAY9rF,MAAiB,M,mBCP7B,IAAIz4B,EAAO,49DAEX7B,EAAOD,QAAU8B,G,qBCHjB7B,EAAOD,QAAU,IAA0B,6C,gLCIrCsmH,E,yFACJ,WACE,OAAOrkG,OAAIpe,IAAI,oB,oBAGjB,SAAOqa,GACL,OAAO+D,OAAIK,IAAI,aAAcpE,K,4BAG/B,SAAexB,GACb,IAAM8X,EAAU,CACd9X,OAAQA,GAEV,OAAOuF,OAAIG,KAAK,wBAAyBoS,K,yBAG3C,SAAY9X,GACV,IAAM8X,EAAU,CACd9X,OAAQA,GAEV,OAAOuF,OAAIG,KAAK,qBAAsBoS,O,KAI3B,MAAI8xF,ECvBbtxG,EAAI,wDAAV,iD,0BACU,EAAAuxG,MAA4B,KAC5B,EAAAC,cAAe,EAFzB,EAAU,+CAKD,SAAStoG,GACd7Y,KAAKkhH,MAAQroG,EACb7Y,KAAKmhH,cAAe,IAPd,yBAWD,WACLnhH,KAAKmhH,cAAe,EACpBnhH,KAAKkhH,MAAQ,OAbP,yBAiBD,SAAYjpG,GACjB,GAAmB,OAAfjY,KAAKkhH,MACP,MAAM,IAAI1kH,MAAM,mDAGlBwD,KAAKkhH,MAAMjpG,OAASA,IAtBd,iFA0BD,WAAiBmpG,GAAjB,4GACQH,EAAY/9G,OAAOk+G,GAAatkH,MAC3C,SAAA+b,GAEE,OADA,EAAKyF,QAAQC,OAAO,WAAY1F,GACzB5d,QAAQC,QAAQ2d,MAEzB,SAAAtb,GAEE,OADAiC,QAAQjC,MAAMA,GACPtC,QAAQE,OAAOoC,MARrB,mFA1BC,wIAwCD,yHACQ0jH,EAAYziH,MAAM1B,MAC7B,SAAA+b,GAEE,OADA,EAAKyF,QAAQC,OAAO,WAAY1F,GACzB5d,QAAQC,QAAQ2d,MAEzB,SAAAtb,GAGE,OAFAiC,QAAQjC,MAAMA,GACd,EAAK+gB,QAAQC,OAAO,eACbtjB,QAAQE,YATd,mFAxCC,8IAuDD,4GACc,OAAf6E,KAAKkhH,MADJ,sBAEG,IAAI1kH,MAAM,sDAFb,uBAKQykH,EAAYloG,eAAe/Y,KAAKkhH,MAAMh6G,IAAIpK,MACrD,SAAAmb,GACE,EAAKqG,QAAQC,OAAO,cAAetG,MAErC,SAAA1a,GAEE,OADAiC,QAAQjC,MAAMA,GACPtC,QAAQE,OAAOoC,MAXrB,wFAvDC,2IAwED,4GACc,OAAfyC,KAAKkhH,MADJ,sBAEG,IAAI1kH,MAAM,oDAFb,uBAKQykH,EAAYjoG,YAAYhZ,KAAKkhH,MAAMh6G,IAAIpK,MAClD,WACE,EAAKwhB,QAAQC,OAAO,cAAe,OAErC,SAAAhhB,GAEE,OADAiC,QAAQjC,MAAMA,GACPtC,QAAQE,OAAOoC,MAXrB,wFAxEC,kKAyFD,WAAyCosB,GAAzC,iGACc,OAAf3pB,KAAKkhH,MADJ,sBAEG,IAAI1kH,MAAM,oDAFb,cAKCkf,EAAc1b,KAAKkhH,MACzBxlG,EAAY2lG,uBAAyB13F,EANhC,SAQQs3F,EAAY/9G,OAAOwY,GAAa5e,MAC3C,SAAA+b,GAEE,OADA,EAAKyF,QAAQC,OAAO,WAAY1F,GACzB5d,QAAQC,QAAQ2d,MAEzB,SAAAtb,GAEE,OADAiC,QAAQjC,MAAMA,GACPtC,QAAQE,OAAOoC,MAfrB,wFAzFC,iFA6GR,WACE,OAAOyC,KAAKkhH,QA9GN,oBAiHR,WAAY,MACV,OAAO,UAAAlhH,KAAKkhH,aAAL,eAAYrjH,OAAQ,KAlHrB,qBAoHR,WAAa,MACX,OAAO,UAAAmC,KAAKkhH,aAAL,eAAYnpG,QAAS,KArHtB,qBAwHR,WAAa,MACX,OAAO,UAAA/X,KAAKkhH,aAAL,eAAY1pG,QAAS,KAzHtB,qBA2HR,WAAa,MACX,OAAO,UAAAxX,KAAKkhH,aAAL,eAAYlpG,cAAe,OA5H5B,oBA8HR,WAAY,MACV,OAAO,UAAAhY,KAAKkhH,aAAL,eAAYhpG,OAAQ,OA/HrB,yBAiIR,WAAiB,MACf,OAAO,UAAAlY,KAAKkhH,aAAL,eAAYhyF,YAAa,OAlI1B,2BAoIR,WAAmB,MACjB,OAAO,UAAAlvB,KAAKkhH,aAAL,eAAYI,cAAe,KArI5B,kBAuIR,WAAU,MACR,OAAO,UAAAthH,KAAKkhH,aAAL,eAAYh6G,KAAM,KAxInB,sBA0IR,WAAc,MACZ,OAAO,UAAAlH,KAAKkhH,aAAL,eAAYjpG,SAAU,KA3IvB,kCA6IR,WAA0B,QACxB,2BAAOjY,KAAKkhH,aAAZ,aAAO,EAAYG,8BAAnB,QAA6C,OA9IvC,uBAgJR,WACE,OAAOrhH,KAAKmhH,eAjJN,mBAmJR,WACE,QAAKnhH,KAAKkhH,OACc,kBAApBlhH,KAAKkhH,MAAMhpG,OArJT,0BAwJR,WACE,IAAKlY,KAAKkhH,MAAO,OAAO,EACxB,IAAMhpG,EAAOlY,KAAKkhH,MAAMhpG,KACxB,MAAa,cAATA,GAAiC,kBAATA,IA3JtB,sBA8JR,WACE,QAAKlY,KAAKkhH,OACc,iBAApBlhH,KAAKkhH,MAAMhpG,SAhKT,GAAS4G,QAKjBlJ,gBADCmJ,QACD,6BAMAnJ,gBADCmJ,QACD,gCAMAnJ,gBADCmJ,QACD,gCASAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+BAcArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,4BAeArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mCAiBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gCAiBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uDAzFItP,EAAI,gBADTuP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,UAC5B8R,GAqKSA,U,kCC1Kf,gBAEIu0B,EAAgB,aAIpBA,EAAc9qC,UAAU+qC,oBAAsB,SAAUpa,GACtD,OAAOnN,OAAIpe,IAAJ,qBAA8BurB,IAIvCma,EAAc9qC,UAAUirC,yBAA2B,SAAUta,GAC3D,OAAOnN,OAAIpe,IAAJ,4BAAqCurB,IAG9Cma,EAAc9qC,UAAUkrC,uBAAyB,SAAUhgC,GACzD,OAAOsY,OAAIpe,IAAJ,sBAA+B,CACpC8F,SAAUA,KAId4/B,EAAc9qC,UAAUw5C,6BAA+B,SAAUF,GAC/D,OAAO91B,OAAIG,KAAJ,4BAAsC21B,IAG/CxO,EAAc9qC,UAAUmrC,mBAAqB,WAC3C,OAAO3nB,OAAIpe,IAAJ,6BAGT0lC,EAAc9qC,UAAUorC,2BAA6B,WACnD,OAAO5nB,OAAIpe,IAAJ,qCAGT0lC,EAAc9qC,UAAUsrC,sBAAwB,SAAU/X,GACxD,OAAO/P,OAAIG,KAAJ,6BAAuC4P,IAGhDuX,EAAc9qC,UAAUqrC,kBAAoB,SAAUngC,GACpD,OAAOsY,OAAIpe,IAAJ,qCAAsC8F,KAG/C4/B,EAAc9qC,UAAUu5C,mBAAqB,SAAUD,GACrD,OAAO91B,OAAIG,KAAJ,+BAAyC21B,IAGlDxO,EAAc9qC,UAAUurC,mBAAqB,SAAUrgC,GACrD,OAAOsY,OAAIpe,IAAJ,0BAA2B8F,KAGpC4/B,EAAc9qC,UAAU05C,oBAAsB,SAAUJ,GACtD,OAAO91B,OAAIG,KAAJ,mBAA6B21B,IAGtCxO,EAAc9qC,UAAUwrC,yBAA2B,SAAUjY,GAC3D,OAAO/P,OAAIK,IAAJ,kBAA2B0P,IAIpCuX,EAAc9qC,UAAUyrC,uBAAyB,SAAU9a,GACzD,OAAOnN,OAAIpe,IAAJ,oCAA6CurB,IAGtDma,EAAc9qC,UAAU0rC,4BAA8B,SAAU/a,GAC9D,OAAOnN,OAAIpe,IAAJ,qCAA8CurB,IAGvDma,EAAc9qC,UAAU2rC,wBAA0B,SAAUzgC,GAC1D,OAAOsY,OAAIpe,IAAJ,gCAAyC,CAC9C8F,SAAUA,KAId4/B,EAAc9qC,UAAU4rC,eAAiB,SAAU1gC,EAAU2gC,GAC3D,OAAOroB,OAAIpe,IAAJ,kBAA2B,CAChC8F,SAAUA,EACV2gC,UAAWA,KAIff,EAAc9qC,UAAUy5C,yBAA2B,SAAUH,GAC3D,OAAO91B,OAAIG,KAAJ,iCAA2C21B,IAGrC,WAAIxO,G,kJC7Ebj0B,EAAY,wDAAlB,iD,0BACU,EAAAsxG,sBAAuB,EACvB,EAAAC,cAA+B,GAFzC,EAAkB,4DAKT,SAAsBlxF,GAC3BtwB,KAAKuhH,sBAAuB,EAC5BvhH,KAAKwhH,cAAgBlxF,IAPP,yBAWT,WACLtwB,KAAKuhH,sBAAuB,IAZd,0FAgBT,2GACD7oH,EAAO,GADN,kBAGU+oH,OAAkB1yG,SAH5B,OAGHrW,EAHG,gEAKI,CAAEkF,QAAS,kCAAmCL,MAAK,MALvD,QAOLyC,KAAKse,QAAQC,OAAO,wBAAyB7lB,GAPxC,yDAhBS,sIA2BT,iGACAsH,KAAKuhH,qBADL,yCAEIvhH,KAAKwhH,eAFT,uBAIGxhH,KAAK0hH,sBAJR,gCAKI1hH,KAAKwhH,eALT,gDA3BS,iFAoChB,WACE,OAAOxhH,KAAKwhH,kBArCE,GAAS1iG,QAKzBlJ,gBADCmJ,QACD,0CAMAnJ,gBADCmJ,QACD,gCAKAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,wCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2BA3BIhP,EAAY,gBADjBiP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,kBAC5BoS,GAyCSA,U,oMCzCTM,EAAY,wDAAlB,iD,0BACU,EAAAoxG,iBAA4C,KAC5C,EAAAC,YAA6B,GAC7B,EAAAC,aAA8B,GAHxC,EAAkB,4DAMT,SAAsBnpH,GAC3BsH,KAAK2hH,iBAAmBjpH,IAPV,6BAWT,SAAgBA,GACrBsH,KAAK4hH,YAAclpH,IAZL,8BAgBT,SAAiBA,GACtBsH,KAAK6hH,aAAenpH,IAjBN,+BAqBT,WACLsH,KAAK4hH,YAAc,KAtBL,4FA0BT,2GACDlpH,EAAO,GADN,kBAGUopH,OAAmB50F,qBAH7B,OAGHx0B,EAHG,0DAKH8G,QAAQulB,KAAR,MALG,QAOL/kB,KAAKse,QAAQC,OAAO,wBAAyB7lB,GAPxC,yDA1BS,2IAqCT,WAAkByD,GAAlB,6FAEgB,cAAfA,EAAMH,KAFP,gCAGK8lH,OAAmBr0F,gBAAgBtxB,EAAM+K,IAH9C,uBAIKlH,KAAKse,QAAQlc,SAAS,kBAAmBjG,EAAMmI,UAJpD,+CAMKw9G,OAAmBp0F,iBAAiBvxB,EAAM+K,IAN/C,yBAOKlH,KAAKse,QAAQlc,SAAS,mBAAoBjG,EAAMmI,UAPrD,6DAUH9E,QAAQulB,KAAR,MAVG,0DArCS,0IAoDT,WAAgB5oB,GAAhB,6FAEgB,cAAfA,EAAMH,KAFP,gCAGK8lH,OAAmBv0F,gBAAgBpxB,GAHxC,uBAIK6D,KAAKse,QAAQlc,SAAS,kBAAmBjG,EAAMmI,UAJpD,+CAMKw9G,OAAmBt0F,iBAAiBrxB,GANzC,yBAOK6D,KAAKse,QAAQlc,SAAS,mBAAoBjG,EAAMmI,UAPrD,6DAUH9E,QAAQulB,KAAR,MAVG,0DApDS,4IAmET,WAAkB5oB,GAAlB,6FAEgB,cAAfA,EAAMH,KAFP,gCAGK8lH,OAAmB30F,gBAAgBhxB,GAHxC,uBAIK6D,KAAKse,QAAQlc,SAAS,kBAAmBjG,EAAMmI,UAJpD,+CAMKw9G,OAAmBz0F,iBAAiBlxB,GANzC,yBAOK6D,KAAKse,QAAQlc,SAAS,mBAAoBjG,EAAMmI,UAPrD,6DAUH9E,QAAQulB,KAAR,MAVG,0DAnES,gJAkFT,WAAsBzgB,GAAtB,8FACD5L,EAAO,GADN,kBAGUopH,OAAmBx/G,KAAKgC,EAAU,CAAC,cAH7C,OAGH5L,EAHG,iEAKH8G,QAAQulB,KAAR,MALG,kBAMI9pB,QAAQE,OAAR,+CANJ,QAQL6E,KAAKse,QAAQC,OAAO,kBAAmB7lB,GARlC,yDAlFS,iJA8FT,WAAuB4L,GAAvB,8FACD5L,EAAO,GADN,kBAGUopH,OAAmBx/G,KAAKgC,EAAU,CAAC,eAH7C,OAGH5L,EAHG,iEAKH8G,QAAQulB,KAAR,MALG,kBAMI9pB,QAAQE,OAAR,gDANJ,QAQL6E,KAAKse,QAAQC,OAAO,mBAAoB7lB,GARnC,yDA9FS,4IA0GT,WAAkB4L,GAAlB,0GAEGrJ,QAAQ+C,IAAI,CAChBgC,KAAKse,QAAQlc,SAAS,kBAAmBkC,GACzCtE,KAAKse,QAAQlc,SAAS,mBAAoBkC,KAJzC,gEAOH9E,QAAQulB,KAAR,MAPG,kBAQI9pB,QAAQE,OAAR,0CARJ,wDA1GS,qFAsHhB,WACE,OAAO6E,KAAK2hH,mBAvHE,sBAyHhB,WACE,OAAO3hH,KAAK4hH,cA1HE,uBA6HhB,WACE,OAAO5hH,KAAK6hH,eA9HE,qBAiIhB,WACE,OAAO7hH,KAAK4hH,YAAYG,OAAO/hH,KAAK6hH,kBAlItB,GAAS/iG,QAMzBlJ,gBADCmJ,QACD,0CAKAnJ,gBADCmJ,QACD,oCAKAnJ,gBADCmJ,QACD,qCAKAnJ,gBADCmJ,QACD,sCAKAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,0CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gCAeArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,8BAeArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gCAeArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,oCAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,qCAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gCA1GI1O,EAAY,gBADjB2O,eAAO,CAAEC,YAAY,EAAMthB,KAAM,kBAC5B0S,GAsISA,U,qBC5If3V,EAAOD,QAAU,IAA0B,gC,sECEvCgiB,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAASynB,EAAO28E,EAAMx7F,GAC1C,IAAI4D,EAAS,CACTib,MAAOA,GAWX,OARI28E,IACA53F,EAAO43F,KAAOA,GAGdx7F,IACA4D,EAAO5D,MAAQA,GAGZ0R,OAAIpe,IAAI,cAAesQ,IAGnB,WAAI6N,G,kCCtBnB,gBAIIA,EAAS,aAIbA,EAAOvjB,UAAU2V,OAAS,WACtB,OAAO6N,OAAIpe,IAAI,sBAGnBme,EAAOvjB,UAAU6F,OAAS,SAAU+iH,GAChC,OAAOplG,OAAIG,KAAK,oBAAqBilG,IAGzCrlG,EAAOvjB,UAAU8J,OAAS,SAAU8+G,GAChC,OAAOplG,OAAIK,IAAI,qBAAuB+kG,EAAS96G,GAAI86G,IAGvDrlG,EAAOvjB,UAAUwkB,OAAS,SAAUokG,GAChC,OAAOplG,OAAIW,IAAI,qBAAuBykG,EAAS96G,KAGnDyV,EAAOvjB,UAAUs3G,oBAAsB,SAASsR,EAAUpjG,GACtD,IAAIokB,EAAM,CACN1+B,SAAUsa,EAAO1X,GACjB+6G,iBAAkBD,EAAS96G,IAG/B,OAAO0V,OAAIG,KAAK,8BAA+BimB,IAGnDrmB,EAAOvjB,UAAUw3G,yBAA2B,SAASoR,EAAUpjG,GAC3D,IAAIokB,EAAM,CACN1+B,SAAUsa,EAAO1X,GACjB+6G,iBAAkBD,EAAS96G,IAG/B,OAAO0V,OAAIG,KAAK,iCAAkCimB,IAGtDrmB,EAAOvjB,UAAU03G,kBAAoB,SAAUkR,EAAUnpG,GACrD,IAAImqB,EAAM,CACN3rB,OAAQwB,EAAK3R,GACb+6G,iBAAkBD,EAAS96G,IAG/B,OAAO0V,OAAIG,KAAK,4BAA6BimB,IAGjDrmB,EAAOvjB,UAAU23G,uBAAyB,SAAUiR,EAAUnpG,GAC1D,IAAImqB,EAAM,CACN3rB,OAAQwB,EAAK3R,GACb+6G,iBAAkBD,EAAS96G,IAG/B,OAAO0V,OAAIG,KAAK,+BAAgCimB,IAGrC,WAAIrmB,G,8FChCnB,SAASulG,EAAY/9G,GACjB,IAAIg+G,EAAQngH,EAAEmC,GAASjC,QAAQ,SAC/B,OAAOigH,EAAM,GAAGj7G,GAGpB,SAASk7G,EAAcp0G,EAAGC,EAAGI,EAAQg0G,EAAUj+G,GAC3C,IAAIgY,EAMJ,MALiB,mBAAbimG,EACAjmG,EAASkmG,EAAmBt0G,EAAGC,EAAGI,EAAQjK,GACtB,kBAAbi+G,IACPjmG,EAASmmG,EAAkBv0G,EAAGC,EAAGI,IAE9B+N,EAGX,SAASkmG,EAAmBt0G,EAAGC,EAAGI,EAAQjK,GACtC,IAAI8J,EAAO9N,IAAG6gD,MAAMC,iBAAiBlzC,EAAEK,IACnCD,EAAQhO,IAAG6gD,MAAMC,iBAAiBjzC,EAAEI,IAExC,GAAe,2BAAXA,EACAH,EAAOF,EAAEw0G,iCACTp0G,EAAQH,EAAEu0G,sCACP,GAAe,kBAAXn0G,GAAyC,kBAAXA,EACrCH,EAAOF,EAAEK,KAAUo4E,QACnBr4E,EAAQH,EAAEI,KAAUo4E,aACjB,GAAe,uBAAXp4E,EAAiC,CACxC,IAAInH,EAAK9C,IAAgB8C,GACzBgH,EAAOF,EAAEy0G,0BAA0Bv7G,GACnCkH,EAAQH,EAAEw0G,0BAA0Bv7G,GAGxC,MAAO,CAAEgH,KAAMA,EAAME,MAAOA,GAGhC,SAASm0G,EAAkBv0G,EAAGC,EAAGI,GAC7B,IAAIH,EAAO9N,IAAG6gD,MAAMC,iBAAiBlzC,EAAEK,IACnCD,EAAQhO,IAAG6gD,MAAMC,iBAAiBjzC,EAAEI,IAiBxC,OAhBAL,EAAIA,EAAE64E,WACN54E,EAAIA,EAAE44E,WACS,oBAAXx4E,GACAH,EAAOF,EAAE84E,wBACT14E,EAAQH,EAAE64E,yBACQ,6BAAXz4E,GACPH,EAAOF,EAAEg5E,2BACT54E,EAAQH,EAAE+4E,4BACQ,iBAAX34E,GACPH,EAAOF,EAAEk5E,gCACT94E,EAAQH,EAAEi5E,iCACQ,eAAX74E,IACPH,EAAOF,EAAEo5E,oBACTh5E,EAAQH,EAAEm5E,qBAGP,CAAEl5E,KAAMA,EAAME,MAAOA,GAGhC,SAAS+nG,EAAgBhyG,GACrB,IAAIiyG,EAAY76G,SAAS86G,iBAAiB,sBACtCC,EAAe1zG,aAAEsD,QAAQkwG,EAAU,GAAGhrD,SAAUjnD,GAEpDvB,aAAEe,KAAKyyG,GAAW,SAAUG,EAAKr4F,GAC7B,IAAIs4F,EAAQD,EAAInrD,SAASkrD,GAErBE,EAAMzvG,UADI,IAAVmX,EACkB,yBACXA,EAAQ,IAAM,EACH,wBAEA,uBAGtBu4F,EAAkBF,EAAKD,MAI/B,SAASG,EAAkBF,EAAKG,GAC5B9zG,aAAEe,KAAK4yG,EAAInrD,UAAU,SAASorD,EAAOt4F,GAC7BA,GAASw4F,GACe,KAApBF,EAAMzvG,YACNyvG,EAAMzvG,UAAY,OAMlC,SAAS27G,EAAgBv+G,EAAS+xG,GAC9B,IAAI12F,EAAOrb,EAAQ3I,qBAAqB,KAAK,GACzCmnH,EAAapnH,SAASqnH,uBAAuB,sBAC7C77G,EAAYmvG,EAAM,kBAAoB,mBAE1CtzG,aAAEe,KAAKg/G,GAAY,SAAUnjG,GACzBA,EAAKzY,UAAY,wBAGrByY,EAAKzY,WAAaA,EAGtB,SAASkvG,EAAcC,EAAKhoG,EAAME,GAC9B,OAAKggB,SAASlgB,EAAOE,GAMV8nG,EAAMhoG,EAAOE,EAAQA,EAAQF,EAL5BkgB,SAASlgB,IAAa,EAAL,EA3HjC9N,IAAG4D,gBAAgB6+G,eAAiB,CAChC3+G,KAAM,SAAUC,EAASC,EAAeC,EAAqBjB,GACzD,IAAI8yG,GAAM,EACV9xG,IAAgBy3C,MAAM9tC,MAAK,SAAUC,EAAGC,GAAK,OAAOD,EAAE+Z,UAAY9Z,EAAE8Z,aACpE5jB,EAAQkb,QAAU,WACd,IAAIw8B,EAAQz3C,IAAgBy3C,MACxBxtC,EAASjK,IAAgBiK,OACzBg0G,EAAWH,EAAY/9G,GAC3B+xG,GAAOA,EAEPwM,EAAgBv+G,EAAS+xG,GAEzBr6D,EAAM9tC,MAAK,SAAUC,EAAGC,GACpB,IAAI60G,EAAaV,EAAcp0G,EAAGC,EAAGI,EAAQg0G,EAAUj+G,GACnD8J,EAAO40G,EAAW50G,KAClBE,EAAQ00G,EAAW10G,MAEvB,OAAOF,IAASE,EAAQ6nG,EAAcC,EAAKloG,EAAE+Z,UAAW9Z,EAAE8Z,WAAakuF,EAAcC,EAAKhoG,EAAME,MAGpG+nG,EAAgBhyG,Q,yCCtB5B,IAAI1H,EAAO,yqEAEX7B,EAAOD,QAAU8B,G,kCCHjB,IAAI8U,EAAS,WAAa,IAAIC,EAAIxR,KAASyR,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACa,YAAY,4BAA4B85C,MAAM,CAAE,SAAY96C,EAAIuxG,WAAY,CAACpxG,EAAG,MAAM,CAACa,YAAY,oBAAoB,CAACb,EAAG,MAAM,CAACa,YAAY,qBAAqB,CAACb,EAAG,WAAW,CAACA,EAAG,SAAS,CAACa,YAAY,cAAcX,MAAM,CAAC,MAAQ,WAAW,CAACL,EAAIc,GAAG,eAAeX,EAAG,MAAM,CAACa,YAAY,iCAAiC,CAACb,EAAG,SAAS,CAACoB,IAAI,eAAelB,MAAM,CAAC,0BAAyB,EAAM,eAAeL,EAAIyC,SAAS,WAAa,mBAAmB,YAAY,QAAQ9O,GAAG,CAAC,qBAAqB,SAAS4M,GAAQP,EAAIyC,SAASlC,GAAQ,sBAAsB,SAASA,GAAQP,EAAIyC,SAASlC,IAASa,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAChvB,IAAI5N,EAAK4N,EAAI5N,GACT0M,EAAQkB,EAAIlB,MAChB,MAAO,CAACF,EAAG,MAAMH,EAAIwB,GAAGxB,EAAIyB,GAAG,CAACT,YAAY,uDAAuD,MAAMX,GAAM,GAAO1M,GAAI,CAACwM,EAAG,SAAS,CAACa,YAAY,QAAQ,CAAChB,EAAIc,GAAG,wBAAwBd,EAAIc,GAAG,IAAId,EAAI6B,GAAG7B,EAAIyC,UAAU,MAAM,QAAQhC,MAAM,CAACrT,MAAO4S,EAA+B,4BAAEU,SAAS,SAAUC,GAAMX,EAAIwxG,4BAA4B7wG,GAAKE,WAAW,gCAAgC,CAACV,EAAG,gBAAgB,CAACxM,GAAG,CAAC,MAAQ,SAAS4M,GAAQP,EAAIyxG,MAAMC,aAAavgH,KAAK6O,EAAIyC,UAAWzC,EAAI7O,SAASsP,MAAM,CAACrT,MAAO4S,EAAY,SAAEU,SAAS,SAAUC,GAAMX,EAAIyC,SAAS9B,GAAKE,WAAW,eAAe,GAAGV,EAAG,SAAS,CAACoB,IAAI,eAAelB,MAAM,CAAC,0BAAyB,EAAM,cAAc,GAAG,eAAeL,EAAIsiD,SAAS,WAAa,mBAAmB,YAAY,QAAQ,YAAY,SAAS3uD,GAAG,CAAC,qBAAqB,SAAS4M,GAAQP,EAAIsiD,SAAS/hD,GAAQ,sBAAsB,SAASA,GAAQP,EAAIsiD,SAAS/hD,IAASa,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GACz7B,IAAI5N,EAAK4N,EAAI5N,GACT0M,EAAQkB,EAAIlB,MAChB,MAAO,CAACF,EAAG,MAAMH,EAAIwB,GAAGxB,EAAIyB,GAAG,CAACT,YAAY,uDAAuD,MAAMX,GAAM,GAAO1M,GAAI,CAACwM,EAAG,SAAS,CAACa,YAAY,QAAQ,CAAChB,EAAIc,GAAG,iCAAiCd,EAAIc,GAAG,IAAId,EAAI6B,GAAG7B,EAAIsiD,UAAU,MAAM,QAAQ7hD,MAAM,CAACrT,MAAO4S,EAA+B,4BAAEU,SAAS,SAAUC,GAAMX,EAAI2xG,4BAA4BhxG,GAAKE,WAAW,gCAAgC,CAAEb,EAA+B,4BAAEG,EAAG,gBAAgB,CAACE,MAAM,CAAC,OAAS,QAAQI,MAAM,CAACrT,MAAO4S,EAAY,SAAEU,SAAS,SAAUC,GAAMX,EAAIsiD,SAAS3hD,GAAKE,WAAW,aAAa,CAACV,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQP,EAAI2xG,6BAA8B,KAAS,CAAC3xG,EAAIc,GAAG,YAAYX,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQP,EAAIyxG,MAAMG,aAAazgH,KAAK6O,EAAIsiD,UAAWtiD,EAAI7O,UAAU,CAAC6O,EAAIc,GAAG,SAAS,GAAGd,EAAIkC,MAAM,IAAI,OAAO/B,EAAG,MAAM,CAACa,YAAY,cAAc,CAACb,EAAG,WAAW,CAACA,EAAG,SAAS,CAACa,YAAY,cAAcX,MAAM,CAAC,MAAQ,WAAW,CAACL,EAAIc,GAAG,aAAaX,EAAG,MAAM,CAACa,YAAY,iCAAiC,CAACb,EAAG,SAAS,CAACoB,IAAI,aAAalB,MAAM,CAAC,0BAAyB,EAAM,eAAeL,EAAI2C,OAAO,WAAa,mBAAmB,YAAY,QAAQhP,GAAG,CAAC,qBAAqB,SAAS4M,GAAQP,EAAI2C,OAAOpC,GAAQ,sBAAsB,SAASA,GAAQP,EAAI2C,OAAOpC,IAASa,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAC72C,IAAI5N,EAAK4N,EAAI5N,GACT0M,EAAQkB,EAAIlB,MAChB,MAAO,CAACF,EAAG,MAAMH,EAAIwB,GAAGxB,EAAIyB,GAAG,CAACT,YAAY,uDAAuD,MAAMX,GAAM,GAAO1M,GAAI,CAACwM,EAAG,SAAS,CAACa,YAAY,QAAQ,CAAChB,EAAIc,GAAG,wBAAwBd,EAAIc,GAAG,IAAId,EAAI6B,GAAG7B,EAAI2C,QAAQ,MAAM,QAAQlC,MAAM,CAACrT,MAAO4S,EAA6B,0BAAEU,SAAS,SAAUC,GAAMX,EAAI6xG,0BAA0BlxG,GAAKE,WAAW,8BAA8B,CAACV,EAAG,gBAAgB,CAACxM,GAAG,CAAC,MAAQ,SAAS4M,GAAQP,EAAIyxG,MAAMK,WAAW3gH,KAAK6O,EAAI2C,QAAS3C,EAAI7O,SAASsP,MAAM,CAACrT,MAAO4S,EAAU,OAAEU,SAAS,SAAUC,GAAMX,EAAI2C,OAAOhC,GAAKE,WAAW,aAAa,GAAGV,EAAG,SAAS,CAACoB,IAAI,aAAalB,MAAM,CAAC,0BAAyB,EAAM,cAAc,GAAG,eAAeL,EAAIuiD,OAAO,WAAa,mBAAmB,YAAY,QAAQ,YAAY,SAAS5uD,GAAG,CAAC,qBAAqB,SAAS4M,GAAQP,EAAIuiD,OAAOhiD,GAAQ,sBAAsB,SAASA,GAAQP,EAAIuiD,OAAOhiD,IAASa,YAAYpB,EAAIqB,GAAG,CAAC,CAAC3T,IAAI,YAAY4T,GAAG,SAASC,GAC/5B,IAAI5N,EAAK4N,EAAI5N,GACT0M,EAAQkB,EAAIlB,MAChB,MAAO,CAACF,EAAG,MAAMH,EAAIwB,GAAGxB,EAAIyB,GAAG,CAACT,YAAY,uDAAuD,MAAMX,GAAM,GAAO1M,GAAI,CAACwM,EAAG,SAAS,CAACa,YAAY,QAAQ,CAAChB,EAAIc,GAAG,iCAAiCd,EAAIc,GAAG,IAAId,EAAI6B,GAAG7B,EAAIuiD,QAAQ,MAAM,QAAQ9hD,MAAM,CAACrT,MAAO4S,EAA6B,0BAAEU,SAAS,SAAUC,GAAMX,EAAI+xG,0BAA0BpxG,GAAKE,WAAW,8BAA8B,CAAEb,EAA6B,0BAAEG,EAAG,gBAAgB,CAACE,MAAM,CAAC,OAAS,QAAQI,MAAM,CAACrT,MAAO4S,EAAU,OAAEU,SAAS,SAAUC,GAAMX,EAAIuiD,OAAO5hD,GAAKE,WAAW,WAAW,CAACV,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQP,EAAI+xG,2BAA4B,KAAS,CAAC/xG,EAAIc,GAAG,YAAYX,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW1M,GAAG,CAAC,MAAQ,SAAS4M,GAAQP,EAAIyxG,MAAMO,WAAW7gH,KAAK6O,EAAIuiD,QAASviD,EAAI7O,UAAW,CAAC6O,EAAIc,GAAG,SAAS,GAAGd,EAAIkC,MAAM,IAAI,SAASlC,EAAIe,GAAG,uBAAuB,IACv3BsB,EAAkB,G,yGCwJDsC,EAAmB,wDAAxC,iD,0BAKE,EAAA1D,wBAA0B,WAC1B,EAAAuwG,6BAA8B,EAC9B,EAAAG,6BAA8B,EAC9B,EAAAE,2BAA4B,EAC5B,EAAAE,2BAA4B,EAC5B,EAAAtvG,SAAmB1S,MAAS2S,QAAQ,QAAQxL,OAAO,cACnD,EAAAorD,SAAW,QACX,EAAA3/C,OAAiB5S,MAASmH,OAAO,cACjC,EAAAqrD,OAAS,QAbX,EAAwC,6DAgBtC,WACE/zD,KAAKiU,SAAW1S,IAAOvB,KAAKyjH,oBAAoBxvG,UAAUvL,OAAO,cACjE1I,KAAK8zD,SAAWvyD,IAAOvB,KAAKyjH,oBAAoBxvG,UAAUvL,OAAO,SACjE1I,KAAKmU,OAAS5S,IAAOvB,KAAKyjH,oBAAoBtvG,QAAQzL,OAAO,cAC7D1I,KAAK+zD,OAASxyD,IAAOvB,KAAKyjH,oBAAoBtvG,QAAQzL,OAAO,WApBzB,uBAuBtC,WACE,MAAO,CACLuL,SAAU1S,IAAO,GAAD,OAAIvB,KAAKiU,SAAT,YAAqBjU,KAAK8zD,WAAYprD,OAAO,oBAC7DyL,OAAQ5S,IAAO,GAAD,OAAIvB,KAAKmU,OAAT,YAAmBnU,KAAK+zD,SAAUrrD,OAAO,uBA1BrB,kBA8BtC,WACE1I,KAAKsU,MAAM,SAAUtU,KAAKoV,eA/BU,qBAkCtC,WACEpV,KAAK0jH,6BAnC+B,GAASx0G,QACvC0G,gBAAPk6D,kBAAO,+BACiCl6D,gBAAxCC,eAAS,WAAY,CAAEE,QAAS,OAAQ,kCACQH,gBAAhDC,eAAS,kBAAmB,CAAEC,UAAU,KAAQ,0CAajDF,gBADCI,eAAM,wBACP,2CAhBmBG,EAAmB,gBAHvCF,eAAU,CACTC,WAAY,MAEOC,WCrK2Y,I,qHCQ5ZC,EAAY,eACd,EACA7E,EACAsC,GACA,EACA,KACA,WACA,MAIa,OAAAuC,EAAiB,QAUhC,IAAkBA,EAAW,CAACC,OAAA,KAAKstG,cAAA,KAAYjtG,QAAA,KAAMuyD,QAAA,KAAMpyD,UAAA,KAAQ+sG,cAAA,Q,mBC5BnE,IAAInnH,EAAO,g2DAEX7B,EAAOD,QAAU8B,G,sPCQXoT,EAAO,wDAAb,iD,0BACU,EAAAg0G,eAAwC,KACxC,EAAAC,SAAqB,GACrB,EAAAC,iBAAqC,GACrC,EAAAC,aAAgD,GAChD,EAAAvmE,iBAAkB,EAClB,EAAAwmE,yBAA0B,EAC1B,EAAAC,sBAAuB,EACvB,EAAAC,uBAAwB,EARlC,EAAa,4DAWJ,SAAsBvlG,GAC3B5e,KAAK6jH,eAAiBjlG,IAZb,8CAgBJ,SAAiCyxB,GACtCrwC,KAAKmkH,sBAAwB9zE,IAjBpB,yBAqBJ,WACLrwC,KAAKy9C,iBAAkB,EACvBz9C,KAAKikH,yBAA0B,IAvBtB,6BA2BJ,SAAgBxlG,GACrBze,KAAKy9C,iBAAkB,EACvBz9C,KAAK8jH,SAAWrlG,IA7BP,sCAiCJ,SAAyBA,GAC9Bze,KAAKikH,yBAA0B,EAC/BjkH,KAAK+jH,iBAAmBtlG,IAnCf,2CAuCJ,SAA8BvD,GAAuD,MACpFkpG,EAAqBpkH,KAAK+jH,iBAAiB5lG,WAAU,SAAAS,GAAM,OAAIA,EAAO1X,KAAOgU,EAAO5W,YACtF8/G,GAAsB,GAAGl1G,aAAIkF,IAAIpU,KAAK+jH,iBAAiBK,GAAqB,cAAelpG,GAC3FA,EAAO5W,YAAP,UAAoBtE,KAAK6jH,sBAAzB,aAAoB,EAAqB38G,KAAIgI,aAAIkF,IAAIpU,KAAK6jH,eAAgB,cAAe3oG,KA1CpF,+BA8CJ,SAAkBm1B,GACvBrwC,KAAKkkH,qBAAuB7zE,IA/CnB,8BAmDJ,SAAiBg0E,GACtBrkH,KAAKgkH,aAAeK,IApDX,iCAwDJ,SAAoBzlG,GACzB5e,KAAKse,QAAQC,OAAO,wBAAyBK,KAzDpC,8FA6DJ,WAA8B1X,GAA9B,kHAEgBlH,KAAKse,QAAQlc,SAAS,MAAO8E,GAF7C,cAEC0X,EAFD,gBAG6B5e,KAAKse,QAAQlc,SAAS,6BAA8B8E,GAHjF,OAGGo9G,EAHH,OAKH1lG,EAAS,iCAAKA,GAAR,IAAgB0lG,sBACtBtkH,KAAKse,QAAQC,OAAO,wBAAyBK,GAN1C,2DAQI,CAAEhhB,QAAS,kCAAmCL,MAAK,MARvD,0DA7DI,6IA0EJ,WAAmBqhB,GAAnB,0GAEG6K,OAAci8B,aAAa9mC,GAF9B,+DAII,CAAEhhB,QAAS,0BAA2BL,MAAK,MAJ/C,wDA1EI,oIAmFJ,WAAU2J,GAAV,oFACAlH,KAAKikH,wBADL,yCAEIjkH,KAAKse,QAAQ+N,QAAQ,yBAAyBnlB,IAFlD,uBAIGlH,KAAKse,QAAQlc,SAAS,0BAJzB,gCAKIpC,KAAKse,QAAQ+N,QAAQ,yBAAyBnlB,IALlD,gDAnFI,+IA6FJ,2GACDuX,EAAU,GADT,kBAGagL,OAAcoF,aAH3B,OAGHpQ,EAHG,gEAKI,CAAE7gB,QAAS,gCAAiCL,MAAK,MALrD,QAOLyC,KAAKse,QAAQC,OAAO,kBAAmBE,GAPlC,yDA7FI,0IAwGJ,iGACAze,KAAKy9C,gBADL,yCAEIz9C,KAAK8jH,UAFT,uBAIG9jH,KAAKse,QAAQlc,SAAS,kBAJzB,gCAKIpC,KAAK8jH,UALT,gDAxGI,sJAkHJ,oHAEH9jH,KAAKse,QAAQC,OAAO,qBAAqB,GAFtC,SAGqCkL,OAAc67B,qBAHnD,OAGG7mC,EAHH,OAIHA,EAAQ0S,SAAQ,SAAAvS,GACd1P,aAAIkF,IAAIwK,EAAQ,cAAe,CAAEta,SAAUsa,EAAO1X,GAAIg3C,kBAAmB6rB,OAAwBzrB,qBAAqB1/B,QAGxH5e,KAAKse,QAAQC,OAAO,2BAA4BE,GAChDze,KAAKse,QAAQC,OAAO,qBAAqB,GATtC,qDAWH/e,QAAQulB,KAAR,MAXG,0DAlHI,kJAkIJ,iGACA/kB,KAAKikH,wBADL,yCAEIjkH,KAAK+jH,kBAFT,uBAIG/jH,KAAKse,QAAQlc,SAAS,0BAJzB,gCAKIpC,KAAK+jH,kBALT,gDAlII,0JA6IJ,WAAiC78G,GAAjC,gHAE6B2tE,OAAgCr2E,IAAI0I,GAFjE,cAEGo9G,EAFH,OAGHtkH,KAAKse,QAAQC,OAAO,gCAAiC+lG,GAHlD,kBAIIA,GAJJ,mCAMH9kH,QAAQulB,KAAR,MANG,yDA7II,kJAwJJ,WAAwBrsB,GAAxB,0GAEG+wB,OAAc87B,kBAAkB7sD,EAAK4L,SAAU5L,EAAK8sD,OAFvD,yDAIHhmD,QAAQulB,KAAR,MAJG,wDAxJI,uGAiKJ,SAAgCsrB,GACrCrwC,KAAKse,QAAQC,OAAO,mCAAoC8xB,KAlK/C,uFAsKJ,6HAEiB6tD,OAAkBnvF,SAFnC,OAEGs1G,EAFH,OAGHrkH,KAAKse,QAAQC,OAAO,mBAAoB8lG,GAHrC,yDAKI,CAAEzmH,QAAS,+BAAgCL,MAAK,MALpD,yDAtKI,0FA+KX,WAAgC,WAC9B,OAAO,SAAC2J,GACN,OAAO,EAAK68G,iBAAiBzhH,MAAK,SAAAsc,GAAM,OAAIA,EAAO1X,KAAOA,QAjLnD,yBAoLX,WACE,OAAOlH,KAAK6jH,iBArLH,2BAwLX,WACE,OAAO7jH,KAAK+jH,mBAzLH,kCA4LX,WACE,OAAO/jH,KAAKikH,0BA7LH,mBAgMX,WACE,OAAOjkH,KAAK8jH,WAjMH,+BAoMX,WACE,OAAO9jH,KAAKkkH,uBArMH,gCAwMX,WACE,OAAOlkH,KAAKmkH,wBAzMH,uBA4MX,WACE,OAAOnkH,KAAKgkH,iBA7MH,GAASllG,QAWpBlJ,gBADCmJ,QACD,0CAKAnJ,gBADCmJ,QACD,qDAKAnJ,gBADCmJ,QACD,gCAMAnJ,gBADCmJ,QACD,oCAMAnJ,gBADCmJ,QACD,6CAMAnJ,gBADCmJ,QACD,kDAOAnJ,gBADCmJ,QACD,sCAKAnJ,gBADCmJ,QACD,qCAKAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,wCAKArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,4CAaArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCASArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,wBAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+BAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,2CAgBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,uCAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+CAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,sCASArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,oDAKArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,qCAtKIpP,EAAO,gBADZqP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,aAC5BgS,GAiNSA,U,qBC5NfjV,EAAOD,QAAU,IAA0B,qD,4CCA3CC,EAAOD,QAAU,IAA0B,gC,qBCA3CC,EAAOD,QAAU,IAA0B,8C,yKCO3C,SAASqhD,EAAOp9B,EAAQ48B,GACtB,IAAIz7C,EAAOC,KACXD,EAAKy7C,UAAYA,EAEjBz7C,EAAK6e,OAASxe,IAAGC,WAAWue,GAE5B7e,EAAKmH,GAAK9G,IAAGC,aACbN,EAAKlC,KAAOuC,IAAGC,aACfN,EAAKi+C,QAAU59C,IAAGC,aAClBN,EAAKivB,UAAY5uB,IAAGC,aACpBN,EAAKwkH,QAAUnkH,IAAGC,aAClBN,EAAKksD,eAAiB7rD,IAAGC,aACzBN,EAAKuhH,YAAclhH,IAAGC,aACtBN,EAAK0lD,UAAYrlD,IAAGC,aACpBN,EAAKykH,iBAAmBpkH,IAAGC,aAC3BN,EAAK0kH,gBAAkBrkH,IAAGC,aAC1BN,EAAK2kH,eAAiBtkH,IAAGC,aACzBN,EAAK4kH,cAAgBvkH,IAAGC,aACxBN,EAAKy8C,aAAep8C,IAAGC,aACvBN,EAAKkvB,eAAiB7uB,IAAGC,aACzBN,EAAK6kH,sBAAwBxkH,IAAGC,aAChCN,EAAK8kH,6BAA+BzkH,IAAGC,aACvCN,EAAK+kH,4BAA8B1kH,IAAGC,aACtCN,EAAKglH,2BAA6B3kH,IAAGC,aACrCN,EAAKilH,0BAA4B5kH,IAAGC,aACpCN,EAAKklH,sBAAwB7kH,IAAGC,aAChCN,EAAKmlH,iBAAmB9kH,IAAGC,aAC3BN,EAAKolH,iBAAmB/kH,IAAGC,YAAW,GACtCN,EAAKqlH,aAAehlH,IAAGC,YAAW,GAClCN,EAAKslH,wBAA0BjlH,IAAGC,YAAW,GAC7CN,EAAKulH,uBAAyBllH,IAAGC,YAAW,GAC5CN,EAAKwlH,sBAAwBnlH,IAAGC,YAAW,GAC3CN,EAAKylH,qBAAuBplH,IAAGC,YAAW,GAC1CN,EAAK0lH,YAAcrlH,IAAGC,YAAW,GACjCN,EAAKqlG,gBAAkB,GAEnBxmF,IACF7e,EAAKmH,GAAG0X,EAAO1X,IACfnH,EAAKlC,KAAK+gB,EAAO/gB,MACjBkC,EAAKivB,UAAUpQ,EAAOoQ,WACtBjvB,EAAKwkH,QAAQ3lG,EAAO2lG,SACpBxkH,EAAKksD,eAAerpD,aAAEg/B,OAAOhjB,EAAOqtC,gBAAkB,GAAKrtC,EAAOqtC,gBAClElsD,EAAKuhH,YAAY1iG,EAAO0iG,aACxBvhH,EAAK0lD,UAAU7mC,EAAO6mC,WACtB1lD,EAAKykH,iBAAiB5lG,EAAO4lG,kBAC7BzkH,EAAK0kH,gBAAgB7lG,EAAO6lG,iBAC5B1kH,EAAK2kH,eAAe9lG,EAAO8lG,gBAC3B3kH,EAAK4kH,cAAc/lG,EAAO+lG,eAC1B5kH,EAAKy8C,aAAa59B,EAAO49B,cACzBz8C,EAAKkvB,eAAerQ,EAAOqQ,gBAC3BlvB,EAAKi+C,QAAQj+C,EAAK2lH,WAAW3lH,EAAKuhH,gBAClCvhH,EAAKqlG,gBAAkBxmF,EAAOylF,UAGhCtkG,EAAKyuF,SAAWpuF,IAAGc,cAAa,WAC9B,MAA+B,WAAxBnB,EAAKy8C,kBAGdz8C,EAAK4lH,mBAAqBvlH,IAAGc,cAAa,WACxC,IAAI8tB,EAAYjvB,EAAKivB,YACjB42F,GAAmB,UAAY52F,GAAWpvB,OAAO,GACrD,MAAO,MAAQgmH,KAGjB7lH,EAAK8lH,qBAAuBzlH,IAAGc,cAAa,WAC1C,OAAOX,OAAWC,sBAAsBT,EAAKwkH,cAG/CxkH,EAAK+lH,wBAA0B1lH,IAAGc,cAAa,WAC7C,OAAOX,OAAWC,sBAAsBT,EAAKksD,qBAG/ClsD,EAAKgmH,cAAgB3lH,IAAGc,cAAa,WACnC,OAAOnB,EAAK0lH,eAAiB1lH,EAAKolH,oBAAsBplH,EAAKqlH,gBACxDrlH,EAAKslH,2BAA6BtlH,EAAKulH,0BACvCvlH,EAAKwlH,yBAA2BxlH,EAAKylH,0BAG5CzlH,EAAKimH,YAAcjmH,EAAKlC,KAAKyjB,WAAU,SAAU0N,GAC/C,IAAIvqB,EAAe1E,EAAKkmH,sBACxBlmH,EAAKmmH,cAAczhH,EAAc1E,EAAKmlH,iBAAkBnlH,EAAK0lH,gBAG/D1lH,EAAKomH,iBAAmBpmH,EAAKivB,UAAU1N,WAAU,SAAU0N,GACzD,IAAIvqB,EAAe1E,EAAKqmH,2BACxBrmH,EAAKmmH,cAAczhH,EAAc1E,EAAKklH,sBAAuBllH,EAAKolH,qBAGpEplH,EAAKsmH,iBAAmBtmH,EAAK0lD,UAAUnkC,WAAU,SAAUmkC,GACzD,IAAIhhD,EAAe1E,EAAKumH,2BACxBvmH,EAAKmmH,cAAczhH,EAAc1E,EAAK6kH,sBAAuB7kH,EAAKqlH,iBAGpErlH,EAAKwmH,wBAA0BxmH,EAAKykH,iBAAiBljG,WAAU,SAAUkjG,GACvE,IAAM//G,EAAe1E,EAAKymH,kCAC1BzmH,EAAKmmH,cAAczhH,EAAc1E,EAAK8kH,6BAA8B9kH,EAAKslH,4BAG3EtlH,EAAK0mH,uBAAyB1mH,EAAK0kH,gBAAgBnjG,WAAU,SAAUmjG,GACrE,IAAMhgH,EAAe1E,EAAK2mH,iCAC1B3mH,EAAKmmH,cAAczhH,EAAc1E,EAAK+kH,4BAA6B/kH,EAAKulH,2BAG1EvlH,EAAK4mH,sBAAwB5mH,EAAK2kH,eAAepjG,WAAU,SAAUojG,GACnE,IAAMjgH,EAAe1E,EAAK6mH,gCAC1B7mH,EAAKmmH,cAAczhH,EAAc1E,EAAKglH,2BAA4BhlH,EAAKwlH,0BAGzExlH,EAAK8mH,qBAAuB9mH,EAAK4kH,cAAcrjG,WAAU,SAAUqjG,GACjE,IAAMlgH,EAAe1E,EAAK+mH,+BAC1B/mH,EAAKmmH,cAAczhH,EAAc1E,EAAKilH,0BAA2BjlH,EAAKylH,yBAI1ExpE,EAAO5iD,UAAU8sH,cAAgB,SAAUzhH,EAAcsiH,EAAwBC,GAC3EviH,GACFsiH,EAAuBtiH,GACvBuiH,GAA0B,KAE1BD,EAAuB,IACvBC,GAA0B,KAI9BhrE,EAAO5iD,UAAU6sH,oBAAsB,WACrC,IAAIxhH,EACA5G,EAAOmC,KAAKnC,OAOhB,OALI+E,aAAE2C,YAAY1H,IAAkB,KAATA,EACzB4G,EAAe,0BACN5G,EAAK3E,OAAS,KACvBuL,EAAe,oDAEVA,GAGTu3C,EAAO5iD,UAAUgtH,yBAA2B,WAC1C,IAAI3hH,EACAuqB,EAAYhvB,KAAKgvB,YAYrB,OAVIpsB,aAAE2C,YAAYypB,IAA4B,KAAdA,EAC9BvqB,EAAe,0BAEfuqB,EAAYN,WAAWM,GAClBpsB,aAAEwrB,SAASY,GAELA,EAAU0F,WAAWx7B,OAAS,IACvCuL,EAAe,uCAFfA,EAAe,+BAKZA,GAGTu3C,EAAO5iD,UAAUktH,yBAA2B,WAC1C,IAAI7hH,EACAghD,EAAYzlD,KAAKylD,YAarB,OAXI7iD,aAAE2C,YAAYkgD,IAA4B,KAAdA,EAC9BhhD,EAAe,+BAEfghD,EAAY/2B,WAAW+2B,GAClB7iD,aAAEwrB,SAASq3B,IAGPA,EAAY,GAAKA,EAAY,MACpChhD,EAAe,4CAHfA,EAAe,oCAMZA,GAGTu3C,EAAO5iD,UAAU6tH,qBAAuB,SAAUC,EAAYC,GAC5D,IAAI1iH,EAUJ,YARmB3G,IAAfopH,GAA2C,KAAfA,IAC9BA,EAAax4F,WAAWw4F,GACpB/wC,MAAM+wC,GACRziH,EAAe,OAAH,OAAU0iH,EAAV,4BACHD,EAAa,GAAKA,EAAa,MACxCziH,EAAe,OAAH,OAAU0iH,EAAV,qCAGT1iH,GAGTu3C,EAAO5iD,UAAUotH,gCAAkC,WACjD,OAAOxmH,KAAKinH,qBAAqBjnH,KAAKwkH,mBAAoB,uBAG5DxoE,EAAO5iD,UAAUstH,+BAAiC,WAChD,OAAO1mH,KAAKinH,qBAAqBjnH,KAAKykH,kBAAmB,sBAG3DzoE,EAAO5iD,UAAUwtH,8BAAgC,WAC/C,OAAO5mH,KAAKinH,qBAAqBjnH,KAAK0kH,iBAAkB,qBAG1D1oE,EAAO5iD,UAAU0tH,6BAA+B,WAC9C,OAAO9mH,KAAKinH,qBAAqBjnH,KAAK2kH,gBAAiB,oBAIzD3oE,EAAO5iD,UAAUssH,WAAa,SAAUpE,GACtC,OAAO1+G,aAAEN,KAAKtC,KAAKw7C,WAAW,SAAUwC,GACtC,OAAOA,EAAQngD,OAASyjH,MAI5BtlE,EAAO5iD,UAAUguH,UAAY,WAC3B,IAAIC,EAAiBrnH,KAAK4e,SACtBA,EAASyoG,EAAiBzkH,aAAEC,MAAMwkH,GAAkB,GAexD,OAdAzoG,EAAO1X,GAAKlH,KAAKkH,KACjB0X,EAAO/gB,KAAOmC,KAAKnC,OACnB+gB,EAAO0iG,YAActhH,KAAKshH,cAC1B1iG,EAAOoQ,UAAYhvB,KAAKgvB,YACxBpQ,EAAO2lG,QAAUvkH,KAAKukH,UACtB3lG,EAAO6mC,UAAYzlD,KAAKylD,YACxB7mC,EAAO4lG,iBAAmBxkH,KAAKwkH,mBAC/B5lG,EAAO6lG,gBAAkBzkH,KAAKykH,kBAC9B7lG,EAAO8lG,eAAiB1kH,KAAK0kH,iBAC7B9lG,EAAO+lG,cAAgB3kH,KAAK2kH,gBAC5B/lG,EAAOqQ,eAAiBjvB,KAAKivB,iBAC7BrQ,EAAO49B,aAAex8C,KAAKw8C,eAC3B59B,EAAOylF,SAAWrkG,KAAKolG,gBAEhBxmF,GAGTo9B,EAAO5iD,UAAU8J,OAAS,SAAUlH,GAClC,IAAI+D,EAAOC,KACPo8C,EAA6B,kBAATpgD,EAAoBA,EAAO,aAC/C4iB,EAAS5e,KAAKonH,YACdppE,EAAUh+C,KAAKg+C,UACf9uB,EAAY8uB,EAAUA,EAAQ92C,GAAK,EACnCogH,EAAoBvnH,EAAKumH,2BACzBzB,EAA+B9kH,EAAKymH,kCACpC1B,EAA8B/kH,EAAK2mH,iCACnC3B,EAA6BhlH,EAAK6mH,gCAClC5B,EAA4BjlH,EAAK+mH,+BACjCS,EAAyBxnH,EAAKqmH,2BAC9BlB,EAAmBnlH,EAAKkmH,sBAEvBqB,GAAsBC,GAA2BrC,GAoBpDnlH,EAAKmmH,cAAcoB,EAAmBvnH,EAAK6kH,sBAAuB7kH,EAAKqlH,cACvErlH,EAAKmmH,cAAcqB,EAAwBxnH,EAAKklH,sBAAuBllH,EAAKolH,kBAC5EplH,EAAKmmH,cAAchB,EAAkBnlH,EAAKmlH,iBAAkBnlH,EAAK0lH,aACjE1lH,EAAKmmH,cAAcrB,EAA8B9kH,EAAK8kH,6BAA8B9kH,EAAKslH,yBACzFtlH,EAAKmmH,cAAcpB,EAA6B/kH,EAAK+kH,4BAA6B/kH,EAAKulH,wBACvFvlH,EAAKmmH,cAAcnB,EAA4BhlH,EAAKglH,2BAA4BhlH,EAAKwlH,uBACrFxlH,EAAKmmH,cAAclB,EAA2BjlH,EAAKilH,0BAA2BjlH,EAAKylH,uBAzB/E5mG,EAAO1X,GACTiyC,OAA6Bj2C,OAAO0b,GAAQzb,MAAK,WAC/CtC,OAAOs7C,4BAA4B/5C,SAASg6C,EAAYx9B,EAAO/gB,SAGjEs7C,OAA6BrqB,aAAalQ,GAAQzb,MAAK,SAAUzK,GAC/D,IAAI8uH,EAAe,WACjB,IAAItsE,EAAW8C,EAAU,kBAAoB,oBAC7Cn9C,OAAOs7C,4BAA4B/5C,SAAS,eAAgBwc,EAAO/gB,MACnEgD,OAAOk7C,cAAc35C,SAAS84C,IAE5BhsB,EACFiqB,OAA6BxjC,OAAOjd,EAAKwO,GAAIgoB,GAAW/rB,KAAKqkH,GAE7DA,QAeVxrE,EAAO5iD,UAAUquH,QAAU,WAAY,WACrCtuE,OAA6B5pB,cAAcvvB,KAAKkH,MAAM/D,MAAK,WACzDtC,OAAOs7C,4BAA4B/5C,SAAS,gBAAiB,EAAKvE,QAClEgD,OAAOk7C,cAAc35C,SAAS,mBAC9BwkB,OAAMxkB,SAAS,sCAInB45C,EAAO5iD,UAAUqsG,SAAW,WAAY,WACtCtsD,OAA6B3pB,eAAexvB,KAAKkH,MAAM/D,MAAK,WAC1DtC,OAAOs7C,4BAA4B/5C,SAAS,iBAAkB,EAAKvE,QACnEgD,OAAOk7C,cAAc35C,SAAS,mBAC9BwkB,OAAMxkB,SAAS,sCAInB45C,EAAO5iD,UAAUssG,WAAa,WAAY,WACxCvsD,OAA6B1pB,iBAAiBzvB,KAAKkH,MAAM/D,MAAK,WAC5DtC,OAAOs7C,4BAA4B/5C,SAAS,mBAAoB,EAAKvE,QACrEgD,OAAOk7C,cAAc35C,SAAS,mBAC9BwkB,OAAMxkB,SAAS,sCAInB45C,EAAO5iD,UAAUsuH,WAAa,WAAY,WACxCvuE,OAA6B3pB,eAAexvB,KAAKkH,MAAM/D,MAAK,WAC1DtC,OAAOs7C,4BAA4B/5C,SAAS,iBAAkB,EAAKvE,QACnEgD,OAAOk7C,cAAc35C,SAAS,mBAC9BwkB,OAAMxkB,SAAS,sCAInB45C,EAAO5iD,UAAUuuH,mBAAqB,WAAY,IAE5C3qH,EAF4C,OAC5C+C,EAAOC,KAEP4nH,GAAqB5nH,KAAKivB,iBAC1B44F,EAAa,GAEbvjH,EAAWtE,KAAKkH,KAcpB,OAbI0gH,GACF5qH,EAAUm8C,OAA6B9pB,kBAAkB/qB,GACzDujH,EAAa,sBAEb7qH,EAAUm8C,OAA6B7pB,oBAAoBhrB,GAC3DujH,EAAa,uBAEf7qH,EAAQmG,MAAK,WACXpD,EAAKkvB,eAAe24F,GACpB/mH,OAAOs7C,4BAA4B/5C,SAASylH,EAAY,EAAKhqH,QAC7DgD,OAAOo7C,iBAAiB75C,cAGnBpF,GAGTg/C,EAAO5iD,UAAUs2B,aAAe,WAAY,IACtC1yB,EADsC,OAEtC8qH,EAAgBliH,QAAQ,mCAAqC5F,KAAKnC,OAAS,KAQ/E,OAPIiqH,IACF9qH,EAAUm8C,OAA6BzpB,aAAa1vB,KAAKkH,MACzDlK,EAAQmG,MAAK,WACXtC,OAAOy7C,cAAcl6C,SAAS,eAAgB,EAAKvE,QACnD+oB,OAAMxkB,SAAS,sCAGZpF,GAGTg/C,EAAO5iD,UAAUuI,QAAU,WACzB3B,KAAKmmH,iBAAiBxkH,UACtB3B,KAAKqmH,iBAAiB1kH,UACtB3B,KAAKumH,wBAAwB5kH,UAC7B3B,KAAKymH,uBAAuB9kH,UAC5B3B,KAAK2mH,sBAAsBhlH,UAC3B3B,KAAK6mH,qBAAqBllH,UAC1B3B,KAAKgmH,YAAYrkH,WAGJq6C,U,mBCpWf,IAAIv/C,EAAO,6+CAEX7B,EAAOD,QAAU8B,G,kFCAbkgB,EAAS,aAIbA,EAAOvjB,UAAUkJ,KAAO,SAASgC,GAC7B,IAAIwK,EAAS,CACTxK,SAAUA,GAGd,OAAOsY,OAAIpe,IAAI,mBAAoBsQ,IAGvC6N,EAAOvjB,UAAU6F,OAAS,SAASu5C,GAC/B,OAAO57B,OAAIG,KAAK,cAAey7B,IAGnC77B,EAAOvjB,UAAU2K,OAAS,SAASy0C,GAC/B,OAAO57B,OAAIW,IAAI,eAAiBi7B,EAAUtxC,IAAI/D,MAAK,WAC/CtC,OAAO6lD,iBAAiBtkD,SAASo2C,OAI1B,WAAI77B,G,yICpBnB,SAAS9c,EAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKE,kBAAoBH,EAAOG,kBAChCF,EAAKovF,sBAAwBpvF,EAAKE,kBAAkBkvF,sBACpDpvF,EAAKG,YAAcJ,EAAOG,kBAAkBC,YAC5CH,EAAK2rF,sBAAwB3rF,EAAKE,kBAAkByrF,sBACpD3rF,EAAK4rF,SAAW5rF,EAAKovF,sBAAsBxD,SAC3C5rF,EAAK8rF,qBAAuB9rF,EAAKovF,sBAAsBtD,qBACvD9rF,EAAKgsF,mBAAqBhsF,EAAKovF,sBAAsBpD,mBACrDhsF,EAAKmsF,gBAAkBnsF,EAAKovF,sBAAsBjD,gBAClDnsF,EAAKgoH,yBAA2B3nH,IAAGC,aACnCN,EAAK6xC,SAAWxxC,IAAGC,YAAW,GAE9B,IAAI2nH,EAAqC,WACrC,IAAI97B,EAAkBnsF,EAAKmsF,kBAC3BnsF,EAAKgoH,yBAAyB77B,IAGlC87B,IACAjoH,EAAKkoH,gBAAkBloH,EAAK4rF,SAASrqE,WAAU,WAC3C0mG,OAGJjoH,EAAKI,UAAYC,IAAGC,YAAW,GAGnCR,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKioH,gBAAgBtmH,WAGzB9B,EAAUzG,UAAUyI,aAAe,SAASC,EAAIhH,GAC5C,IAAIiF,EAAOC,KACXD,EAAKI,WAAU,GAEf,IAAIkC,EAASL,EAAElH,EAAEmH,eAAeC,QAAQ,iBAAiBI,KAAK,SAC9DD,EAAOE,QACPF,EAAOG,SAEPH,EAAOy1D,IAAI,SACXz1D,EAAO8C,GAAG,SACN,SAASrK,GACa,KAAdA,EAAE+pD,SACF9kD,EAAK0C,oBAKrB5C,EAAUzG,UAAUqJ,cAAgB,SAASX,EAAIhH,GAC7CkF,KAAKG,WAAU,IAGnBN,EAAUzG,UAAUuJ,KAAO,WACvB,IAAI5C,EAAOC,KACPE,EAAc0C,aAAEC,MAAM9C,EAAKG,eAC/BA,EAAY0rF,eAAiB1rF,EAAY0rF,gBAAkB,GAC3D1rF,EAAY0rF,eAAeE,oBAAsBp9D,WAAW3uB,EAAKgoH,4BAEjEhoH,EAAK6xC,UAAS,GACd3uC,OAAiCC,OAAOhD,GAAaiD,MAAK,SAASqlC,GAC/DzoC,EAAKG,YAAYsoC,GACjBzoC,EAAK0C,mBACNwM,QAAO,WACNlP,EAAK6xC,UAAS,OAIP,QAAExuC,UAAWvD,EAAWwD,SAAUA,O,wDCvEjD,qCAGIxD,EAAY,SAASimF,EAAY/oB,GACjC,IAAIh9D,EAAOC,KAEXD,EAAKg9D,SAAWA,EAEhBh9D,EAAK2jB,EAAItjB,IAAGC,WAAWylF,EAAWpiE,GAClC3jB,EAAK01C,EAAIr1C,IAAGC,WAAWylF,EAAWrwC,GAElC11C,EAAKmoH,wBAA0B9nH,IAAGc,cAAa,WAC3C,IAAI67D,EAAWh9D,EAAKg9D,WAEpB,MAAoB,WAAbA,GAAsC,eAAbA,GAA0C,gBAAbA,KAGjEh9D,EAAKooH,wBAA0B/nH,IAAGc,cAAa,WAC3C,IAAI67D,EAAWh9D,EAAKg9D,WAEpB,MAAoB,WAAbA,GAAsC,eAAbA,GAA0C,gBAAbA,KAGjEh9D,EAAKqoH,UAAYhoH,IAAGc,cAAa,WAC7B,IAAIwiB,EAAIgL,WAAW3uB,EAAK2jB,KACpB+xB,EAAI/mB,WAAW3uB,EAAK01C,KACxB,MAAO,CAAC/xB,EAAG+xB,MAGf11C,EAAK03C,MAAQr3C,IAAGc,cAAa,WACzB,IAAIwiB,EAAIgL,WAAW3uB,EAAK2jB,KACpB+xB,EAAI/mB,WAAW3uB,EAAK01C,KACxB,MAAO,CACH/xB,EAAGA,EACH+xB,EAAGA,MAIX11C,EAAKsoH,SAAWjoH,IAAGc,cAAa,WAC5B,IAAIwiB,EAAI3jB,EAAK2jB,IAETwkG,GADWnoH,EAAKg9D,WACUh9D,EAAKmoH,2BAC/B95F,EAAWxrB,aAAEwrB,SAAS1K,GAE1B,OAAKwkG,EAIE95F,EAHIA,GAAY1K,EAAI,KAM/B3jB,EAAKuoH,SAAWloH,IAAGc,cAAa,WAC5B,IAAIu0C,EAAI11C,EAAK01C,IAET0yE,EAA0BpoH,EAAKooH,0BAC/B/5F,EAAWxrB,aAAEwrB,SAASqnB,GAE1B,OAAK0yE,EAIE/5F,EAHIA,GAAYqnB,EAAI,KAM/B11C,EAAK0Y,QAAUrY,IAAGc,cAAa,WAC3B,IAAImnH,EAAWtoH,EAAKsoH,WAChBC,EAAWvoH,EAAKuoH,WACpB,OAAOD,GAAYC,MAIZzoH,U,mBCtEf,IAAIpD,EAAO,+9CAEX7B,EAAOD,QAAU8B,G,4CCHjB,SAAS8rH,EAAiBC,GAEtB,OADAA,EAAU5+F,OAAO4+F,GACVA,EAAU,GAGrB,SAASC,EAAeD,GAEpB,OADAA,EAAU5+F,OAAO4+F,GACVD,EAAiBC,GAAW,GAGvC,SAASE,EAAcF,GAEnB,OADAA,EAAU5+F,OAAO4+F,GACVD,EAAiBC,GAAW,GAGvC,SAASG,EAAYh/F,GAEjB,OADAA,EAAOC,OAAOD,GACA,GAAPA,EAGX,SAASwX,EAAajF,GAClB,IAAID,EAAiB,IACrB,OAAOC,EAAQD,EAAiB,GAAK,GAG1B,QACXwsF,eAAgB,SAASD,GACrB,OAAOC,EAAeD,IAE1BE,cAAe,SAASF,GACpB,OAAOE,EAAcF,IAEzBG,YAAa,SAASh/F,GAClB,OAAOg/F,EAAYh/F,IAEvBwX,aAAc,SAASjF,GACnB,OAAOiF,EAAajF,M,mBCnC5B,IAAIz/B,EAAO,29DAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,0zEAEX7B,EAAOD,QAAU8B,G,kCCHjB,gBAEImsH,EAAoB,aAIxBA,EAAkBxvH,UAAU2K,OAAS,SAAU8kH,GAC3C,OAAOjsG,OAAIW,IAAI,gBAAkBsrG,IAGrCD,EAAkBxvH,UAAU8J,OAAS,SAASK,GAC1C,OAAOqZ,OAAIK,IAAI,eAAgB1Z,IAGnCqlH,EAAkBxvH,UAAU2V,OAAS,SAAUzK,GAC3C,IAAIwK,EAAS,CACTxK,SAAUA,GAEd,OAAOsY,OAAIpe,IAAI,eAAgBsQ,IAGnC85G,EAAkBxvH,UAAUmhE,SAAW,SAASsuD,GAC5C,OAAOjsG,OAAI+Z,aAAa,gBAAkBkyF,IAG9CD,EAAkBxvH,UAAU0vH,WAAa,SAAUD,GAC/C,IAAI/5G,EAAS,CACTspD,SAAS,GAGb,OAAOx7C,OAAIpe,IAAI,gBAAkBqqH,EAAQ/5G,IAG9B,WAAI85G,G,mBCjCnBhuH,EAAOD,QAAU,sN,qBCAjBC,EAAOD,QAAU,IAA0B,6B,kCCA3C,4BAGIgiB,EAAS,aAIbA,EAAOvjB,UAAU2V,OAAS,WACtB,OAAO6N,OAAIpe,IAAI,eAGnBme,EAAOvjB,UAAU6F,OAAS,SAAS25C,GAC/B,OAAOh8B,OAAIG,KAAK,aAAc67B,IAGlCj8B,EAAOvjB,UAAU2K,OAAS,SAAS60C,GAC/B,OAAOh8B,OAAIW,IAAI,cAAgBq7B,EAAS1xC,IAAI/D,MAAK,WAC7CtC,OAAOwmD,gBAAgBjlD,SAASw2C,OAIzB,WAAIj8B,G,sECnBf0Z,EAAmB,aAIvBA,EAAiBj9B,UAAUkJ,KAAO,SAAUyf,GACxC,IAAIjT,EAAS,CACTiT,YAAaA,GAGjB,OAAOnF,OAAIpe,IAAI,yBAA0BsQ,IAG7CunB,EAAiBj9B,UAAUqpB,SAAW,SAAUF,GAC5C,IAAIzT,EAAS,CACTyT,aAAcA,GAGlB,OAAO3F,OAAIpe,IAAI,yBAA0BsQ,IAG7CunB,EAAiBj9B,UAAU69B,KAAO,SAASlN,GAEzC,OAAOnN,OAAIpe,IAAI,yBAA0BurB,IAG3CsM,EAAiBj9B,UAAUwnB,iBAAmB,SAASmJ,GACrD,OAAOnN,OAAIpe,IAAI,oBAAqBurB,IAGtCsM,EAAiBj9B,UAAU89B,WAAa,SAASnN,GAC/C,OAAOnN,OAAIpe,IAAI,+BAAgCurB,IAEjDsM,EAAiBj9B,UAAU+9B,YAAc,SAASjwB,GAChD,OAAO0V,OAAIpe,IAAI,eAAgB,CAAC8F,SAAU4C,KAG7B,WAAImvB,G,kNC7Bb5mB,EAAU,wDAAhB,iD,0BACU,EAAAs5G,mBAAwC,GADlD,EAAgB,6DAIP,SAAuB1oG,GAC5B,IAAMgsF,EAAsC,GAE5ChsF,EAAW8Q,SAAQ,SAAAjR,GACjBmsF,EAAiBnsF,EAAUriB,MAAQ,CAAEqiB,gBAGvClgB,KAAK+oH,mBAAqB1c,IAXd,uCAeP,SAA0BF,GAC/BnsG,KAAK+oH,mBAAmB5c,EAAgBjsF,UAAUriB,MAAQsuG,IAhB9C,4FAoBP,WAA4B7nG,GAA5B,kHAEuB+xB,OAAiBE,eAAejyB,GAFvD,UAEG+b,EAFH,OAGGwG,EAAgBxX,OAAMgd,QAAQ,yBAE/BxF,GAAiBA,EAAc3f,KAAO5C,EALxC,iDAMEtE,KAAKse,QAAQC,OAAO,yBAA0B8B,GANhD,sFAQIplB,QAAQE,OAAR,qDARJ,0DApBO,4JAiCP,WAAkCzC,GAAlC,4FACAsH,KAAK+oH,mBADL,yCACgC9tH,QAAQE,UADxC,gCAIgD67B,OAAuB10B,KAAK5J,EAAKwnB,UAAUhZ,IAJ3F,UAIG0Z,EAJH,OAKGiG,EAAgBxX,OAAMgd,QAAQ,yBAE/BxF,GAAiBA,EAAc3f,KAAOxO,EAAK4L,SAP7C,mDAQEtE,KAAKse,QAAQC,OAAO,4BAA6B,CAAE2B,UAAWxnB,EAAKwnB,UAAWU,qBARhF,sFAUI3lB,QAAQE,OAAR,+CAVJ,0DAjCO,sJAgDP,WAA4BzC,GAA5B,kHAEwC29B,OAAiBnzB,OAAOxK,EAAKwnB,WAFrE,UAEG8oG,EAFH,OAGGniG,EAAgBxX,OAAMgd,QAAQ,yBAE/BxF,GAAiBA,EAAc3f,KAAOxO,EAAK4L,SAL7C,iDAMEtE,KAAKse,QAAQlc,SAAS,8BAA+B,CAAEkC,SAAU5L,EAAK4L,SAAU4b,UAAW8oG,IAN7F,sFAQI/tH,QAAQE,OAAR,+CARJ,0DAhDO,sFA4Dd,WACE,OAAO6E,KAAK+oH,qBA7DA,iCAgEd,WAAyB,WACvB,OAAO,SAAClrH,GACN,OAAO,EAAKkrH,mBAAmBlrH,QAlErB,GAASihB,QAIvBlJ,gBADCmJ,QACD,2CAWAnJ,gBADCmJ,QACD,8CAKAnJ,gBADCoJ,QACD,0CAaApJ,gBADCoJ,QACD,gDAeApJ,gBADCoJ,QACD,0CAhDIvP,EAAU,gBADfyP,eAAO,CAAEC,YAAY,EAAMthB,KAAM,gBAC5B4R,GAuESA,U,mBC/Ef,IAAIhT,EAAO,qjBAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,uzQAEX7B,EAAOD,QAAU8B,G,mBCHjB7B,EAAOD,QAAU,8oB,mBCCjB,IAAI8B,EAAO,06EAEX7B,EAAOD,QAAU8B,G,qBCHjB7B,EAAOD,QAAU,IAA0B,4C,mBCA3CC,EAAOD,QAAU,8wB,qBCAjBC,EAAOD,QAAU,IAA0B,sC,8KCKvCkF,EAAY,SAAUoS,EAAOupC,GAC7B,IAAIz7C,EAAOC,KACXD,EAAKoqC,qBAAkBrsC,EACvBiC,EAAK6uG,YAAcpzD,EACnBz7C,EAAKmH,GAAK9G,IAAGC,aACbN,EAAKlC,KAAOuC,IAAGC,aAAakX,OAAO,CAC/BzB,UAAU,EACV2B,WAAY,CACRC,OAAO,EACPC,UAAW,SAAUC,EAAK9X,EAAQoS,GACD,MAAxBnS,EAAKoqC,iBAA6B5hC,OAAasP,iBAAiBD,EAAK7X,EAAKoqC,gBAAgBtsC,MAE3FqU,GAAS,GAETA,GAAUnS,EAAK6uG,YAAY92F,OAAOF,KAG1Cha,QAAS,8CAGjBmC,EAAKkpH,YAAc7oH,IAAGC,aACtBN,EAAKmpH,aAAe9oH,IAAGC,aACvBN,EAAKopH,aAAe/oH,IAAGC,aAAakX,OAAO,CAAEC,OAAO,IACpDzX,EAAKsvG,mBAAqBjvG,IAAGC,aAC7BN,EAAKqpH,sBAAwBhpH,IAAGC,aAChCN,EAAK4xC,MAAQvxC,IAAGC,aAEhBN,EAAKuY,SAASrG,GAGdlS,EAAKwY,OAASnY,IAAGqX,WAAWe,MAAMzY,GAClCA,EAAK0Y,QAAUrY,IAAGsY,UAAS,WACvB,OAAgC,IAAzB3Y,EAAKwY,SAASrf,WAI7B2G,EAAUzG,UAAUkf,SAAW,SAAUrG,GACrC,IAAIlS,EAAOC,KAEXD,EAAKoqC,gBAAkBl4B,EAEnBA,GAEAlS,EAAKmH,GAAG+K,EAAM/K,IACdnH,EAAKlC,KAAKoU,EAAMpU,MAChBkC,EAAKkpH,YAAYh3G,EAAMg3G,aACvBlpH,EAAKmpH,aAAaj3G,EAAMi3G,cACxBnpH,EAAKopH,aAAal3G,EAAMk3G,cACxBppH,EAAKsvG,mBAAmBp9F,EAAMo9F,oBAC9BtvG,EAAKqpH,sBAAsBn3G,EAAMm3G,uBACjCrpH,EAAK4xC,MAAM1/B,EAAM0/B,SAGjB5xC,EAAKmH,QAAGpJ,GACRiC,EAAKlC,UAAKC,GACViC,EAAKkpH,iBAAYnrH,GACjBiC,EAAKmpH,kBAAaprH,GAClBiC,EAAKopH,kBAAarrH,GAClBiC,EAAKsvG,wBAAmBvxG,GACxBiC,EAAKqpH,2BAAsBtrH,GAC3BiC,EAAK4xC,WAAM7zC,KAInB+B,EAAUzG,UAAUiwH,mBAAqB,WACrC,OAAOrpH,KAAKmqC,iBAGhBtqC,EAAUzG,UAAUuJ,KAAO,WACvB,IAWI3F,EAXA+C,EAAOC,KACPg+C,EAAUp7C,aAAEC,MAAM9C,EAAKoqC,kBAAoB,GAmB/C,OAjBA6T,EAAQngD,KAAOkC,EAAKlC,OACpBmgD,EAAQirE,YAAclpH,EAAKkpH,cAC3BjrE,EAAQkrE,aAAenpH,EAAKmpH,eAC5BlrE,EAAQmrE,aAAeppH,EAAKopH,eAC5BnrE,EAAQqxD,mBAAqBtvG,EAAKsvG,qBAClCrxD,EAAQorE,sBAAwBrpH,EAAKqpH,wBACrCprE,EAAQrM,MAAQ5xC,EAAK4xC,QAIjB30C,EADAghD,EAAQ92C,GACEu1C,OAAgBv5C,OAAO86C,GAEvBvB,OAAgBx9C,OAAO++C,GAErChhD,EAAQmG,MAAK,SAAUzK,GACnBqH,EAAKuY,SAAS5f,MAEXsE,GAGX6C,EAAUzG,UAAU2K,OAAS,WACzB,OAAO04C,OAAgB14C,OAAO/D,KAAKmqC,kBAGxBtqC,QC/FXA,G,wCAAY,WACZ,IAAIE,EAAOC,KACXD,EAAK6uG,YAAcxuG,IAAGwK,gBAAgB,IACtC7K,EAAKkZ,UAAY7Y,IAAGC,YAAW,GAE/BN,EAAKmZ,OAELnZ,EAAKupH,wBAA0BzoH,OAAOsnD,iBAAiBpnD,KAAI,SAAUwoH,GACjExpH,EAAK6uG,YAAYp1G,KAAK+vH,MAG1BxpH,EAAKypH,wBAA0B3oH,OAAOunD,iBAAiBrnD,KAAI,SAAU0oH,EAAYC,GAC7E3pH,EAAK6uG,YAAYxoG,QAAQqjH,EAAYC,MAGzC3pH,EAAK4pH,wBAA0B9oH,OAAOwnD,iBAAiBtnD,KAAI,SAAU6oH,GACjE7pH,EAAK6uG,YAAY7qG,QAAO,SAAUi6C,GAC9B,OAAOA,EAAQ92C,KAAO0iH,EAAe1iH,WAKjDrH,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAKwpH,wBAAwB5nH,SAC7B5B,KAAKspH,wBAAwB1nH,SAC7B5B,KAAK2pH,wBAAwB/nH,UAGjC/B,EAAUzG,UAAU8f,KAAO,WACvB,IAAInZ,EAAOC,KACXD,EAAK6uG,YAAY,IACjB7uG,EAAKkZ,WAAU,GAEfwjC,OAAgB1tC,SAAS5L,MAAK,SAAUzK,GACpCqH,EAAK6uG,YAAYl2G,MAClBuW,QAAO,WACNlP,EAAKkZ,WAAU,OAIvBpZ,EAAUzG,UAAU0gB,QAAU,WAC1B,OAAO9Z,KAAK4uG,aAGhB/uG,EAAUzG,UAAU6f,UAAY,WAC5B,OAAOjZ,KAAKiZ,WAGhBpZ,EAAUzG,UAAU0e,OAAS,SAAUja,GACnC,IAEIkc,EAAQnX,aAAEN,KAAKtC,KAAK4uG,eAAe,SAAUvwG,GAC7C,OAAOkK,OAAasP,iBAAiBha,EAAMQ,EAAER,SAGjD,YAAiBC,IAAVic,GAGIla,Q,wEClDT+P,EAAQ8W,eAAUu+C,OAAa51D,QACnBqX,eAAUq+C,OAAiB11D,QAC7BqX,eAAUC,OAAetX,QAEzC,SAASxP,IACL,IAAIE,EAAOC,KAEXD,EAAKqD,UAAY,KACjBrD,EAAKia,YAAc5Z,IAAGC,WAAW,IACjCN,EAAK6uG,YAAc,IAAIib,EAEvB9pH,EAAKxC,MAAQ6C,IAAGC,aAEhBN,EAAK+pH,mBAAqBjpH,OAAOonD,YAAYlnD,KAAI,SAAUi9C,GACvDj+C,EAAKqa,aACLra,EAAKqD,UAAY,IAAI2mH,EAAU/rE,GAC/Bj+C,EAAKia,YAAY,WAGrBja,EAAKiqH,qBAAuBnpH,OAAOqnD,cAAcnnD,KAAI,SAAUi9C,GAC3Dj+C,EAAKqa,aACLra,EAAKkqH,cAAcjsE,MAGvBj+C,EAAKmqH,mBAAqBrpH,OAAOknD,YAAYhnD,KAAI,SAAUi9C,GACvDj+C,EAAKqa,aACLra,EAAKqD,UAAY,IAAI2mH,EAAU/rE,EAASj+C,EAAK6uG,aAC7C7uG,EAAKia,YAAY,WAGrBja,EAAKoqH,kBAAoBtpH,OAAOinD,WAAW/mD,KAAI,WAC3ChB,EAAKqa,aACLra,EAAKqD,UAAY,IAAI2mH,EAAU,KAAMhqH,EAAK6uG,aAC1C7uG,EAAKia,YAAY,UAGrBja,EAAKqqH,qBAAuBvpH,OAAOmnD,cAAcjnD,KAAI,SAAUi9C,GAC3Dj+C,EAAKqa,aACLra,EAAKqD,UAAY,IAAI2mH,EAAU/rE,GAC/Bj+C,EAAKia,YAAY,aAIzBna,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK8pH,mBAAmBloH,SACxB5B,KAAKgqH,qBAAqBpoH,SAC1B5B,KAAKkqH,mBAAmBtoH,SACxB5B,KAAKoqH,qBAAqBxoH,SAC1B5B,KAAKmqH,kBAAkBvoH,UAG3B/B,EAAUzG,UAAUixH,cAAgB,WAChC,IAAItqH,EAAOC,KAEXD,EAAKqD,UAAUT,OAAOQ,MAAK,SAAUomH,GACjC1oH,OAAOsnD,iBAAiB/lD,SAASmnH,GACjCxpH,EAAKib,iBACNC,MAAK,SAAU1d,GACdwC,EAAKsb,YAAY9d,OAIzBsC,EAAUzG,UAAUkxH,cAAgB,WAChC,IAAIvqH,EAAOC,KAEXD,EAAKqD,UAAUW,SAASZ,MAAK,WACrB,IAAI66C,EAAUj+C,EAAKqD,UAAUimH,qBAC7BxoH,OAAOwnD,iBAAiBjmD,SAAS47C,GACjCj+C,EAAKib,iBAERC,MAAK,SAAS1d,GACXwC,EAAKsb,YAAY9d,OAI7BsC,EAAUzG,UAAUmxH,YAAc,WAC9B,IAAIxqH,EAAOC,KACPmqC,EAAkBpqC,EAAKqD,UAAUimH,qBACrCtpH,EAAKqD,UAAUT,OAAOQ,MAAK,SAASumH,GAChC7oH,OAAOunD,iBAAiBhmD,SAAS+nC,EAAiBu/E,GAClD3pH,EAAKib,cAIAzS,OAAasP,iBAAiBsyB,EAAgBtsC,KAAM6rH,EAAe7rH,OAChEkC,EAAKyqH,uBAAuBrgF,EAAgBjjC,KAC5CmI,OAAMjN,SAAS,mBAGxB6Y,MAAK,SAAS1d,GACbwC,EAAKsb,YAAY9d,OAIzBsC,EAAUzG,UAAU6wH,cAApB,yDAAoC,WAAgBjsE,GAAhB,iGAC1BpuC,EAAMq6G,cAAcjsE,EAAQ92C,IADF,uBAE1BwqC,OAAOl4C,KAAK,KAFc,OAGhCk4C,OAAO1K,GAAG,GAHsB,2CAApC,sDAMAnnC,EAAUzG,UAAU4hB,YAAc,WAC9Bhb,KAAKga,YAAY,KAGrBna,EAAUzG,UAAUghB,WAAa,WAC7Bpa,KAAKzC,MAAM,OAGfsC,EAAUzG,UAAUiiB,YAAc,SAAU9d,GACpCA,GAASA,EAAMoe,cAAgBpe,EAAMoe,aAAa/d,QAClDoC,KAAKzC,MAAMA,EAAMoe,aAAa/d,SAE9BoC,KAAKzC,MAAM,sBAEfsD,OAAOmpC,WAAW5nC,SAAS7E,IAG/BsC,EAAUzG,UAAUoxH,uBAAyB,SAAUt7F,GAAW,MAC9D,OAAO,UAAA7f,OAAMgd,QAAQ,2BAAd,eAAmC6C,aAAcA,GAG7C,QAAE9rB,UAAWvD,EAAWwD,SAAUA,M,mBCtIjD,IAAI5G,EAAO,wMAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,gHAEX7B,EAAOD,QAAU8B,G,oMCDbguH,EAAyB,aAI7BA,EAAuBrxH,UAAU2V,OAAS,WACtC,OAAO6N,OAAIpe,IAAI,8BAGnBisH,EAAuBrxH,UAAUskB,IAAM,SAAUgtG,GAC7C,OAAO9tG,OAAIG,KAAK,4BAA6B2tG,IAGjDD,EAAuBrxH,UAAU8J,OAAS,SAAUwnH,GAChD,OAAO9tG,OAAIK,IAAI,6BAA+BytG,EAA8BxjH,GAAIwjH,IAGpFD,EAAuBrxH,UAAUwkB,OAAS,SAAU+sG,GAChD,OAAO/tG,OAAIW,IAAI,6BAA+BotG,IAGnC,UAAIF,ECjBb95G,EAA6B,wDAAnC,iD,0BACU,EAAAi6G,iCAAkC,EAClC,EAAAC,yBAAqD,GAF/D,EAAmC,qEAK1B,SAA+BC,GACpC9qH,KAAK4qH,iCAAkC,EACvC5qH,KAAK6qH,yBAA2BC,IAPD,iCAW1B,SAAoBlsH,GACzBoB,KAAK4qH,gCAAkChsH,IAZR,4CAgB1B,SAA+BsI,GACpC,IAAM6jH,EAAc/qH,KAAK6qH,yBAAyB1sG,WAAU,SAAAF,GAAM,OAAIA,EAAO/W,KAAOA,KAChF6jH,GAAe,GACjB/qH,KAAK6qH,yBAAyBE,GAAa9jD,QAAQ91C,SAAQ,SAAC9iB,EAAQrV,GAAT,OAAeqV,EAAO8jB,SAAWn5B,OAnB/D,qGAwB1B,2GACD8xH,EAA0B,GADzB,kBAG6BE,EAAuBj8G,SAHpD,OAGH+7G,EAHG,gEAKI,CAAEltH,QAAS,mCAAoCL,MAAK,MALxD,QAOLyC,KAAKse,QAAQC,OAAO,iCAAkCusG,GAPjD,yDAxB0B,0JAmC1B,iGACA9qH,KAAK4qH,gCADL,yCAEI5qH,KAAK6qH,0BAFT,uBAIG7qH,KAAKse,QAAQlc,SAAS,kCAJzB,gCAKIpC,KAAK6qH,0BALT,gDAnC0B,6JA6C1B,WAAoCI,GAApC,+FACDjrH,KAAK4qH,gCADJ,gCAEG5qH,KAAKse,QAAQlc,SAAS,kCAFzB,UAIC6b,EAASje,KAAK6qH,yBAAyBvoH,MAAK,SAAA2b,GAAM,OAAIA,EAAO/W,KAAO+jH,MACtEhtG,EALC,iBAMMjlB,EAAI,EANV,YAMaA,EAAIilB,EAAOQ,QAAQvlB,QANhC,iCAOoB8G,KAAKse,QAAQlc,SAAS,cAAe6b,EAAOQ,QAAQzlB,GAAGkO,GAAI,CAAEyX,MAAM,IAPvF,OAOKC,EAPL,OAQGA,IAAQX,EAAOQ,QAAQzlB,GAAK4lB,GAR/B,QAMwC5lB,IANxC,8BAWHilB,EAAOgpD,QAAUhpD,EAAOgpD,QAAQl5D,MAAK,SAACC,EAAQC,GAAT,OAAoBD,EAAEmkB,SAAWlkB,EAAEkkB,YAXrE,kBAaIlU,GAbJ,aAgBO,CAAErgB,QAAS,gCAhBlB,iDA7C0B,mHAiE1B,SAA4CqtH,GACjDjrH,KAAKse,QAAQC,OAAO,iCAAkC0sG,KAlEvB,qGAsE1B,WAAqCjvH,GAArC,yGAEGkvH,EAAiD,CACrDhkH,GAAI,EACJuqD,YAAaz1D,EACbmvH,kBAAmB,YACnB1sG,QAAS,GACTwoD,QAAS,IAPR,SASyC+jD,EAAuBttG,IAAIwtG,GATpE,cASGE,EATH,gBAUGprH,KAAKse,QAAQlc,SAAS,gBAVzB,cAWHpC,KAAKse,QAAQlc,SAAS,kCAXnB,kBAYIgpH,GAZJ,2CAeI,CAAExtH,QAAS,qCAAsCL,MAAK,MAf1D,0DAtE0B,0JA0F1B,WAAgC2tH,GAAhC,gHAEoBF,EAAuBttG,IAAIwtG,GAF/C,cAEG5lH,EAFH,gBAGGtF,KAAKse,QAAQlc,SAAS,gBAHzB,cAIHpC,KAAKse,QAAQlc,SAAS,kCAJnB,kBAKIkD,GALJ,2CAOI,CAAE1H,QAAS,kCAAmCL,MAAK,MAPvD,0DA1F0B,6JAsG1B,WAAmC2tH,GAAnC,0GAEGF,EAAuB9nH,OAAOgoH,GAFjC,uBAGGlrH,KAAKse,QAAQlc,SAAS,gBAHzB,gEAKI,CAAExE,QAAS,iCAAkCL,MAAK,MALtD,QAOLyC,KAAKse,QAAQlc,SAAS,kCAPjB,yDAtG0B,6JAiH1B,WAAmCuoH,GAAnC,0GAEGK,EAAuBptG,OAAO+sG,GAFjC,uBAGG3qH,KAAKse,QAAQlc,SAAS,gBAHzB,gEAKI,CAAExE,QAAS,iCAAkCL,MAAK,MALtD,QAOLyC,KAAKse,QAAQlc,SAAS,kCAPjB,yDAjH0B,oFA4H1B,WACLpC,KAAKse,QAAQC,OAAO,uBAAuB,KA7HZ,mCAgIjC,WACE,OAAOve,KAAK6qH,2BAjImB,yBAoIjC,WAAwB,WACtB,OAAO,SAAC3jH,GACN,OAAO,EAAK2jH,yBAAyBvoH,MAAK,SAAA2b,GAAM,OAAIA,EAAO/W,KAAOA,UAtIrC,GAAS4X,QAK1ClJ,gBADCmJ,QACD,mDAMAnJ,gBADCmJ,QACD,wCAKAnJ,gBADCmJ,QACD,mDAQAnJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mDAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,+CAUArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,kDAoBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,gEAKArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,mDAoBArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,8CAYArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iDAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iDAWArJ,gBADCoJ,eAAO,CAAEC,UAAU,KACpB,iCA5HItO,EAA6B,gBADlCuO,eAAO,CAAEC,YAAY,EAAMthB,KAAM,mCAC5B8S,GA2ISA,U,+JC1If,SAAS9Q,EAAUC,GACf,IAAIC,EAAOC,KACXD,EAAKE,kBAAoBH,EAAOG,kBAChCF,EAAKG,YAAcH,EAAKE,kBAAkBC,YAE1CH,EAAKwtF,KAAOntF,IAAGc,cAAa,WACxB,IAAIhB,EAAcH,EAAKG,cACvB,OAAOA,EAAYqtF,QAGvBxtF,EAAKsrH,OAASjrH,IAAGc,cAAa,WAC1B,IAAIqsF,EAAOxtF,EAAKwtF,OAChB,OAAOA,EAAOA,EAAK89B,OAAS,QAIhC,IAAI99B,EAAOxtF,EAAKwtF,OAEZkG,EAAY1zF,EAAKG,cAAclE,KACnC,IAAKuxF,GAAsB,YAAdkG,EAAyB,CAClC,IAAIhyF,EAAkB1B,EAAKE,kBAAkBwB,kBACzCA,GAAmBA,EAAgB8rF,MAAiC,cAAzB9rF,EAAgBzF,OAC3DuxF,EAAO9rF,EAAgB8rF,MAI/B,IAAKA,GAAsB,cAAdkG,EAA2B,CACpC,IAAIpyF,EAAsBtB,EAAKE,kBAAkBoB,sBAC7CA,GAAuBA,EAAoBksF,MAAqC,YAA7BlsF,EAAoBrF,OACvEuxF,EAAOlsF,EAAoBksF,MAInCxtF,EAAKurH,cAAgBlrH,IAAGC,WAAWktF,EAAOA,EAAK1vF,KAAO,IACtDkC,EAAKwrH,mBAAqBnrH,IAAGC,aAAWktF,GAAOA,EAAKoE,WACpD5xF,EAAKyrH,YAAcprH,IAAGC,WAAWktF,EAAOA,EAAK89B,OAAS,MAEtDtrH,EAAKI,UAAYC,IAAGC,YAAW,GAC/BN,EAAK0rH,eAAiBrrH,IAAGC,YAAW,GACpCN,EAAK2rH,WAAatrH,IAAGC,WAAW,IAEhCN,EAAK4rH,iBAAmB,KACxB5rH,EAAK6rH,0BAA4B7rH,EAAKurH,cAAchqG,WAAU,SAASuqG,GACnEruH,aAAauC,EAAK4rH,kBAClB5rH,EAAKyrH,YAAY,MACjBzrH,EAAK4rH,iBAAmB5tH,WAAWgC,EAAK+rH,UAAU3sH,KAAKY,GAAO,QAGlEA,EAAKgsH,gBAAkB,SAASx+B,GAC5BxtF,EAAKurH,cAAc/9B,EAAK1vF,MACxBkC,EAAKwrH,mBAAmBh+B,EAAKoE,WAC7B5xF,EAAKyrH,YAAYj+B,EAAK89B,QACtBtrH,EAAK4C,QACPxD,KAAKY,GAEFA,EAAKsrH,UACNtrH,EAAK+rH,YAIbjsH,EAAUzG,UAAUuI,QAAU,WAC1B3B,KAAK4rH,0BAA0BjqH,WAGnC9B,EAAUzG,UAAUyI,aAAe,SAASC,EAAIhH,GAC5C,IAAIiH,EAAWC,EAAElH,EAAEmH,eAAeC,QAAQ,iBAC1ClC,KAAKG,WAAU,GAEf,IAAIkC,EAASN,EAASO,KAAK,oBAC3BD,EAAOE,QACPF,EAAOG,UAGX3C,EAAUzG,UAAUqJ,cAAgB,SAASX,EAAIhH,GAC7CkF,KAAKG,WAAU,IAGnBN,EAAUzG,UAAUuJ,KAAO,WACvB,IAAI5C,EAAOC,KACPE,EAAc0C,aAAEC,MAAM9C,EAAKG,eAC/BA,EAAYqtF,KAAOrtF,EAAYqtF,MAAQ,GACvCrtF,EAAYqtF,KAAK1vF,KAAOkC,EAAKurH,gBAC7BprH,EAAYqtF,KAAKoE,UAAY5xF,EAAKwrH,qBAClCrrH,EAAYqtF,KAAK89B,OAAStrH,EAAKyrH,cAE/BvoH,OAAiCC,OAAOhD,GAAaiD,MAAK,SAASqlC,GAC/DzoC,EAAKG,YAAYsoC,GACjBzoC,EAAK0C,oBAIb5C,EAAUzG,UAAU0yH,UAAY,WAC5B,IAAI/rH,EAAOC,KACPsrH,EAAgBvrH,EAAKurH,gBAErBA,EAAcpyH,OAAS,EACvB6G,EAAK2rH,WAAW,KAIpB3rH,EAAK0rH,gBAAe,GACpBO,OAAY1pH,KAAKgpH,GACZnoH,KAAKpD,EAAK2rH,YACVzwG,MAAK,WACFlb,EAAK2rH,WAAW,OACjBz8G,QAAO,WACNlP,EAAK0rH,gBAAe,QAIjB,QAAEroH,UAAWvD,EAAWwD,SAAUA,O,8KChH7Cs9G,EAAQtiE,EAAQ,QAChBuiE,EAASviE,EAAQ,QACjBwiE,EAAMxiE,EAAQ,QACdyiE,EAAOziE,EAAQ,QACf0iE,EAAO1iE,EAAQ,QACf2iE,EAAQ3iE,EAAQ,QAEhB4tE,EAAQ,CACVC,GAAIp4E,IAAEt0B,KAAK,CACTo/F,QAAS+B,EACTwL,SAAU,CAAC,GAAI,IACfC,YAAa,CAAC,GAAI,IAClBrlH,UAAW,kBAEbslH,QAASv4E,IAAEt0B,KAAK,CACdo/F,QAASgC,EACTuL,SAAU,CAAC,GAAI,IACfC,YAAa,CAAC,GAAI,IAClBrlH,UAAW,kBAEbulH,MAAOx4E,IAAEt0B,KAAK,CACZo/F,QAASiC,EACTsL,SAAU,CAAC,GAAI,IACfC,YAAa,CAAC,GAAI,IAClBrlH,UAAW,kBAEbwlH,aAAcz4E,IAAEt0B,KAAK,CACnBo/F,QAASkC,EACTqL,SAAU,CAAC,GAAI,IACfC,YAAa,CAAC,GAAI,IAClBrlH,UAAW,kBAEbg6G,KAAMjtE,IAAEt0B,KAAK,CACXo/F,QAASmC,EACToL,SAAU,CAAC,GAAI,IACfC,YAAa,CAAC,GAAI,IAClBrlH,UAAW,kBAEbylH,iBAAkB14E,IAAEt0B,KAAK,CACvBo/F,QAASoC,EACTmL,SAAU,CAAC,GAAI,IACfC,YAAa,CAAC,GAAI,IAClBrlH,UAAW,0CAIf,SAAS0lH,EAAQvxG,GACf,IAAIsE,EAEJ,OAAQtE,GACN,IAAK,mBACHsE,EAAOysG,EAAMO,iBACb,MACF,IAAK,KACHhtG,EAAOysG,EAAMC,GACb,MACF,IAAK,UACH1sG,EAAOysG,EAAMI,QACb,MACF,IAAK,QACH7sG,EAAOysG,EAAMK,MACb,MACF,IAAK,eACH9sG,EAAOysG,EAAMM,aACb,MACF,QACE/sG,EAAOysG,EAAMlL,KAEjB,OAAOvhG,EAGT,SAAStb,IACP,IAAIgwC,EAAQ,IAAIJ,IAAEqN,UAChB,qGACA,CACEC,YAAa,SAGbC,EAAYvN,IAAEwN,aAAaxN,IAAEyN,QAAQ,IAAK,KAAMzN,IAAEyN,OAAO,GAAI,MAC7DvyC,EAAM8kC,IAAE9kC,IAAI,MAAO,CACrBwyC,OAAQtN,EACRuN,iBAAiB,EACjBT,QAAS,GACTU,QAAS,EACTC,KAAM,EACNC,OAAQ,CAAC,EAAG,GACZP,UAAWA,EACXQ,mBAAoB,KAGtB,OAAO7yC,EAGT,SAAS6jE,EAAapC,EAAevyB,GACnC,IAAI9M,EAAWq/B,EAAcr/B,WAE7B,GAAiB,OAAbA,IAAqBxuC,aAAE2C,YAAY6rC,GAAvC,CAIA,IAAIs7E,EAAYt7E,EAAShpC,MAAM,KAC3BukH,EAAcD,EAAU,GAAGtkH,MAAM,KACjCwkH,EAAeF,EAAU,GAAGtkH,MAAM,KAElCykH,EAAar3G,SAASm3G,EAAY,IAClCG,EAAct3G,SAASo3G,EAAa,IAEpCG,EAAaF,GAAc,IAAMA,IAAe,GAChDG,EAAcF,GAAe,KAAOA,IAAgB,IAEpDG,EAAgD,MAA5Bx8C,EAAcztD,YAAmD,MAA7BytD,EAAcxtD,YAG1E,GAAI8pG,GAAcC,GAAeC,EAAmB,CAClD,IAAIvpD,EAAS+M,EAAc/M,SACvBwpD,EAAQ,IAAIp5E,IAAEwD,MAEd61E,EACF,iCAGA18C,EAActoC,SAASilF,WAHvB,sCAOA38C,EAAc0uC,iBAPd,uCAWA1uC,EAAc2uC,kBAXd,uCAeA3uC,EAAc48C,iBAfd,uCAmBA58C,EAAc68C,iBAnBd,oCAuBA78C,EAAc88C,eAvBd,wCA2BA98C,EAAc+8C,kBA3Bd,kCA+BA/8C,EAAcg9C,aA/Bd,qBAmCFP,EAAMQ,WACJ,2CACEj9C,EAAck9C,mBACd,wCACAR,EACA,iBAGJ,IAAIptE,EAASjM,IAAEs+B,cAAcs6C,EAAW,CACtCltG,KAAMitG,EAAQvuE,GACdmzB,MAAOp9C,KAAKwgB,MAAMivB,KACjBkqD,UAAUV,GASb,OAPAntE,EAAO56C,GAAG,aAAa,SAASrK,GAC9BkF,KAAKk3C,eAEP6I,EAAO56C,GAAG,YAAY,SAASrK,GAC7BkF,KAAKo3C,gBAGA2I,EAEP,OAAO,MAGX,SAAS8tE,EACPp9C,EACAvyB,EACAn5C,EACAiqB,EACAxlB,EACAskH,GAEA,IAAI18E,EAAWq/B,EAAcr/B,WAE7B,GAAiB,OAAbA,IAAqBxuC,aAAE2C,YAAY6rC,GAAvC,CAIA,IAAIs7E,EAAYt7E,EAAShpC,MAAM,KAC3BukH,EAAcD,EAAU,GAAGtkH,MAAM,KACjCwkH,EAAeF,EAAU,GAAGtkH,MAAM,KAElCykH,EAAar3G,SAASm3G,EAAY,IAClCG,EAAct3G,SAASo3G,EAAa,IAEpCG,EAAaF,GAAc,IAAMA,IAAe,GAChDG,EAAcF,GAAe,KAAOA,IAAgB,IAEpDG,EAAgD,MAA5Bx8C,EAAcztD,YAAmD,MAA7BytD,EAAcxtD,YAG1E,GAAI8pG,GAAcC,GAAeC,EAAmB,CAClD,IAAIvpD,EAAS+M,EAAc/M,SACvBwpD,EAAQ,IAAIp5E,IAAEwD,MAAM,CACtBzP,aAAa,EACbkmF,cAAc,EACdC,WAAW,IAGTC,EAAU1yH,SAASQ,cAAc,OACjCoxH,EACF,yCAGA18C,EAActoC,SAASilF,WAHvB,sCAOA38C,EAAc0uC,iBAPd,uCAWA1uC,EAAc2uC,kBAXd,uCAeA3uC,EAAc48C,iBAfd,uCAmBA58C,EAAc68C,iBAnBd,oCAuBA78C,EAAc88C,eAvBd,wCA2BA98C,EAAc+8C,kBA3Bd,kCA+BA/8C,EAAcg9C,aA/Bd,qBAkCFQ,EAAQpuG,UACN,YACAmP,EACA,gCACAxlB,EACA,yBACA2jH,EACA,YACApoH,EACA,8BACFkpH,EAAQ5uG,QAAU,WAChBrd,IAAEhC,MACCsC,KAAK,gBACL4rH,YAAY,WAEjBhB,EAAMQ,WAAWO,GAEjB,IAAIluE,EAASjM,IAAEs+B,cAAcs6C,EAAW,CACtCltG,KAAMitG,EAAQvuE,GACdmzB,MAAOp9C,KAAKwgB,MAAMivB,KACjBkqD,UAAUV,GAiBb,OAdAntE,EAAOouE,sBAEPpuE,EAAO56C,GAAG,SAAS,SAASrK,GAC1B,IAAIszH,EAAcpuH,KAAKquH,WACnBxkG,EAASukG,EAAYvkG,SACpBA,EAGH7nB,IAAEosH,EAAYE,cACXhsH,KAAK,gBACL4rH,YAAY,UAJfluH,KAAKk3C,eAQF6I,EAEP,OAAO,MAIX,SAASL,EAAiBC,GAIxB,IAHA,IAAIvgD,EAAGtE,EAAGR,EAAGslD,EAAGC,EAAIC,EAChBC,EAAQC,EAAKC,EAERjnD,EAAI,EAAGA,EAAI2mD,EAAQzmD,OAAQF,IAClC+mD,EAASJ,EAAQ3mD,GACjBgnD,EAAMD,EAAOG,YAAYF,IACzBC,EAAMF,EAAOG,YAAYD,KAGrBD,EAAM5gD,GAAU,GAALpG,KAAQoG,EAAI4gD,IACvBA,EAAM1lD,GAAU,GAALtB,KAAQsB,EAAI0lD,IAGvBC,EAAMnlD,GAAU,GAAL9B,KAAQ8B,EAAImlD,IACvBA,EAAML,GAAU,GAAL5mD,KAAQ4mD,EAAIK,GAM7B,OAHAJ,EAAK,IAAI/L,IAAEqM,OAAO7lD,EAAGslD,GACrBE,EAAK,IAAIhM,IAAEqM,OAAO/gD,EAAGtE,GAEd,IAAIg5C,IAAEsM,aAAaP,EAAIC,GAwBhC,SAASyuE,EAAqBvrG,GAE5B,IAAIwrG,EAAKv6F,KAAKG,IAAIpR,EAAU,GACxByrG,EAAKx6F,KAAKG,IAAIpR,EAAU,GACxB0rG,EAAKz6F,KAAKG,IAAIpR,EAAU,GACxB2rG,EAAK16F,KAAKG,IAAIpR,EAAU,GACxBU,EAAIV,EACR,OACE,eAAqBwrG,EACrB,cAAoBC,EACpB,YAAc,KAAOC,EACrB,aAAqBC,EACrB,YAAc,GAAOjrG,EACrB,YAIJ,SAAS+uD,EAAgB3mB,GACvB,IAAI8iE,EAAc,GACdC,EAAU,GACVC,EAAe,KACfC,EAAgB,KAChBC,EAAkB,GAEtBpsH,aAAEe,KAAKmoD,GAAiB,SAAS2kB,GAC/B,IAAIztD,EAAWytD,EAAcztD,WACzBC,EAAYwtD,EAAcxtD,YAE9B,GAAqB,OAAjB6rG,GAA2C,OAAlBC,EAAwB,CACnD,IAAIE,EAAeh7F,KAAKsqC,IAAIv7C,EAAW8rG,GACnCI,EAAgBj7F,KAAKsqC,IAAIt7C,EAAY8rG,GAIrCI,EAAkBl7F,KAAKsqC,IAAIv7C,EAAW8rG,GAAgB,EACtDM,EAAmBb,EAAqBY,IAExCF,EAAeD,GAAmBE,EAAgBE,KACpDR,EAAYp1H,KAAKq1H,GACjBA,EAAU,IAIE,MAAZ7rG,GAAiC,MAAbC,IACtB4rG,EAAQr1H,KAAK,CAACwpB,EAAUC,IACxB6rG,EAAe9rG,EACf+rG,EAAgB9rG,MAIpB2rG,EAAYp1H,KAAKq1H,GAEjB,IAAIQ,EAAiCzsH,aAAEkM,OAAO8/G,GAAa,SAASU,GAClE,OAAOA,EAAWp2H,OAAS,KAG7B,OAAO0J,aAAEoM,IAAIqgH,GAAgC,SAASC,GACpD,OAAOx7E,IAAEy/B,SAAS+7C,EAAY,CAC5B3nF,MAAO,QACP4nF,aAAc,EACdj6E,OAAQ,EACRk6E,QAAS,QAKf,SAASC,EAA4B3jE,GACnC,IAAI8iE,EAAc,GACdC,EAAU,GACVC,EAAe,KACfC,EAAgB,KAChBC,EAAkB,GAEtBpsH,aAAEe,KAAKmoD,GAAiB,SAAS2kB,GAC/B,IAAIztD,EAAWytD,EAAcztD,SACzBC,EAAYwtD,EAAcxtD,UAE9B,GAAqB,OAAjB6rG,GAA2C,OAAlBC,EAAwB,CACnD,IAAIE,EAAeh7F,KAAKsqC,IAAIv7C,EAAW8rG,GACnCI,EAAgBj7F,KAAKsqC,IAAIt7C,EAAY8rG,GAIrCI,EAAkBl7F,KAAKsqC,IAAIv7C,EAAW8rG,GAAgB,EACtDM,EAAmBb,EAAqBY,IAExCF,EAAeD,GAAmBE,EAAgBE,KACpDR,EAAYp1H,KAAKq1H,GACjBA,EAAU,IAIE,MAAZ7rG,GAAiC,MAAbC,IACtB4rG,EAAQr1H,KAAK,CAACwpB,EAAUC,IACxB6rG,EAAe9rG,EACf+rG,EAAgB9rG,MAIpB2rG,EAAYp1H,KAAKq1H,GAEjB,IAAIQ,EAAiCzsH,aAAEkM,OAAO8/G,GAAa,SAASU,GAClE,OAAOA,EAAWp2H,OAAS,KAG7B,OAAOm2H,EAGM,QACbnrH,KAAM,WACJ,OAAOA,KAET2uE,aAAc,SAASpC,EAAevyB,GACpC,OAAO20B,EAAapC,EAAevyB,IAErC2vE,sBAAuB,SACrBp9C,EACAvyB,EACAn5C,EACAiqB,EACAxlB,EACAskH,GAEA,OAAOD,EACLp9C,EACAvyB,EACAn5C,EACAiqB,EACAxlB,EACAskH,IAGJpuE,iBAAkB,SAASC,GACzB,OAAOD,EAAiBC,IAE1B8yB,gBAAiB,SAAS3mB,GACxB,OAAO2mB,EAAgB3mB,IAEzB2jE,4BAA6B,SAAS3jE,GACpC,OAAO2jE,EAA4B3jE,M,mBC/dvC,IAAIrvD,EAAO,gKAEX7B,EAAOD,QAAU8B,G,0CCFjB,IAAIA,EAAO,iVAEX7B,EAAOD,QAAU8B,G,mBCFjB,IAAIA,EAAO,2YAEX7B,EAAOD,QAAU8B","file":"js/app.62d0801e.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-00113e66\":\"8e330e91\",\"chunk-2d2101f0\":\"41a73803\",\"chunk-34ee4e86\":\"2bff35d4\",\"chunk-0189eb8b\":\"96393c21\",\"chunk-02169837\":\"7a37c553\",\"chunk-07965cde\":\"1d528d48\",\"chunk-0c5945f8\":\"e6767f2f\",\"chunk-13c99e7d\":\"3effd8cb\",\"chunk-15f26592\":\"963331c6\",\"chunk-2133958b\":\"f2387334\",\"chunk-2d0a516c\":\"569f62e9\",\"chunk-2d0aa253\":\"e18362ed\",\"chunk-2d0b5a52\":\"b75e9a09\",\"chunk-2d0bff1f\":\"7bba0409\",\"chunk-2d0cc426\":\"cbb0654f\",\"chunk-2d0e4eac\":\"754dccd7\",\"chunk-2d2375db\":\"1fc2903e\",\"chunk-361ed600\":\"99a49577\",\"chunk-3e76bbfe\":\"83a88d08\",\"chunk-509600ac\":\"a45d0f72\",\"chunk-510d4593\":\"4c391db4\",\"chunk-032a2cb7\":\"e8e48b60\",\"chunk-05838efe\":\"c1f3130d\",\"chunk-544b03d8\":\"d642a20d\",\"chunk-73e944a3\":\"2d729e14\",\"chunk-0def8018\":\"b1ad6747\",\"chunk-a60f099a\":\"b8602478\",\"chunk-51c10b9f\":\"1544ff30\",\"chunk-abc17664\":\"59bda64f\",\"chunk-1892b987\":\"decb6ca1\",\"chunk-f29b6fec\":\"65cb4980\",\"chunk-2c8327ce\":\"73470104\",\"chunk-7ec35439\":\"d408a629\",\"chunk-ffdace6a\":\"7fe1ccdf\",\"chunk-8b360a50\":\"5d0e53bb\",\"chunk-51d51234\":\"1829241e\",\"chunk-57012571\":\"f9bf0365\",\"chunk-595fff92\":\"39c74cb3\",\"chunk-59a58171\":\"6e1bbbf8\",\"chunk-63ebab7c\":\"1d81378c\",\"chunk-67bba793\":\"2c637601\",\"chunk-690b2e57\":\"8ab3259e\",\"chunk-6b44643c\":\"29b61229\",\"chunk-6bb13978\":\"397a2ce6\",\"chunk-77f21870\":\"37cb9596\",\"chunk-781a025e\":\"b10e0568\",\"chunk-7b693b64\":\"ecec8930\",\"chunk-2d0de5b1\":\"18903e81\"}[chunkId] + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-00113e66\":1,\"chunk-34ee4e86\":1,\"chunk-0189eb8b\":1,\"chunk-02169837\":1,\"chunk-07965cde\":1,\"chunk-0c5945f8\":1,\"chunk-13c99e7d\":1,\"chunk-15f26592\":1,\"chunk-2133958b\":1,\"chunk-361ed600\":1,\"chunk-3e76bbfe\":1,\"chunk-509600ac\":1,\"chunk-510d4593\":1,\"chunk-032a2cb7\":1,\"chunk-05838efe\":1,\"chunk-544b03d8\":1,\"chunk-73e944a3\":1,\"chunk-0def8018\":1,\"chunk-a60f099a\":1,\"chunk-51c10b9f\":1,\"chunk-abc17664\":1,\"chunk-1892b987\":1,\"chunk-f29b6fec\":1,\"chunk-2c8327ce\":1,\"chunk-7ec35439\":1,\"chunk-ffdace6a\":1,\"chunk-8b360a50\":1,\"chunk-51d51234\":1,\"chunk-57012571\":1,\"chunk-595fff92\":1,\"chunk-63ebab7c\":1,\"chunk-67bba793\":1,\"chunk-690b2e57\":1,\"chunk-6b44643c\":1,\"chunk-7b693b64\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-00113e66\":\"64b0ddd4\",\"chunk-2d2101f0\":\"31d6cfe0\",\"chunk-34ee4e86\":\"a0ce1b8e\",\"chunk-0189eb8b\":\"cc6c122b\",\"chunk-02169837\":\"f94b51fb\",\"chunk-07965cde\":\"f7faed40\",\"chunk-0c5945f8\":\"a2c89e0c\",\"chunk-13c99e7d\":\"9210acc5\",\"chunk-15f26592\":\"09976937\",\"chunk-2133958b\":\"70d3f77e\",\"chunk-2d0a516c\":\"31d6cfe0\",\"chunk-2d0aa253\":\"31d6cfe0\",\"chunk-2d0b5a52\":\"31d6cfe0\",\"chunk-2d0bff1f\":\"31d6cfe0\",\"chunk-2d0cc426\":\"31d6cfe0\",\"chunk-2d0e4eac\":\"31d6cfe0\",\"chunk-2d2375db\":\"31d6cfe0\",\"chunk-361ed600\":\"8eba09ca\",\"chunk-3e76bbfe\":\"fef32d2e\",\"chunk-509600ac\":\"9b3416f1\",\"chunk-510d4593\":\"74a66b7e\",\"chunk-032a2cb7\":\"c0613fc6\",\"chunk-05838efe\":\"2544f2a6\",\"chunk-544b03d8\":\"f59cdec3\",\"chunk-73e944a3\":\"46b3c568\",\"chunk-0def8018\":\"2a297cea\",\"chunk-a60f099a\":\"950b84a8\",\"chunk-51c10b9f\":\"4537cffa\",\"chunk-abc17664\":\"2cb2fc0c\",\"chunk-1892b987\":\"3f51aad8\",\"chunk-f29b6fec\":\"b0e43029\",\"chunk-2c8327ce\":\"2c0c8f83\",\"chunk-7ec35439\":\"5ad8555b\",\"chunk-ffdace6a\":\"2b239966\",\"chunk-8b360a50\":\"3c513161\",\"chunk-51d51234\":\"ea7720b6\",\"chunk-57012571\":\"4b2c2bf3\",\"chunk-595fff92\":\"d6fcd9cd\",\"chunk-59a58171\":\"31d6cfe0\",\"chunk-63ebab7c\":\"3ca39d56\",\"chunk-67bba793\":\"0c6b19ae\",\"chunk-690b2e57\":\"f94b51fb\",\"chunk-6b44643c\":\"32791de6\",\"chunk-6bb13978\":\"31d6cfe0\",\"chunk-77f21870\":\"31d6cfe0\",\"chunk-781a025e\":\"31d6cfe0\",\"chunk-7b693b64\":\"dfbc52d7\",\"chunk-2d0de5b1\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import template from \"./voyage-vessel-event-timestamp.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport events from \"App/events\";\r\nimport emissionReportVesselEventsClient from \"Clients/emission-report-vessel-events-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.voyageVesselEvent = params.voyageVesselEvent;\r\n self.vesselEvent = params.voyageVesselEvent.vesselEvent;\r\n self.isEditing = ko.observable(false);\r\n\r\n self.inputTimestampDate = ko.observable(dateHelper.getFormatedDateString(self.vesselEvent().timestamp));\r\n self.inputTimestampTime = ko.observable(dateHelper.getFormatedTimeString(self.vesselEvent().timestamp));\r\n\r\n self.plotLineDateSelectedBinding = events.plotLineDateSelected.add(function(selectedDate) {\r\n self.inputTimestampDate(dateHelper.getFormatedDateString(selectedDate));\r\n self.inputTimestampTime(dateHelper.getFormatedTimeString(selectedDate));\r\n });\r\n\r\n self.isInputTimestampValid = ko.pureComputed(function() {\r\n var inputTimestampDate = self.inputTimestampDate();\r\n var inputTimestampTime = self.inputTimestampTime();\r\n var timestampMoment = dateHelper.getDateTime(inputTimestampDate, inputTimestampTime);\r\n var vesselEvent = self.vesselEvent();\r\n\r\n var previousVesselEvent = self.voyageVesselEvent.previousVesselEvent();\r\n if (previousVesselEvent) {\r\n var previousVesselEventMoment = moment.utc(previousVesselEvent.timestamp);\r\n if (timestampMoment <= previousVesselEventMoment) return false;\r\n }\r\n\r\n var nextVesselEvent = self.voyageVesselEvent.nextVesselEvent();\r\n if (nextVesselEvent) {\r\n var nextVesselEventMoment = moment.utc(nextVesselEvent.timestamp);\r\n if (timestampMoment >= nextVesselEventMoment) return false;\r\n }\r\n\r\n return true;\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n this.plotLineDateSelectedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n events.dateSelectStarted.dispatch();\r\n\r\n var $input = $wrapper.find(\"input.timeInput\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n events.dateSelectEnded.dispatch();\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var vesselEvent = _.clone(self.vesselEvent());\r\n var date = self.inputTimestampDate();\r\n var time = self.inputTimestampTime();\r\n vesselEvent.timestamp = dateHelper.getSubmitDateString(date, time);\r\n\r\n emissionReportVesselEventsClient.update(vesselEvent).done(function() {\r\n self.cancelEditing();\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVVJREFUeNpiZMACfi6X0QRSSUDsBsQaQMwGxL+A+AYQ7wLieeyRT66j6/v//z8DI5pB/ECqH4gTgJiRATf4D8QLgLgQaPBHrAYCDZMBUnuBWI2BeHALiJ2Bhj5BMRDqslPYDGPkVfzCwMrzl+H3tz//P98VxmGoGcilIAOZoIL9uFzGbNrJw+q2jZ/FYYkwDleqQfWDARM0AhIYKAMJUHPALkwiEAHEAEaoOWAD3RioA9xgBmpQyUANmIFsVDKQDWbgLyoZCDaHBZqd9HCp+nupm+EfuyCQ8Z2QgTdgLtxFJRfughk4D5o3sQJmvVIGFtu5wATexUAgb88DGwgtNRZQ6LoFsNIHOS+fBmJVjBTLKfGdgYXrH8PfH3//f3vGh8Ww20BsCsvL6KXNPmyG4gEgw5yQSxtY4cAAFTQF4vn4whQpzOZDXfYEPQ9St8QGEdQEAAEGAG9/fxu9UWZNAAAAAElFTkSuQmCC\"","// Module\nvar code = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\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 add below what cargo units the vessel is carrying.
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Cargo carried
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/performance-status-widget-illustration-1.41ae4cd6.png\";","// Module\nvar code = \"\\r\\n \\r\\n  \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","import \"dropzone\";\r\n\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport $ from \"jquery\";\r\nimport events from \"App/events\";\r\nimport authHeader from \"@/services/AuthHeader\";\r\n\r\nfunction updateTempFolders(file, fileName, tempFolders, parentFolders) {\r\n _.each(parentFolders(), function(parentFolder) {\r\n var tempFolder = _.find(tempFolders(), function (tempFolder) {\r\n return tempFolder.folderPath() === parentFolder.folderPath();\r\n });\r\n\r\n if (tempFolder) {\r\n tempFolders.remove(tempFolder);\r\n }\r\n });\r\n}\r\n\r\nko.bindingHandlers.fileUpload = {\r\n init: function (element, valueAccessor, allBindingsAccessor) {\r\n var vesselId = valueAccessor().vesselId;\r\n var file = valueAccessor().file;\r\n var folder = valueAccessor().folder;\r\n var isValidFile = valueAccessor().isValidFile;\r\n var errorMessage = valueAccessor().errorMessage;\r\n var isUploading = valueAccessor().isUploading;\r\n var filesInCurrentFolder = valueAccessor().filesInCurrentFolder;\r\n var parentFolders = valueAccessor().parentFolders;\r\n var tempFolders = valueAccessor().tempFolders;\r\n\r\n $(element).dropzone({\r\n acceptedFiles: \"application/pdf, .doc, .docx, .dot, .docm, .dotx, .dotm, .xlsx, .xls, .xlt, .xlm, .xlsm, .xltx, .xltm\",\r\n dictInvalidFileType: \"Files of this type are not supported, you can only upload PDF, Word or Excel files.\",\r\n url: process.env.VUE_APP_API_BASE_URL + \"/VesselFiles/\" + vesselId,\r\n timeout: 6000000,\r\n headers: authHeader(),\r\n init: function () {\r\n this.on(\"success\", function (file, vesselFile) {\r\n updateTempFolders(vesselFile, file.name, tempFolders, parentFolders);\r\n events.vesselFileUploaded.dispatch(vesselFile);\r\n errorMessage(\"\");\r\n }).on(\"error\", function (file, response) {\r\n var message = _.isUndefined(response.message) ? response : response.message;\r\n\r\n errorMessage(message);\r\n isValidFile(false);\r\n }).on(\"addedfile\", function (file) {\r\n var fileName = folder().folderPath() + file.name;\r\n\r\n var fileExists = _.some(filesInCurrentFolder(), function (file) {\r\n return file.fileName() === fileName;\r\n });\r\n\r\n file.upload.filename = fileName;\r\n\r\n if (fileExists) {\r\n if (!confirm(file.name + \" already exists. Do you want to replace it?\")) {\r\n this.removeFile(file);\r\n }\r\n }\r\n }).on(\"sending\", function () {\r\n isUploading(true);\r\n }).on(\"complete\", function () {\r\n isUploading(false);\r\n });\r\n },\r\n });\r\n },\r\n update: function (element, valueAccessor, allBindingsAccessor) {\r\n\r\n },\r\n};\r\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport $ from \"jquery\";\r\nimport vesselFilesClient from \"Clients/vessel-files-client\";\r\n\r\nfunction getFilesInFolder(files, folder) {\r\n var folderPath = folder.folderPath();\r\n var filesInFolder = [];\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var isDescendant = fileName.indexOf(folderPath) === 0;\r\n\r\n if (isDescendant) {\r\n var childFileName = fileName.replace(folderPath, \"\");\r\n var fileExistsInFolder = childFileName.indexOf(\"/\") === -1;\r\n\r\n if (fileExistsInFolder) {\r\n filesInFolder.push(file);\r\n }\r\n }\r\n });\r\n\r\n return filesInFolder;\r\n}\r\n\r\nfunction updateFile(file, newFileName, tempFolders, folder) {\r\n file.fileName(newFileName);\r\n vesselFilesClient.update(file.getFile());\r\n folder.isTempFolder(false);\r\n tempFolders.remove(folder);\r\n}\r\n\r\nko.bindingHandlers.draggableFile = {\r\n init: function (element, valueAccessor, allBindingsAccessor) {\r\n var isFolder = valueAccessor().isFolder;\r\n var draggableElement = valueAccessor().draggableElement;\r\n var data = valueAccessor().data;\r\n var tempFolders = valueAccessor().tempFolders;\r\n var files = valueAccessor().files;\r\n\r\n $(element).on(\"dragstart\", function (event) {\r\n if (!isFolder) {\r\n draggableElement(data);\r\n }\r\n }).on(\"dragenter dragover\", function (event) {\r\n event.preventDefault();\r\n\r\n if (isFolder) {\r\n element.className += \" dragover\";\r\n }\r\n }).on(\"dragleave drop\", function (event) {\r\n if (isFolder) {\r\n element.className = element.className.replace(/(?:^|\\s)dragover(?!\\S)/g, \"\");\r\n }\r\n }).on(\"drop\", function (event) {\r\n event.preventDefault();\r\n\r\n if (isFolder) {\r\n var file = draggableElement();\r\n var fileName = file.fileNameWithoutPath();\r\n var newFileName = data.folderPath() + fileName;\r\n var filesInFolder = getFilesInFolder(files(), data);\r\n var moveFile = true;\r\n\r\n var existingFile = _.find(filesInFolder, function (file) {\r\n return file.fileNameWithoutPath() === fileName;\r\n });\r\n\r\n if (existingFile) {\r\n if (confirm(fileName + \" already exists. Do you want to replace it?\")) {\r\n moveFile = false;\r\n vesselFilesClient.remove(existingFile.id()).done(function () {\r\n files.remove(existingFile);\r\n updateFile(file, newFileName, tempFolders, data);\r\n });\r\n }\r\n } else {\r\n updateFile(file, newFileName, tempFolders, data);\r\n }\r\n }\r\n });\r\n },\r\n update: function (element, valueAccessor, allBindingsAccessor) {\r\n\r\n },\r\n};","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport vesselFilesClient from \"Clients/vessel-files-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function File(fileEntity) {\r\n var self = this;\r\n\r\n self.supportedExtensions = {\r\n excel: [\"xlsx\", \"xls\", \"xlt\", \"xlm\", \"xlsm\", \"xltx\", \"xltm\"],\r\n word: [\"doc\", \"docx\", \"dot\", \"docm\", \"dotx\", \"dotm\"],\r\n pdf: [\"pdf\"],\r\n };\r\n\r\n self.elementType = \"file\";\r\n self.id = ko.observable(fileEntity.id);\r\n self.fileName = ko.observable(fileEntity.fileName);\r\n self.uploadedTime = ko.observable(fileEntity.uploadedTime);\r\n self.vesselId = ko.observable(fileEntity.vesselId);\r\n self.folderId = ko.observable(fileEntity.folderId);\r\n self.binaryFileId = ko.observable(fileEntity.binaryFileId);\r\n self.uploadedBy = ko.observable(fileEntity.uploadedBy);\r\n self.fileSize = ko.observable(fileEntity.fileSize);\r\n self.isFileMenuVisible = ko.observable(false);\r\n self.newName = ko.observable();\r\n\r\n self.fileIcon = ko.pureComputed(function() {\r\n var fileExtension = self.fileExtension().toLowerCase();\r\n var supportedExtensions = self.supportedExtensions;\r\n\r\n if (_.some(supportedExtensions.excel, function(extension) { return extension === fileExtension; })) {\r\n return \"fa fa-file-excel-o fa-2x excelIcon\";\r\n } else if (_.some(supportedExtensions.word, function (extension) { return extension === fileExtension; })) {\r\n return \"fa fa-file-word-o fa-2x wordIcon\";\r\n } else if (_.some(supportedExtensions.pdf, function (extension) { return extension === fileExtension; })) {\r\n return \"fa fa-file-pdf-o fa-2x pdfIcon\";\r\n }\r\n\r\n return \"\";\r\n });\r\n\r\n self.fileExtension = ko.pureComputed(function () {\r\n var fileName = self.fileName();\r\n return fileName.split(\".\").pop();\r\n });\r\n\r\n self.formattedFileSize = ko.pureComputed(function () {\r\n var fileSize = self.fileSize();\r\n return stringHelper.getPrettyFileSize(fileSize);\r\n });\r\n\r\n self.uploadedText = ko.pureComputed(function () {\r\n var uploadedTime = self.uploadedTime();\r\n\r\n return moment(uploadedTime).format(\"DD. MMM, YYYY HH:mm\");\r\n });\r\n\r\n self.newNameErrorText = ko.pureComputed(function () {\r\n var newName = self.newName() + \".\" + self.fileExtension();\r\n return \"A file with the name \" + newName + \" already exists\";\r\n });\r\n\r\n self.rename = function () {\r\n var newName = self.newName();\r\n var fileName = self.fileName();\r\n var fileNameWithoutPath = self.fileNameWithoutPath();\r\n\r\n if (newName === fileNameWithoutPath) {\r\n return;\r\n }\r\n\r\n var fileExtension = \".\" + fileName.split(\".\").pop();\r\n var newNameEndsWithExtension = stringHelper.endsWith(newName, fileExtension, false);\r\n newName += fileExtension;\r\n\r\n fileName = fileName.replace(fileNameWithoutPath, newName);\r\n self.fileName(fileName);\r\n\r\n vesselFilesClient.update(self.getFile());\r\n };\r\n\r\n self.fileNameWithoutPath = ko.pureComputed(function() {\r\n var fileName = self.fileName();\r\n\r\n if (fileName.indexOf(\"/\") === -1) {\r\n return fileName;\r\n } else {\r\n return fileName.split(\"/\").slice(-1)[0];\r\n }\r\n }); \r\n\r\n self.fileNameWithoutExtension = ko.pureComputed(function() {\r\n var fileName = self.fileNameWithoutPath();\r\n var fileExtension = \".\" + self.fileExtension();\r\n return fileName.replace(fileExtension, \"\");\r\n });\r\n\r\n self.resetName = function () {\r\n var fileName = self.fileName();\r\n var nameWithoutExtension = fileName.substr(0, fileName.lastIndexOf(\".\"));\r\n\r\n self.newName(nameWithoutExtension);\r\n };\r\n};\r\n\r\nViewModel.prototype.getFileNameWithoutPath = function(fileName) {\r\n if (fileName.indexOf(\"/\") === -1) {\r\n return fileName;\r\n } else {\r\n return fileName.split(\"/\").slice(-1);\r\n }\r\n};\r\n\r\nViewModel.prototype.showFileMenu = function () {\r\n var isFileMenuVisible = this.isFileMenuVisible();\r\n this.isFileMenuVisible(!isFileMenuVisible);\r\n};\r\n\r\nViewModel.prototype.hideFileMenu = function (arg) {\r\n this.isFileMenuVisible(false);\r\n};\r\n\r\nViewModel.prototype.getFile = function() {\r\n var self = this;\r\n\r\n var file = {\r\n id: self.id(),\r\n fileName: self.fileName(),\r\n fileSize: self.fileSize(),\r\n uploadedTime: self.uploadedTime(),\r\n uploadedBy: self.uploadedBy(),\r\n vesselId: self.vesselId(),\r\n binaryFileId: self.binaryFileId(),\r\n };\r\n\r\n return file;\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\n\r\nvar ViewModel = function Folder(folderName, folderPath, isTempFolder) {\r\n var self = this;\r\n\r\n self.elementType = \"folder\";\r\n self.folderName = ko.observable(folderName);\r\n self.folderPath = ko.observable(folderPath);\r\n self.isTempFolder = ko.observable(isTempFolder);\r\n\r\n self.isFileMenuVisible = ko.observable(false);\r\n self.newName = ko.observable(folderName);\r\n\r\n self.newNameErrorText = ko.pureComputed(function () {\r\n var newName = self.newName();\r\n return \"A folder with the name \" + newName + \" already exists\";\r\n });\r\n\r\n self.resetName = function () {\r\n var folderName = self.folderName();\r\n self.newName(folderName);\r\n };\r\n};\r\n\r\nViewModel.prototype.showFileMenu = function (element) {\r\n var isFileMenuVisible = this.isFileMenuVisible();\r\n this.isFileMenuVisible(!isFileMenuVisible);\r\n};\r\n\r\nViewModel.prototype.hideFileMenu = function() {\r\n this.isFileMenuVisible(false);\r\n};\r\n\r\nexport default ViewModel;","import \"Bindings/fileUpload\";\r\nimport \"Bindings/draggableFile\";\r\nimport \"Bindings/vesselFilesSort\";\r\n\r\nimport template from \"./vessel-files.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport vesselFilesClient from \"Clients/vessel-files-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\nimport FileVM from \"ViewModels/vesselFiles/file\";\r\nimport FolderVM from \"ViewModels/vesselFiles/folder\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n\r\n self.vesselId = params.vesselId;\r\n self.vesselName = params.vesselname;\r\n //self.vesselFileSizeLimitInMB = params.vesselFileSizeLimitInMB;\r\n //hardcoded value for now. This is same value as in Web.config\r\n self.vesselFileSizeLimitInMB = 1000;\r\n self.newFolderHelpText = \"Note: A folder will not be saved until you upload a file to it.\";\r\n self.tooltipHelpText = \"Here you can store PDF, Word and Excel documents. Please be aware that files you store here are instantly available to other users that can see this vessel.\";\r\n\r\n self.newFolderName = ko.observable();\r\n self.pdfFileName = ko.observable();\r\n self.vesselFilePdfUrl = ko.observable();\r\n self.elementToDelete = ko.observable();\r\n self.elementToRename = ko.observable();\r\n self.draggableElement = ko.observable();\r\n\r\n self.isFilesLoading = ko.observable(true);\r\n self.isValidFile = ko.observable(true);\r\n self.isUploading = ko.observable(false);\r\n self.isHelpTooltipOpen = ko.observable(false);\r\n self.sortAscending = ko.observable(true);\r\n self.sortColumn = ko.observable(\"fileName\");\r\n self.errorMessage = ko.observable();\r\n\r\n self.isNewFolderDialogVisible = ko.observable(false);\r\n self.isPdfViewerVisible = ko.observable(false);\r\n self.isDeleteDialogVisible = ko.observable(false);\r\n self.isRenameDialogVisible = ko.observable(false);\r\n self.hasRenameError = ko.observable(false);\r\n self.hasNewFolderError = ko.observable(false);\r\n\r\n self.files = ko.observableArray([]);\r\n self.currentFolder = ko.observable(new FolderVM(self.vesselName, \"\", false));\r\n self.foldersInCurrentFolder = ko.observableArray([]);\r\n self.tempFolders = ko.observableArray([]);\r\n\r\n self.getFiles();\r\n\r\n self.formattedFileSizeLimit = ko.pureComputed(function () {\r\n var limit = self.vesselFileSizeLimitInMB;\r\n limit = limit * 1000000;\r\n\r\n return stringHelper.getPrettyFileSize(limit);\r\n });\r\n\r\n self.totalFileSize = ko.pureComputed(function() {\r\n var files = self.files();\r\n var bytes = 0;\r\n\r\n _.each(files, function(file) {\r\n bytes += file.fileSize();\r\n });\r\n\r\n return stringHelper.getPrettyFileSize(bytes);\r\n });\r\n\r\n self.parentFolders = ko.pureComputed(function () {\r\n var currentFolder = self.currentFolder();\r\n var folderName = currentFolder.folderName();\r\n var folderPath = currentFolder.folderPath();\r\n var parentFolders = [];\r\n\r\n if (folderPath !== \"\") {\r\n parentFolders.push(currentFolder);\r\n\r\n var parentFolderPath = folderPath.replace(folderName + \"/\", \"\");\r\n var stop = false;\r\n\r\n if (parentFolderPath !== \"\") {\r\n do {\r\n var parentFolderNames = parentFolderPath.split(\"/\");\r\n var parentFolderName = parentFolderNames[parentFolderNames.length - 2];\r\n\r\n\r\n parentFolders.push(new FolderVM(parentFolderName, parentFolderPath));\r\n parentFolderPath = parentFolderPath.replace(parentFolderName + \"/\", \"\");\r\n\r\n stop = parentFolderPath === \"\";\r\n } while (!stop);\r\n }\r\n }\r\n\r\n parentFolders.push(new FolderVM(self.vesselName, \"\"));\r\n parentFolders.reverse();\r\n\r\n return parentFolders;\r\n });\r\n\r\n self.filesInCurrentFolder = ko.pureComputed(function () {\r\n var folderPath = self.currentFolder().folderPath();\r\n var sortColumn = self.sortColumn();\r\n var files = self.files();\r\n var filesInFolder = [];\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var isDescendant = fileName.indexOf(folderPath) === 0;\r\n\r\n if (isDescendant) {\r\n var childFileName = fileName.replace(folderPath, \"\");\r\n var fileExistsInFolder = childFileName.indexOf(\"/\") === -1;\r\n\r\n if (fileExistsInFolder) {\r\n filesInFolder.push(file);\r\n }\r\n }\r\n });\r\n\r\n self.sortFiles(filesInFolder, sortColumn);\r\n\r\n return filesInFolder;\r\n });\r\n\r\n self.deleteText = ko.pureComputed(function() {\r\n var element = self.elementToDelete();\r\n\r\n if (element instanceof FolderVM) {\r\n return \"Are you sure you want to delete this folder and all of its contents?\";\r\n } else {\r\n return \"Are you sure you want to delete this file?\";\r\n }\r\n });\r\n\r\n self.goToFolder = function (folder) {\r\n self.currentFolder(folder);\r\n self.getFolders();\r\n };\r\n\r\n self.viewPdf = function (file) {\r\n self.pdfFileName(file.fileNameWithoutPath());\r\n\r\n self.isPdfViewerVisible(true);\r\n events.viewPdf.dispatch(ko.toJS(file.getFile()));\r\n };\r\n\r\n self.showDeleteDialog = function (element) {\r\n self.elementToDelete(element);\r\n self.isDeleteDialogVisible(true);\r\n element.isFileMenuVisible(false);\r\n };\r\n\r\n self.showRenameDialog = function (element) {\r\n if (element.elementType === \"file\") {\r\n element.newName(element.fileNameWithoutExtension());\r\n }\r\n\r\n self.elementToRename(element);\r\n self.isRenameDialogVisible(true);\r\n element.isFileMenuVisible(false);\r\n };\r\n\r\n self.rename = function () {\r\n var element = self.elementToRename();\r\n var files = self.filesInCurrentFolder();\r\n var folders = self.foldersInCurrentFolder();\r\n var isFile = element.elementType === \"file\";\r\n\r\n var elements = isFile ? files : folders;\r\n var elementName= isFile ? element.newName() + \".\" + element.fileExtension() : folders;\r\n elements = _.without(elements, element);\r\n\r\n var isInvalid = _.some(elements, function (value) {\r\n var sourceName = isFile ? value.fileNameWithoutPath() : value.folderName();\r\n\r\n return elementName === sourceName;\r\n });\r\n\r\n if (isInvalid) {\r\n self.hasRenameError(true);\r\n } else {\r\n self.hasRenameError(false);\r\n\r\n if (!isFile) {\r\n self.renameFolder(element);\r\n self.sortFiles(folders, \"folderName\");\r\n self.foldersInCurrentFolder(folders);\r\n } else {\r\n element.rename();\r\n }\r\n self.isRenameDialogVisible(false);\r\n }\r\n };\r\n\r\n self.createNewFolder = function () {\r\n var folderName = self.newFolderName();\r\n var folders = self.foldersInCurrentFolder();\r\n var currentFolder = self.currentFolder();\r\n\r\n var isInvalid = _.some(folders, function (folder) {\r\n return folder.folderName() === folderName;\r\n });\r\n\r\n if (isInvalid) {\r\n self.hasNewFolderError(true);\r\n } else {\r\n var folderPath = currentFolder.folderPath() + folderName + \"/\";\r\n self.isNewFolderDialogVisible(false);\r\n self.newFolderName(\"\");\r\n self.hasNewFolderError(false);\r\n\r\n var folder = new FolderVM(folderName, folderPath, true);\r\n folders.push(folder);\r\n self.sortFiles(folders, \"folderName\");\r\n self.foldersInCurrentFolder(folders);\r\n self.tempFolders.push(folder);\r\n }\r\n };\r\n\r\n self.deleteElement = function () {\r\n var element = self.elementToDelete();\r\n\r\n if (element instanceof FolderVM) {\r\n self.removeFolder(element);\r\n } else {\r\n self.removeFile(element);\r\n }\r\n\r\n self.isDeleteDialogVisible(false);\r\n };\r\n\r\n self.downloadFile = function (file) {\r\n events.vesselFileDownload.dispatch(ko.toJS(file.getFile()));\r\n };\r\n\r\n self.vesselFileUploadedBinding = events.vesselFileUploaded.add(function (file) {\r\n var sortColumn = self.sortColumn();\r\n var files = self.files();\r\n var existingFile = _.find(files, function (fileVM) { return fileVM.id() === file.id; });\r\n var currentFolder = self.currentFolder();\r\n\r\n if (existingFile) {\r\n var indexOfExistingFile = _.indexOf(files, existingFile);\r\n files[indexOfExistingFile] = new FileVM(file);\r\n } else {\r\n files.push(new FileVM(file));\r\n }\r\n\r\n self.tempFolders.remove(currentFolder);\r\n\r\n self.sortFiles(files, sortColumn);\r\n self.files(files);\r\n });\r\n\r\n self.closeTooltipBinding = events.closeTooltip.add(function () {\r\n self.isHelpTooltipOpen(false);\r\n });\r\n}\r\n\r\nViewModel.prototype.showNewFolderDialog = function () {\r\n this.isNewFolderDialogVisible(true);\r\n};\r\n\r\nViewModel.prototype.showFileMenu = function (element) {\r\n this.isFileMenuVisible(true);\r\n};\r\n\r\nViewModel.prototype.removeFile = function (file) {\r\n var self = this;\r\n\r\n vesselFilesClient.remove(file.id())\r\n .done(function () {\r\n self.files.remove(file);\r\n });\r\n};\r\n\r\nViewModel.prototype.removeFolder = function (folder) {\r\n var self = this;\r\n var files = self.files();\r\n var folderPath = folder.folderPath();\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var startsWith = fileName.indexOf(folderPath) === 0;\r\n\r\n if (startsWith) {\r\n self.removeFile(file);\r\n self.foldersInCurrentFolder.remove(folder);\r\n }\r\n });\r\n\r\n self.tempFolders.remove(folder);\r\n};\r\n\r\nViewModel.prototype.renameFolder = function (folder) {\r\n var self = this;\r\n\r\n var files = self.files();\r\n var currentFolderPath = self.currentFolder().folderPath();\r\n var folderName = folder.folderName();\r\n var folderPath = folder.folderPath();\r\n var newName = folder.newName();\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var fileNameStartsWithPath = fileName.indexOf(folderPath) === 0;\r\n\r\n if (fileNameStartsWithPath) {\r\n var newFolderPath = currentFolderPath === \"\"\r\n ? newName + \"/\"\r\n : currentFolderPath + newName + \"/\";\r\n\r\n fileName = fileName.replace(folderPath, newFolderPath);\r\n file.fileName(fileName);\r\n\r\n vesselFilesClient.update(file.getFile());\r\n }\r\n });\r\n\r\n folder.folderName(newName);\r\n folder.folderPath(folderPath.replace(folderName, newName));\r\n};\r\n\r\nViewModel.prototype.toggleHelpTooltip = function (vm, e) {\r\n var isHelpTooltipOpen = this.isHelpTooltipOpen();\r\n if (!isHelpTooltipOpen) {\r\n var element = e.currentTarget;\r\n events.showTooltip.dispatch(\"tooltip-text\", { text: this.tooltipHelpText, isWide: true }, element);\r\n this.isHelpTooltipOpen(true);\r\n } else {\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.hideHelpTooltip = function () {\r\n if (this.isHelpTooltipOpen()) {\r\n this.isHelpTooltipOpen(false);\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.sortFiles = function (files, sortColumn) {\r\n var self = this;\r\n var sortAscending = self.sortAscending();\r\n\r\n files.sort(function (a, b) {\r\n var left = self.getSortData(a, sortColumn);\r\n var right = self.getSortData(b, sortColumn);\r\n\r\n if (left < right) return sortAscending ? - 1 : 1;\r\n if (left > right) return sortAscending ? 1 : -1;\r\n return 0;\r\n });\r\n};\r\n\r\nViewModel.prototype.getSortData = function(element, column) {\r\n if (column === \"fileName\") {\r\n return element.fileNameWithoutPath().toLowerCase();\r\n } else if (column === \"uploadedTime\") {\r\n return element.uploadedTime();\r\n } else if (column === \"uploadedBy\") {\r\n return element.uploadedBy().toLowerCase();\r\n } else if (column === \"fileSize\") {\r\n return element.fileSize();\r\n } else if (column === \"folderName\") {\r\n return element.folderName().toLowerCase();\r\n }\r\n};\r\n\r\nViewModel.prototype.closePdfViewer = function () {\r\n this.isPdfViewerVisible(false);\r\n events.closePdf.dispatch();\r\n};\r\n\r\nViewModel.prototype.getFolders = function() {\r\n var self = this;\r\n\r\n var currentFolderPath = self.currentFolder().folderPath();\r\n var files = self.files();\r\n var folders = [];\r\n var tempFolders = self.getTempFoldersInCurrentFolder();\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var isDescendant = fileName.indexOf(currentFolderPath) === 0;\r\n\r\n if (isDescendant) {\r\n var childFolderName = fileName.replace(currentFolderPath, \"\");\r\n var folderNames = childFolderName.split(\"/\");\r\n var folderName = folderNames[0];\r\n var folderExists = _.some(folders, function (folder) { return folder.folderName() === folderName; });\r\n var isChildFolder = childFolderName.indexOf(\"/\") !== -1;\r\n\r\n if (!folderExists && isChildFolder) {\r\n var folderPath = currentFolderPath + folderName + \"/\";\r\n folders.push(new FolderVM(folderName, folderPath, false));\r\n }\r\n }\r\n });\r\n\r\n folders = _.union(folders, tempFolders);\r\n self.sortFiles(folders, \"folderName\");\r\n\r\n self.foldersInCurrentFolder(folders);\r\n};\r\n\r\nViewModel.prototype.getTempFoldersInCurrentFolder = function () {\r\n var self = this;\r\n var folders = self.tempFolders();\r\n var currentFolderPath = self.currentFolder().folderPath();\r\n\r\n return _.filter(folders, function(folder) {\r\n return currentFolderPath + folder.folderName() + \"/\" === folder.folderPath();\r\n });\r\n};\r\n\r\nViewModel.prototype.getFiles = function () {\r\n var self = this;\r\n\r\n vesselFilesClient.getAll(self.vesselId).done(function (data) {\r\n self.files(_.map(data, function (file) { return new FileVM(file); }));\r\n self.getFolders();\r\n }).always(function () {\r\n self.isFilesLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.vesselFileUploadedBinding.detach();\r\n this.closeTooltipBinding.detach();\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport Vessels from \"./clients/Vessels.module\";\r\nimport Incidents from \"./clients/Incidents.module\";\r\nimport Auth from \"./clients/Auth.module\";\r\nimport Announcement from \"./clients/Announcement.module\";\r\nimport Benefits from \"./clients/Benefits.module\";\r\nimport LongTrends from \"./clients/LongTrends.module\";\r\nimport User from \"./clients/User.module\";\r\nimport Users from \"./clients/Users.module\";\r\nimport VesselsAdmin from \"./clients/VesselsAdmin.module\";\r\nimport VesselAccessGroups from \"./clients/VesselAccessGroups.module\";\r\nimport VesselEvents from \"./clients/VesselEvents.module\";\r\nimport VesselGroups from \"./clients/VesselGroups.module\";\r\nimport VesselsHistories from \"./clients/VesselsHistories.module\";\r\nimport Companies from \"./clients/Companies.module\";\r\nimport Dashboard from \"./clients/Dashboard.module\";\r\nimport MapWidget from \"./clients/MapWidget.module\";\r\nimport Taxonomy from \"./clients/Taxonomy.module\";\r\nimport Reports from \"./clients/Reports.module\";\r\nimport LogVariables from \"./clients/LogVariables.module\";\r\nimport LogData from \"./clients/LogData.module\";\r\nimport LongTrendPeriod from \"./clients/LongTrendPeriod.module\";\r\nimport VesselDataWidgetConfiguration from \"./clients/VesselDataWidgetConfig.module\";\r\nimport WidgetTypes from \"./clients/WidgetTypes.module\";\r\nimport PerformanceStatusWidget from \"./clients/PerformanceStatusWidget.module\";\r\nimport NotificationWidgetConfiguration from \"./clients/NotificationWidget.module\";\r\nimport CiiWidgetConfiguration from \"./clients/CiiWidget.module\";\r\nimport FoulingOverviewWidgetConfiguration from \"./clients/FoulingOverviewWidget.module\";\r\nimport Snackbar from \"./clients/Snackbar.module\";\r\nimport Cii from \"./clients/Cii.module\";\r\nimport Shapoli from \"./clients/Shapoli.module\";\r\nimport ISO19030 from \"./clients/ISO19030.module\";\r\nimport Channels from \"./clients/Channels.module\";\r\nimport Fouling from \"./clients/Fouling.module\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n modules: {\r\n Auth,\r\n Announcement,\r\n Benefits,\r\n LongTrends,\r\n Incidents,\r\n User,\r\n Users,\r\n Vessels,\r\n VesselsAdmin,\r\n Companies,\r\n VesselAccessGroups,\r\n VesselGroups,\r\n VesselsHistories,\r\n Dashboard,\r\n MapWidget,\r\n Taxonomy,\r\n Reports,\r\n VesselEvents,\r\n LogVariables,\r\n LogData,\r\n LongTrendPeriod,\r\n VesselDataWidgetConfiguration,\r\n WidgetTypes,\r\n PerformanceStatusWidget,\r\n NotificationWidgetConfiguration,\r\n CiiWidgetConfiguration,\r\n FoulingOverviewWidgetConfiguration,\r\n Snackbar,\r\n Cii,\r\n Shapoli,\r\n ISO19030,\r\n Channels,\r\n Fouling,\r\n },\r\n});\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":_vm.dialogWidth,\"content-class\":\"TimeSpanDialog\",\"retain-focus\":false,\"scrollable\":\"\"},on:{\"click:outside\":function($event){return _vm.close()}},model:{value:(_vm.isModalActive),callback:function ($$v) {_vm.isModalActive=$$v},expression:\"isModalActive\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"dense\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\" Select time span \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.close()}}},[_c('v-icon',[_vm._v(\"close\")])],1)],1),_c('v-card-text',[_vm._t(\"additional-inputs\"),(_vm.syncColumn)?_c('v-radio-group',{staticClass:\"timespan-radio-group\",attrs:{\"column\":\"\"},model:{value:(_vm.selectedCalculationType),callback:function ($$v) {_vm.selectedCalculationType=$$v},expression:\"selectedCalculationType\"}},[_c('v-radio',{staticClass:\"mb-6\",attrs:{\"value\":\"LastReceived\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Last received value \")])],2),_c('v-radio',{staticClass:\"mb-6\",attrs:{\"value\":\"LastVoyageAveraged\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Average value for the last completed voyage \")])],2),_c('v-radio',{staticClass:\"mb-6\",attrs:{\"disabled\":_vm.hasNotAllowedUnit,\"value\":\"LastVoyageAccumulated\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Accumulated value for the last completed voyage \"),_c('v-tooltip',{attrs:{\"max-width\":\"500px\",\"color\":\"primary\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({staticClass:\"ml-2\",attrs:{\"color\":\"primary\",\"dark\":\"\"}},'v-icon',attrs,false),on),[_vm._v(\" mdi-information-outline \")])]}}],null,false,3186951216)},[_c('span',[_vm._v(\" Accumulated calculation only accepts the following units: \"),_c('br'),_c('i',[_vm._v(\"{ \\\"Rev/Min\\\", \\\"rpm\\\", \\\"MT/hr\\\", \\\"MT/day\\\", \\\"knot\\\", \\\"kW\\\", \\\"kg/hr\\\", \\\"l/hr\\\" }\")])])])],1)],2),_c('v-radio',{staticClass:\"mb-6\",attrs:{\"value\":\"Averaged\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Averaged over the last \"),_c('v-text-field',{staticClass:\"last-hours-input mr-2 ml-8\",attrs:{\"type\":\"number\",\"error\":_vm.isLastHoursHasError(_vm.lastHoursAverage, 'Averaged'),\"hide-details\":\"\",\"min\":\"1\",\"max\":\"300\",\"single-line\":\"\",\"solo\":\"\",\"dense\":\"\"},model:{value:(_vm.lastHoursAverage),callback:function ($$v) {_vm.lastHoursAverage=$$v},expression:\"lastHoursAverage\"}}),_vm._v(\" hours \")],1)],2),_c('v-radio',{staticClass:\"mb-6\",attrs:{\"value\":\"Accumulated\",\"disabled\":_vm.hasNotAllowedUnit}},[_c('template',{slot:\"label\"},[_vm._v(\" Accumulated over the last \"),_c('v-text-field',{staticClass:\"last-hours-input mx-2\",attrs:{\"type\":\"number\",\"disabled\":_vm.hasNotAllowedUnit,\"error\":_vm.isLastHoursHasError(_vm.lastHoursAccumulate, 'Accumulated'),\"hide-details\":\"\",\"min\":\"1\",\"max\":\"300\",\"single-line\":\"\",\"solo\":\"\",\"dense\":\"\"},model:{value:(_vm.lastHoursAccumulate),callback:function ($$v) {_vm.lastHoursAccumulate=$$v},expression:\"lastHoursAccumulate\"}}),_vm._v(\" hours \"),_c('v-tooltip',{attrs:{\"max-width\":\"500px\",\"color\":\"primary\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({staticClass:\"ml-2\",attrs:{\"color\":\"primary\",\"dark\":\"\"}},'v-icon',attrs,false),on),[_vm._v(\" mdi-information-outline \")])]}}],null,false,3186951216)},[_c('span',[_vm._v(\" Accumulated calculation only accepts the following units: \"),_c('br'),_c('i',[_vm._v(\"{ \\\"Rev/Min\\\", \\\"rpm\\\", \\\"MT/hr\\\", \\\"MT/day\\\", \\\"knot\\\", \\\"kW\\\", \\\"kg/hr\\\", \\\"l/hr\\\" }\")])])])],1)],2),_c('v-radio',{staticClass:\"align-start\",attrs:{\"value\":\"FromAndToDates\",\"label\":\"From and to dates\"}},[_c('template',{slot:\"label\"},[_vm._v(\" From and to dates \"),_c('b',{staticClass:\"ml-1\"},[_vm._v(\"[\"+_vm._s(_vm.fromAndToDatesCalculationType)+\"]\")])])],2),_c('div',{staticClass:\"dates-picker d-flex pl-8\"},[_c('DateTimeRangePicker',{attrs:{\"widgetDateRange\":_vm.widgetDateRange,\"disabled\":_vm.selectedCalculationType !== 'FromAndToDates'},on:{\"update:widgetDateRange\":function($event){_vm.widgetDateRange=$event},\"update:widget-date-range\":function($event){_vm.widgetDateRange=$event},\"change\":_vm.onWidgetDateRangeChanged},scopedSlots:_vm._u([{key:\"additional-actions\",fn:function(){return [_c('fieldset',[_c('legend',{staticClass:\"body-2 pb-1\",attrs:{\"align\":\"center\"}},[_vm._v(\"Calculation type\")]),_c('v-radio-group',{staticClass:\"mt-0 d-flex flex-row\",attrs:{\"hide-details\":\"\",\"row\":\"\"},model:{value:(_vm.fromAndToDatesCalculationType),callback:function ($$v) {_vm.fromAndToDatesCalculationType=$$v},expression:\"fromAndToDatesCalculationType\"}},[_c('v-radio',{attrs:{\"value\":\"Averaged\",\"label\":\"Average\"}}),_c('v-radio',{attrs:{\"value\":\"Accumulated\",\"label\":\"Accumulated\",\"disabled\":_vm.hasNotAllowedUnit}})],1)],1)]},proxy:true}],null,false,913206154)})],1)],1):_vm._e(),_c('p',{staticClass:\"red--text\"},[_vm._v(_vm._s(_vm.errorMessage))])],2),_c('v-card-actions',{staticClass:\"justify-end\"},[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.close()}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.saveButtonDisabled || _vm.syncIsSaveButtonDisabled},on:{\"click\":_vm.save}},[_vm._v(\"Save\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, PropSync, Vue, Watch } from \"vue-property-decorator\";\n// utilities\nimport moment from \"moment\";\nimport dateHelper from \"Utilities/date-helper\";\n// components\nimport DateTimeRangePicker from \"@/components/widgets/DateTimeRangePicker.vue\";\n// types\nimport { VesselDataWidgetColumn } from \"@/types/VesselDataWidgetColumn\";\n\n@Component({\n components: {\n DateTimeRangePicker,\n },\n})\nexport default class TimeSpanDialog extends Vue {\n @PropSync(\"value\", { required: true }) isModalActive!: boolean;\n @PropSync(\"maxWidth\", { default: 1000 }) dialogWidth!: number;\n @PropSync(\"column\", { required: true }) syncColumn!: VesselDataWidgetColumn;\n @PropSync(\"isSaveButtonDisabled\", { default: false }) syncIsSaveButtonDisabled!: boolean;\n\n lastHoursAverage = 24;\n lastHoursAccumulate = 24;\n selectedCalculationType = \"\";\n fromAndToDatesCalculationType = \"Averaged\";\n infoAccumulatedDialog = false;\n accumulatedAllowedUnits = [\"rpm\", \"MT/hr\", \"MT/day\", \"knot\", \"kW\", \"kg/hr\", \"l/hr\"];\n widgetDateRange: { fromDate: string | null; toDate: string | null } = {\n fromDate: moment().startOf(\"year\").format(\"YYYY-MM-DD\"),\n toDate: moment().format(\"YYYY-MM-DD\"),\n };\n\n @Watch(\"fromAndToDatesCalculationType\")\n onFromAndToDatesCalculationTypeChanged(): void {\n if (this.selectedCalculationType === \"FromAndToDates\") {\n Vue.set(this.syncColumn, \"fromAndToDatesCalculationType\", this.fromAndToDatesCalculationType);\n this.$emit(\"change\", this.syncColumn);\n }\n }\n\n @Watch(\"selectedCalculationType\")\n onCalculationTypeChanged(): void {\n this.setSelectedCalculationType();\n this.$emit(\"change\", this.syncColumn);\n }\n\n @Watch(\"isModalActive\")\n onModalActive(currentState: boolean): void {\n if (!currentState) return;\n this.selectedCalculationType = this.syncColumn.calculationType;\n if (!this.syncColumn.fromDate) return;\n\n const hours = dateHelper.getDatesDiffAsHours(this.syncColumn.fromDate, this.syncColumn.toDate);\n if (this.syncColumn.calculationType === \"Averaged\") {\n this.lastHoursAverage = hours;\n this.lastHoursAccumulate = 24;\n } else if (this.syncColumn.calculationType === \"Accumulated\") {\n this.lastHoursAccumulate = hours;\n this.lastHoursAverage = 24;\n } else if (this.syncColumn.calculationType === \"FromAndToDates\") {\n this.fromAndToDatesCalculationType = this.syncColumn.fromAndToDatesCalculationType ?? \"Averaged\";\n this.widgetDateRange = {\n fromDate: this.syncColumn.fromDate,\n toDate: this.syncColumn.toDate,\n };\n } else {\n this.lastHoursAverage = 24;\n this.lastHoursAccumulate = 24;\n }\n }\n\n get isLastHoursAverageValid(): boolean {\n return this.lastHoursAverage > 300 || this.lastHoursAverage < 1;\n }\n\n get isLastHoursAccumulateValid(): boolean {\n return this.lastHoursAccumulate > 300 || this.lastHoursAccumulate < 1;\n }\n\n get isTimeSpanHoursValid(): boolean {\n return !(this.isLastHoursAverageValid || this.isLastHoursAccumulateValid);\n }\n\n get errorMessage(): string {\n if ((this.isLastHoursAverageValid && this.selectedCalculationType === \"Averaged\") || (this.isLastHoursAccumulateValid && this.selectedCalculationType === \"Accumulated\")) {\n return \"Selected hours must be between 1 and 300.\";\n }\n\n return \"\";\n }\n\n get saveButtonDisabled(): boolean {\n return (this.selectedCalculationType === \"Averaged\" && this.isLastHoursAverageValid) || (this.selectedCalculationType === \"Accumulated\" && this.isLastHoursAccumulateValid);\n }\n\n get hasNotAllowedUnit(): boolean {\n if (!this.syncColumn?.logVariables) return false;\n return this.syncColumn.logVariables.some(variable => !this.isUnitAccAllowed(variable.unit?.caption));\n }\n\n open(): void {\n this.isModalActive = true;\n this.$emit(\"open\");\n }\n\n close(): void {\n this.isModalActive = false;\n this.selectedCalculationType = \"\";\n this.$emit(\"close\");\n }\n\n save(): void {\n this.isModalActive = false;\n this.setSelectedCalculationType();\n if (this.selectedCalculationType === \"Accumulated\" || this.selectedCalculationType === \"LastVoyageAccumulated\") this.infoAccumulatedDialog = true;\n this.$emit(\"save\");\n }\n\n isUnitAccAllowed(unit: string): boolean {\n return this.accumulatedAllowedUnits.includes(unit);\n }\n\n onWidgetDateRangeChanged(fromToDates: { fromDate: string; toDate: string }): void {\n this.widgetDateRange = fromToDates;\n }\n\n setSelectedCalculationType(): void {\n if (!this.isTimeSpanHoursValid) return;\n\n switch (this.selectedCalculationType) {\n case \"LastReceived\":\n this.setTimeSpan(\"LastReceived\");\n break;\n case \"LastVoyageAveraged\":\n this.setTimeSpan(\"LastVoyageAveraged\");\n break;\n case \"LastVoyageAccumulated\":\n this.setTimeSpan(\"LastVoyageAccumulated\");\n break;\n case \"Averaged\":\n this.setTimeSpan(this.selectedCalculationType, this.lastHoursAverage);\n break;\n case \"Accumulated\":\n this.setTimeSpan(this.selectedCalculationType, this.lastHoursAccumulate);\n break;\n case \"FromAndToDates\":\n this.setTimeSpan(this.selectedCalculationType, this.widgetDateRange);\n break;\n default:\n break;\n }\n }\n\n setTimeSpan(calculationType: string, value?: number | object): void {\n if (typeof value === \"string\") value = parseInt(value);\n let timeSpan;\n if (typeof value === \"number\") {\n timeSpan = {\n fromDate: moment.utc(new Date(), \"YYYY-MM-DD\").subtract(value, \"hours\").format(),\n toDate: moment.utc(new Date(), \"YYYY-MM-DD\").format(),\n calculationType: calculationType,\n fromAndToDatesCalculationType: \"\",\n };\n } else if (typeof value === \"object\") {\n timeSpan = {\n fromDate: this.widgetDateRange.fromDate,\n toDate: this.widgetDateRange.toDate,\n calculationType: calculationType,\n fromAndToDatesCalculationType: this.fromAndToDatesCalculationType,\n };\n } else {\n timeSpan = { calculationType: calculationType, fromAndToDatesCalculationType: \"\" };\n }\n Object.assign(this.syncColumn, timeSpan);\n }\n\n isLastHoursHasError(value: number, calculationType: string): boolean {\n return (value < 1 || value > 300) && calculationType === this.selectedCalculationType;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeSpanDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeSpanDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeSpanDialog.vue?vue&type=template&id=fa2e2880&scoped=true&\"\nimport script from \"./TimeSpanDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeSpanDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimeSpanDialog.vue?vue&type=style&index=0&id=fa2e2880&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fa2e2880\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VIcon,VRadio,VRadioGroup,VSpacer,VTextField,VToolbar,VToolbarTitle,VTooltip})\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport client from \"Clients/users-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function (model, users) {\r\n var self = this;\r\n self.original = undefined;\r\n self.list = users;\r\n\r\n self.userId = ko.observable();\r\n self.userName = ko.observable().extend({\r\n required: true,\r\n email: true,\r\n validation: {\r\n async: true,\r\n validator: function (val, params, callback) {\r\n if ((self.original != null) && (stringHelper.equalsIgnoreCase(val, self.original.email))) {\r\n // Same as \"original name\".\r\n callback(true);\r\n } else {\r\n callback(!self.list.exists(val));\r\n }\r\n },\r\n message: \"A user with that email already exists.\",\r\n },\r\n });\r\n self.name = ko.observable().extend({ required: true });\r\n self.title = ko.observable().extend({ required: true });\r\n self.phoneNumber = ko.observable();\r\n self.apiKey = ko.observable();\r\n self.role = ko.observable();\r\n self.kognifaiTenantId = ko.observable();\r\n self.kognifaiClientId = ko.observable();\r\n self.kognifaiClientSecret = ko.observable();\r\n\r\n self.setModel(model);\r\n\r\n //For accessing validation from the parent component to for example enable/disable \"create/save\" button.\r\n self.errors = ko.validation.group(self);\r\n self.isValid = ko.computed(function () {\r\n return self.errors().length === 0;\r\n });\r\n\r\n self.isNewUser = ko.pureComputed(function () {\r\n var userId = self.userId();\r\n return userId == null || userId === \"00000000-0000-0000-0000-000000000000\";\r\n });\r\n};\r\n\r\nViewModel.prototype.setModel = function (model) {\r\n var self = this;\r\n self.original = model;\r\n\r\n if (model) {\r\n // Edit mode\r\n self.userId(model.id);\r\n self.userName(model.email);\r\n self.name(model.name);\r\n self.title(model.title);\r\n self.phoneNumber(model.phoneNumber);\r\n self.apiKey(model.apiKey);\r\n self.role(model.role);\r\n self.kognifaiTenantId(model.kognifaiTenantId);\r\n self.kognifaiClientId(model.kognifaiClientId);\r\n self.kognifaiClientSecret(model.kognifaiClientSecret);\r\n } else {\r\n // \"New\" mode\r\n self.userId(undefined);\r\n self.userName(undefined);\r\n self.name(undefined);\r\n self.title(undefined);\r\n self.phoneNumber(undefined);\r\n self.apiKey(undefined);\r\n self.role(undefined);\r\n self.kognifaiTenantId(undefined);\r\n self.kognifaiClientId(undefined);\r\n self.kognifaiClientSecret(undefined);\r\n }\r\n};\r\n\r\nViewModel.prototype.getOriginalUser = function () {\r\n return this.original;\r\n};\r\n\r\nViewModel.prototype.save = function () {\r\n var self = this;\r\n var user = _.clone(self.original) || {};\r\n\r\n user.name = self.name();\r\n user.title = self.title();\r\n user.phoneNumber = self.phoneNumber();\r\n user.role = self.role();\r\n user.kognifaiTenantId = self.kognifaiTenantId();\r\n user.kognifaiClientId = self.kognifaiClientId();\r\n user.kognifaiClientSecret = self.kognifaiClientSecret();\r\n\r\n var promise;\r\n if (self.isNewUser()) {\r\n user.email = self.userName();\r\n promise = client.add(user);\r\n } else {\r\n promise = client.update(user);\r\n }\r\n promise.done(function (data) {\r\n self.setModel(data);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.remove = function () {\r\n return client.remove(this.original);\r\n};\r\n\r\nViewModel.prototype.generateApiKey = function () {\r\n var self = this;\r\n var userId = self.userId();\r\n\r\n var promise = client.generateApiKey(userId);\r\n promise.done(function (apiKey) {\r\n self.original.apiKey = apiKey;\r\n self.apiKey(apiKey);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.clearApiKey = function () {\r\n var self = this;\r\n var userId = self.userId();\r\n\r\n var promise = client.clearApiKey(userId);\r\n promise.done(function () {\r\n var apiKey = \"\";\r\n self.original.apiKey = apiKey;\r\n self.apiKey(apiKey);\r\n });\r\n return promise;\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport client from \"Clients/users-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function () {\r\n var self = this;\r\n self.list = ko.observableArray([]);\r\n self.isLoading = ko.observable(false);\r\n\r\n self.load();\r\n\r\n self.onCreatedBinding = events.userOnCreated.add(function (newItem) {\r\n self.list.push(newItem);\r\n });\r\n\r\n self.onUpdatedBinding = events.userOnUpdated.add(function (oldItem, updatedItem) {\r\n self.list.remove(function (item) {\r\n return item.id === oldItem.id;\r\n });\r\n self.list.push(updatedItem);\r\n });\r\n\r\n self.onRemovedBinding = events.userOnRemoved.add(function (removedItem) {\r\n self.list.remove(function (item) {\r\n return item.id === removedItem.id;\r\n });\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.onUpdatedBinding.detach();\r\n this.onCreatedBinding.detach();\r\n this.onRemovedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n self.list([]);\r\n self.isLoading(true);\r\n\r\n client.getAll().done(function (data) {\r\n self.list(data);\r\n }).always(function () {\r\n self.isLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getList = function () {\r\n return this.list;\r\n};\r\n\r\nViewModel.prototype.isLoading = function () {\r\n return this.isLoading;\r\n};\r\n\r\nViewModel.prototype.exists = function (userName) {\r\n var match = _.find(this.list(), function (o) {\r\n return stringHelper.equalsIgnoreCase(userName, o.email);\r\n });\r\n\r\n return match !== undefined;\r\n};\r\n\r\nexport default ViewModel;","import template from \"./users.html\";\r\nimport ko from \"knockout\";\r\nimport koValidation from \"knockout.validation\";\r\nimport events from \"App/events\";\r\nimport UserVM from \"ViewModels/user/user\";\r\nimport UsersVM from \"ViewModels/user/userList\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n\r\n self.viewModel = null;\r\n self.dialogState = ko.observable(\"\");\r\n self.users = new UsersVM();\r\n\r\n self.error = ko.observable();\r\n\r\n self.viewBinding = events.userView.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user);\r\n self.dialogState(\"VIEW\");\r\n });\r\n\r\n self.editBinding = events.userEdit.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user, self.users);\r\n self.dialogState(\"EDIT\");\r\n });\r\n\r\n self.addBinding = events.userAdd.add(function () {\r\n self.clearError();\r\n self.viewModel = new UserVM(null, self.users);\r\n self.dialogState(\"ADD\");\r\n });\r\n\r\n self.apiKeyBinding = events.userManageApiKey.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user, self.users);\r\n self.dialogState(\"API\");\r\n });\r\n\r\n self.deleteBinding = events.userDelete.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user);\r\n self.dialogState(\"REMOVE\");\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.viewBinding.detach();\r\n this.editBinding.detach();\r\n this.deleteBinding.detach();\r\n this.addBinding.detach();\r\n this.apiKeyBinding.detach();\r\n};\r\n\r\nViewModel.prototype.createUser = function () {\r\n var self = this;\r\n\r\n self.viewModel.save().done(function (newUser) {\r\n events.userOnCreated.dispatch(newUser);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n if (error.status === 409) {\r\n events.userOnCreatedAlreadyExist.dispatch();\r\n } else {\r\n events.userOnCreatedFailed.dispatch();\r\n }\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.removeUser = function () {\r\n var self = this;\r\n var user = self.viewModel.getOriginalUser();\r\n self.viewModel.remove()\r\n .done(function() {\r\n events.userOnRemoved.dispatch(user);\r\n self.closeDialog();\r\n })\r\n .fail(function(error) {\r\n events.userOnFailed.dispatch(error);\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.editUser = function () {\r\n var self = this;\r\n var originalUser = self.viewModel.getOriginalUser();\r\n self.viewModel.save().done(function (updatedUser) {\r\n events.userOnUpdated.dispatch(originalUser, updatedUser);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n events.userOnFailed.dispatch(error);\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.closeDialog = function () {\r\n this.dialogState(\"\");\r\n};\r\n\r\nViewModel.prototype.clearError = function () {\r\n this.error(null);\r\n};\r\n\r\nViewModel.prototype.handleError = function (error) {\r\n if (error && error.responseJSON && error.responseJSON.message) {\r\n this.error(error.responseJSON.message);\r\n } else {\r\n this.error(\"An error occured. See log for more details.\");\r\n }\r\n console.error(error);\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import router from \"@/router\";\r\nimport { FormattedError } from \"@/types/formattedError\";\r\nclass Utilities {\r\n\r\n /**\r\n * Clicking local urls from within static html/knockout templates are intercepted and handled by vue router\r\n * @param {Event} e mouse or keyboard event\r\n */\r\n public interceptLocalUrl(e: any): void {\r\n let target = e.target;\r\n //return if target was not a link-element\r\n if (target.tagName !== \"A\") {\r\n //clicking a link with more elements inside\r\n if (target.parentElement?.tagName == \"A\") {\r\n target = target.parentElement;\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n const url: string = target.getAttribute(\"href\");\r\n //return if url was not relative or if it was a local anchor\r\n if (url.indexOf(\"://\") > 0 || url.startsWith(\"#\"))\r\n return;\r\n\r\n //return if we are already on the url path\r\n if (router.currentRoute.path === url)\r\n return;\r\n\r\n //at this point we should be at a non-vue local link. Abort browser routing and use vue router\r\n e.preventDefault();\r\n e.stopPropagation();\r\n router.push({ path: url });\r\n }\r\n\r\n /* returns formattedError object containing title (string) and messages (Array)\r\n There can be multiple properties within responseJSON.modelState, each containing an array of messages\r\n This function extracts all the messages into a flattened array*/\r\n public formatError(error: any): FormattedError {\r\n let title;\r\n let messages: any = [];\r\n\r\n if (error.responseJSON) {\r\n title = error.responseJSON.message;\r\n messages = Object.values(error.responseJSON.modelState).flat();\r\n } else {\r\n title = error.statusText;\r\n }\r\n\r\n const formattedError: FormattedError = {\r\n title,\r\n messages,\r\n };\r\n\r\n return formattedError;\r\n }\r\n\r\n}\r\n\r\nexport default new Utilities();\r\n","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nfunction vesselEventUpdatedCallback(vesselEvent) {\r\n events.vesselEventUpdated.dispatch(vesselEvent);\r\n}\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n return net.get(\"/EmissionReportVesselEvents/Find\", filter);\r\n};\r\n\r\nClient.prototype.findVoyageVesselEvents = function(vesselId, departureId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n departureId: departureId,\r\n };\r\n\r\n return net.get(\"/EmissionReportVesselEvents/FindVoyageVesselEvents\", filter);\r\n};\r\n\r\nClient.prototype.create = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents\", vesselEvent).done(function(data) {\r\n events.vesselEventCreated.dispatch(data);\r\n });\r\n};\r\n\r\nClient.prototype.update = function(vesselEvent) {\r\n return net.put(\"/EmissionReportVesselEvents/\" + vesselEvent.id, vesselEvent).done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.confirmVoyageInformation = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/ConfirmVoyageInformation\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.unconfirmVoyageInformation = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/UnconfirmVoyageInformation\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.confirmVoyageData = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/ConfirmVoyageData\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.unconfirmVoyageData = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/UnconfirmVoyageData\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.sendEmissionReportToDnvGl = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/UploadDnvGlVoyageData\");\r\n};\r\n\r\nClient.prototype.remove = function(vesselEvent) {\r\n return net.del(\"/EmissionReportVesselEvents/\" + vesselEvent.id).done(function() {\r\n events.vesselEventDeleted.dispatch(vesselEvent);\r\n });\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\n\r\nvar PerformanceStatusWidgetClient = function () {\r\n\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/PerformanceStatusWidgetConfiguration\");\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.get = function (id) {\r\n return net.get(\"PerformanceStatusWidgetConfiguration/\" + id);\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.new = function (perfStatWidgetConfiguration) {\r\n return net.post(\"/PerformanceStatusWidgetConfiguration\", perfStatWidgetConfiguration);\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.update = function (perfStatWidgetConfiguration) {\r\n return net.put(\"/PerformanceStatusWidgetConfiguration\", perfStatWidgetConfiguration);\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.delete = function (perfStatWidgetConfigId) {\r\n return net.del(\"/PerformanceStatusWidgetConfiguration/\" + perfStatWidgetConfigId);\r\n};\r\n\r\nexport default new PerformanceStatusWidgetClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport performanceStatusWidgetClient from \"Clients/performance-status-widget-client\";\r\nimport { PerformanceStatusConfig } from \"@/types/widgetPerformanceStatus\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"PerformanceStatusWidget\" })\r\nclass PerformanceStatusWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: PerformanceStatusConfig[] = [];\r\n\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIGS(configs: PerformanceStatusConfig[]): void {\r\n this._configs = configs;\r\n this._configsExpired = false;\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIG(config: PerformanceStatusConfig): void {\r\n const index = this._configs.findIndex(savedConfig => savedConfig.id === config.id);\r\n\r\n if (index >= 0) {\r\n this._configs[index] = config;\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: PerformanceStatusConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET_CONFIG(id: number): void {\r\n const index = this._configs.findIndex(config => config.id === id);\r\n\r\n if (index >= 0) {\r\n this._configs.splice(index, 1);\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshConfigs(): Promise {\r\n try {\r\n const configs: PerformanceStatusConfig[] = await performanceStatusWidgetClient.getAll();\r\n this.context.commit(\"SET_WIDGET_CONFIGS\", configs);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateConfig(config: PerformanceStatusConfig): Promise {\r\n try {\r\n await performanceStatusWidgetClient.update(config);\r\n this.context.commit(\"SET_WIDGET_CONFIG\", config);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n const emptyConfig = { vessels: [] };\r\n\r\n try {\r\n const createdConfig = await performanceStatusWidgetClient.new(emptyConfig);\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", createdConfig);\r\n return createdConfig;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidgetConfig(id: number): Promise {\r\n try {\r\n await performanceStatusWidgetClient.delete(id);\r\n this.context.commit(\"DELETE_WIDGET_CONFIG\", id);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getConfigById(id: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshConfigs\");\r\n }\r\n\r\n const config = this._configs.find(config => config.id === id);\r\n\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\"Vessels/get\", config.vessels[i].id, { root: true });\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n const sharedConfig: PerformanceStatusConfig = await performanceStatusWidgetClient.get(id);\r\n if (sharedConfig) {\r\n for (let i = 0; i < sharedConfig.vessels.length; i++) {\r\n sharedConfig.vessels[i] = await this.context.dispatch(\"Vessels/get\", sharedConfig.vessels[i].id, { root: true });\r\n }\r\n\r\n return sharedConfig;\r\n }\r\n\r\n else throw ({ message: \"Could not find config\" });\r\n }\r\n\r\n get configs(): PerformanceStatusConfig[] {\r\n return this._configs;\r\n }\r\n\r\n get configsExpired(): boolean {\r\n return this._configsExpired;\r\n }\r\n}\r\n\r\nexport default PerformanceStatusWidget;\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TimestampFuel
amount (MT)
Fuel
amount (m3)
Tank
temp. (°C)
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\n\r\nko.bindingHandlers.vesselFilesSort = {\r\n init: function (element, valueAccessor, allBindingsAccessor, viewModel) {\r\n var sortColumn = valueAccessor().sortColumn;\r\n var column = valueAccessor().column;\r\n var sortAscending = valueAccessor().sortAscending;\r\n var folders = valueAccessor().folders;\r\n\r\n element.onclick = function () {\r\n sortAscending(!sortAscending());\r\n sortColumn(column);\r\n\r\n var currentSortIcon = $(element).find(\".fileHeaderSort\")[0];\r\n var sortIcons = $(\".filesHeader\").find(\".fa\");\r\n\r\n _.each(sortIcons, function (icon) {\r\n icon.className = \"fileHeaderSort\";\r\n });\r\n\r\n var className = sortAscending() ? \"fa fa-sort-asc \" : \" fa fa-sort-desc\";\r\n currentSortIcon.className = className + \" fileHeaderSort\";\r\n\r\n if (column === \"fileName\") {\r\n var sortedFolders = folders();\r\n\r\n sortedFolders.sort(function (a, b) {\r\n var left = a.folderName().toLowerCase();\r\n var right = b.folderName().toLowerCase();\r\n \r\n if (left < right) return sortAscending() ? -1 : 1;\r\n if (left > right) return sortAscending() ? 1 : -1;\r\n return 0;\r\n });\r\n\r\n folders(sortedFolders);\r\n }\r\n };\r\n },\r\n};","function htmlEncode(text) {\r\n const el = document.createElement('div');\r\n el.innerText = text;\r\n return el.innerHTML;\r\n}\r\n\r\nexport default {\r\n htmlEncode: function (text) {\r\n return htmlEncode(text);\r\n },\r\n};\r\n","import template from \"./compare-vessels.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport longTrendPeriodsClient from \"Clients/long-trend-periods-client\";\r\nimport diagnosticTypesHelper from \"Utilities/diagnostic-types-helper\";\r\n\r\nfunction findDiagnosticLongTrends(vessels) {\r\n var allLongTrends = _.flatten(_.pluck(vessels, \"longTrends\"));\r\n return _.filter(allLongTrends, function (longTrend) {\r\n return longTrend.diagnosticTypeId;\r\n });\r\n}\r\n\r\nfunction findCommonLongTrendNames(longTrends, vesselCount) {\r\n var commonDiagnosticLongTrendNames = [];\r\n var longTrendsGroupedByName = _.groupBy(longTrends, \"name\");\r\n _.each(longTrendsGroupedByName, function (group, name) {\r\n if (group.length === vesselCount) {\r\n commonDiagnosticLongTrendNames.push(name);\r\n }\r\n });\r\n return commonDiagnosticLongTrendNames;\r\n}\r\n\r\nfunction CompareGroup(vessels, longTrendName, longTrends, longTrendPeriods) {\r\n this.vessels = vessels;\r\n this.longTrendName = longTrendName;\r\n this.longTrends = longTrends;\r\n this.longTrendPeriods = longTrendPeriods;\r\n this.sortOrder = diagnosticTypesHelper.getDiagnosticTypeOrder(longTrends[0].diagnosticType);\r\n}\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.vessels = ko.observable(params.vessels);\r\n self.isLoadingLongTrendPeriods = ko.observable(true);\r\n self.longTrendPeriods = ko.observable();\r\n self.compareGroups = ko.observable();\r\n self.selectedCompareGroup = ko.observable();\r\n\r\n self.diagnosticLongTrends = [];\r\n self.commonDiagnosticLongTrendNames = [];\r\n\r\n self.isLoading = ko.pureComputed(function () {\r\n var isLoadingLongTrendPeriods = self.isLoadingLongTrendPeriods();\r\n return isLoadingLongTrendPeriods;\r\n });\r\n\r\n self.vesselsSubscription = self.vessels.subscribe(function (vessels) {\r\n self.diagnosticLongTrends = findDiagnosticLongTrends(vessels);\r\n self.commonDiagnosticLongTrendNames = findCommonLongTrendNames(self.diagnosticLongTrends, vessels.length);\r\n\r\n var allLongTrendIds = [];\r\n _.each(self.commonDiagnosticLongTrendNames, function (longTrendName) {\r\n var commonLongTrends = _.filter(self.diagnosticLongTrends, function (longTrend) {\r\n return longTrend.name === longTrendName;\r\n });\r\n\r\n allLongTrendIds = _.union(allLongTrendIds, _.pluck(commonLongTrends, \"id\"));\r\n });\r\n self.loadLongTrendPeriods(allLongTrendIds);\r\n });\r\n\r\n self.longTrendPeriodsBinding = self.longTrendPeriods.subscribe(function (longTrendPeriods) {\r\n var compareGroups = [];\r\n _.each(self.commonDiagnosticLongTrendNames, function (longTrendName) {\r\n var commonLongTrends = _.filter(self.diagnosticLongTrends, function (longTrend) {\r\n return longTrend.name === longTrendName;\r\n });\r\n var commonLongTrendIds = _.pluck(commonLongTrends, \"id\");\r\n\r\n var commonLongTrendPeriods = _.filter(longTrendPeriods, function (longTrendPeriod) {\r\n return _.contains(commonLongTrendIds, longTrendPeriod.longTrendId);\r\n });\r\n compareGroups.push(new CompareGroup(self.vessels(), longTrendName, commonLongTrends, commonLongTrendPeriods));\r\n });\r\n self.compareGroups(_.sortBy(compareGroups, \"sortOrder\"));\r\n });\r\n\r\n self.compareGroupClickedBinding = events.compareGroupClicked.add(function (compareGroup) {\r\n self.selectedCompareGroup(compareGroup);\r\n });\r\n\r\n self.load();\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.compareGroupClickedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n var vessels = self.vessels();\r\n self.diagnosticLongTrends = findDiagnosticLongTrends(vessels);\r\n self.commonDiagnosticLongTrendNames = findCommonLongTrendNames(self.diagnosticLongTrends, vessels.length);\r\n\r\n var allLongTrendIds = [];\r\n _.each(self.commonDiagnosticLongTrendNames, function (longTrendName) {\r\n var commonLongTrends = _.filter(self.diagnosticLongTrends, function (longTrend) {\r\n return longTrend.name === longTrendName;\r\n });\r\n\r\n allLongTrendIds = _.union(allLongTrendIds, _.pluck(commonLongTrends, \"id\"));\r\n });\r\n self.loadLongTrendPeriods(allLongTrendIds);\r\n};\r\n\r\nViewModel.prototype.deselectCompareGroup = function () {\r\n this.selectedCompareGroup(null);\r\n};\r\n\r\nViewModel.prototype.navigateHome = function () {\r\n events.navigatedHome.dispatch();\r\n};\r\n\r\nViewModel.prototype.loadLongTrendPeriods = function (longTrendIds) {\r\n var self = this;\r\n longTrendPeriodsClient.findMany(longTrendIds).done(function (data) {\r\n self.longTrendPeriods(data);\r\n })\r\n .always(function () {\r\n self.isLoadingLongTrendPeriods(false);\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import stringHelper from \"Utilities/string-helper\";\r\n\r\nfunction formatValueWithCaption(logVariable, value) {\r\n var precision = logVariable != null ? logVariable.displayPrecision : 5;\r\n\r\n var unit = logVariable != null ? logVariable.unit : null;\r\n return addCaption(value, precision, unit);\r\n}\r\n\r\nfunction formatMapLocation(latitude, longitude) {\r\n if (latitude < -90 || latitude > 90) {\r\n latitude = 0;\r\n }\r\n\r\n if (longitude < -180 || longitude > 180) {\r\n longitude = 0;\r\n }\r\n\r\n return latitude.toFixed(5) + \",\" + longitude.toFixed(5);\r\n}\r\n\r\nfunction addCaption(value, displayPrecision, unit) {\r\n var unitCaption = \"\";\r\n\r\n if (unit != null) {\r\n unitCaption = unit.caption != null ? unit.caption : \"\";\r\n }\r\n\r\n return value.toFixed(displayPrecision) + \" \" + unitCaption;\r\n}\r\n\r\nfunction formatLogVariableDisplayName(logVariable, duplicateLogVariableNames) {\r\n var dupLogVariableNamesArray = [];\r\n if (Array.isArray(duplicateLogVariableNames)) {\r\n dupLogVariableNamesArray = duplicateLogVariableNames;\r\n }\r\n if (typeof duplicateLogVariableNames === \"function\") {\r\n // Support for knockout\r\n dupLogVariableNamesArray = duplicateLogVariableNames();\r\n }\r\n var name = logVariable.name;\r\n if (logVariable.onboardSystem && dupLogVariableNamesArray.some(x => x == name)) {\r\n name += ` (${logVariable.onboardSystem})`;\r\n }\r\n return name;\r\n}\r\n\r\nfunction getDuplicateLogVariableNames(logVariables) {\r\n var logVariablesArray = [];\r\n if (Array.isArray(logVariablesArray)) {\r\n logVariablesArray = logVariables;\r\n }\r\n if (typeof logVariables === \"function\") {\r\n // Support for knockout\r\n logVariablesArray = logVariables();\r\n }\r\n if (!logVariablesArray) {\r\n return [];\r\n }\r\n\r\n var countOfNames = logVariablesArray.reduce((acc, curr, idx, arr) => {\r\n if (!acc[curr.name]) {\r\n acc[curr.name] = 0;\r\n }\r\n acc[curr.name]++;\r\n return acc;\r\n }, {});\r\n return Object.entries(countOfNames).filter(([key, value]) => value > 1).map(([key, value]) => key);\r\n}\r\n\r\nexport default {\r\n formatValueWithCaption: function (logVariable, value) {\r\n return formatValueWithCaption(logVariable, value);\r\n },\r\n formatMapLocation: function (latitude, longitude) {\r\n return formatMapLocation(latitude, longitude);\r\n },\r\n formatLogVariableDisplayName: function (logVariable, duplicateLogVariableNames) {\r\n return formatLogVariableDisplayName(logVariable, duplicateLogVariableNames);\r\n },\r\n getDuplicateLogVariableNames: function (logVariables) {\r\n return getDuplicateLogVariableNames(logVariables);\r\n }\r\n};\r\n","import net from \"App/net\";\r\n\r\nclass AuthService {\r\n login(username: string, password: string) {\r\n return net.post(\"/Authenticate\", {\r\n username,\r\n password,\r\n });\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem(\"ACCESS_TOKEN\");\r\n localStorage.removeItem(\"TOKEN_EXPIRY_DATE\");\r\n }\r\n\r\n lostPassword(Email: string) {\r\n return net.post(\"/Account/LostPassword\", {\r\n Email,\r\n });\r\n }\r\n\r\n resetPassword(Username: string, Token: string, Password: string) {\r\n return net.post(\"/Account/ResetPassword\", {\r\n Username,\r\n Token,\r\n Password,\r\n });\r\n }\r\n\r\n changePassword(Username: string, CurrentPassword: string, NewPassword: string) {\r\n return net.post(\"/Account/ChangePassword\", {\r\n Username,\r\n CurrentPassword,\r\n NewPassword,\r\n });\r\n }\r\n\r\n register(username: string, email: string, password: string) {\r\n console.warn(\"TODO: implement signup\");\r\n }\r\n}\r\n\r\nexport default new AuthService();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport AuthService from \"@/services/AuthService\";\r\nimport { Tokens } from \"@/types/tokens\";\r\nimport { LoginData } from \"@/types/loginData\";\r\nimport { ResetPasswordData } from \"@/types/resetPasswordData\";\r\nimport { ChangePasswordData } from \"@/types/changePasswordData\";\r\nimport authHeader from \"@/services/AuthHeader\";\r\n\r\nconst storedAccessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\nconst storedAccessTokenExpiryDate = localStorage.getItem(\"TOKEN_EXPIRY_DATE\");\r\nlet storedRememberUser = localStorage.getItem(\"REMEMBER_USER\");\r\nif (storedRememberUser) {\r\n storedRememberUser = JSON.parse(storedRememberUser);\r\n}\r\n\r\n@Module({ namespaced: true, name: \"Auth\" })\r\nclass Auth extends VuexModule {\r\n public status = storedAccessToken ? { loggedIn: true } : { loggedIn: false };\r\n public accessToken = storedAccessToken ? storedAccessToken : null;\r\n public accessTokenExpiryDate: string | null = storedAccessTokenExpiryDate ? storedAccessTokenExpiryDate : null;\r\n public _isRefreshing = false;\r\n\r\n @Mutation\r\n public setAccountPersistence(state: boolean): void {\r\n localStorage.setItem(\"REMEMBER_USER\", JSON.stringify(state));\r\n }\r\n\r\n @Mutation\r\n public loginSuccess(tokens: Tokens): void {\r\n this.status.loggedIn = true;\r\n this.accessToken = tokens.access;\r\n this.accessTokenExpiryDate = tokens.expiry;\r\n localStorage.setItem(\"ACCESS_TOKEN\", tokens.access);\r\n localStorage.setItem(\"TOKEN_EXPIRY_DATE\", tokens.expiry);\r\n\r\n this._isRefreshing = false;\r\n }\r\n\r\n @Mutation\r\n public loginFailure(): void {\r\n this.status.loggedIn = false;\r\n this.accessToken = null;\r\n this.accessTokenExpiryDate = null;\r\n this._isRefreshing = false;\r\n }\r\n\r\n @Mutation\r\n public loadingState(state: boolean): void {\r\n this._isRefreshing = state;\r\n\r\n }\r\n\r\n @Mutation\r\n public logout(): void {\r\n this.status.loggedIn = false;\r\n this.accessToken = null;\r\n this.accessTokenExpiryDate = null;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async login(data: LoginData): Promise {\r\n this.context.commit(\"loadingState\", true);\r\n return await AuthService.login(data.username, data.password).then(\r\n tokens => {\r\n this.context.commit(\"setAccountPersistence\", data.persist);\r\n this.context.commit(\"loginSuccess\", tokens);\r\n return Promise.resolve(tokens);\r\n },\r\n error => {\r\n console.error(error);\r\n this.context.commit(\"loginFailure\");\r\n return Promise.reject(error.responseJSON);\r\n },\r\n );\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async lostPassword(email: string): Promise {\r\n return await AuthService.lostPassword(email).then(\r\n response => {\r\n return Promise.resolve(response);\r\n },\r\n error => {\r\n console.error(error);\r\n return Promise.reject(error);\r\n },\r\n );\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async resetPassword(data: ResetPasswordData): Promise {\r\n return await AuthService.resetPassword(data.username, data.token, data.password).then(\r\n response => {\r\n return Promise.resolve(response);\r\n },\r\n error => {\r\n console.error(error);\r\n return Promise.reject(error);\r\n },\r\n );\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async changePassword(data: ChangePasswordData): Promise {\r\n return await AuthService.changePassword(data.username, data.currentPassword, data.newPassword).then(\r\n response => {\r\n return Promise.resolve(response);\r\n },\r\n error => {\r\n console.error(error);\r\n return Promise.reject(error);\r\n },\r\n );\r\n }\r\n\r\n @Action\r\n public updateTokens(tokens: Tokens): void {\r\n this.context.commit(\"loginSuccess\", tokens);\r\n }\r\n\r\n @Action\r\n public async isTokenValid(): Promise {\r\n const response = await fetch(`${process.env.VUE_APP_API_BASE_URL + \"/Authenticate/TokenCheck\"}`, {\r\n headers: authHeader() as HeadersInit,\r\n });\r\n if (response.status !== 200) return false;\r\n return true;\r\n }\r\n\r\n @Action\r\n public async signOut(): Promise {\r\n await AuthService.logout();\r\n this.context.commit(\"logout\");\r\n this.context.commit(\"User/EXPIRE_USER\", null, { root: true });\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return this.status.loggedIn;\r\n }\r\n get isRefreshing(): boolean {\r\n return this._isRefreshing;\r\n }\r\n\r\n get getAccessTokenExpiryDate(): string | null {\r\n return this.accessTokenExpiryDate;\r\n }\r\n\r\n get getAccessToken(): string | null {\r\n return this.accessToken;\r\n }\r\n}\r\n\r\nexport default Auth;\r\n","import template from \"./long-trend-config.html\";\r\nimport ko from \"knockout\";\r\nimport longTrendConfigurationsClient from \"Clients/long-trend-configurations-client\";\r\nimport longTrendsClient from \"Clients/long-trends-client\";\r\nimport vesselsClient from \"@/Scripts/clients/vessels-client\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport store from \"@/store\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport VesselsModule from \"@/store/clients/Vessels.module\";\r\n\r\nconst Vessels = getModule(VesselsModule, store);\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n var vesselId = Vessels.currentVessel.id;\r\n\r\n self.showLastHours = false;\r\n self.showLastMinutes = false;\r\n self.showFromTime = false;\r\n self.showToTime = false;\r\n\r\n self.isVariablesLoading = ko.observable(true);\r\n self.isConfigLoading = ko.observable(true);\r\n self.isVoyagesLoading = ko.observable(true);\r\n self.config = ko.observable();\r\n self.isUpdateConfigurationLoading = ko.observable(false);\r\n self.isUpdateConfigurationError = ko.observable(false);\r\n self.submitError = ko.observable(false);\r\n\r\n self.variables = ko.observable();\r\n self.selectedVariables = ko.observable();\r\n\r\n self.selectedTimePeriod = ko.observable();\r\n self.lastDays = ko.observable();\r\n self.fromDate = ko.observable();\r\n self.toDate = ko.observable();\r\n self.lastPeriodValuesValid = ko.observable(true);\r\n self.voyages = ko.observable();\r\n\r\n self.isLoading = ko.pureComputed(function () {\r\n return self.isConfigLoading() || self.isVoyagesLoading() || self.isVariablesLoading();\r\n });\r\n\r\n self.lastVoyage = ko.pureComputed((function() {\r\n if (self.voyages().length < 1) return null;\r\n\r\n for (let i = self.voyages().length - 1; i >= 0; i--) {\r\n if (self.voyages()[i].startDate !== \"0001-01-01T00:00:00\" && self.voyages()[i].endDate !== \"0001-01-01T00:00:00\") {\r\n return self.voyages()[i];\r\n }\r\n }\r\n\r\n return null;\r\n }));\r\n\r\n self.selectedTimeInMinutes = ko.pureComputed(function () {\r\n var selectedTime = 0;\r\n\r\n if (self.selectedTimePeriod() === \"AllValues\") {\r\n selectedTime = 1;\r\n } else if (self.selectedTimePeriod() === \"LastVoyage\") {\r\n var from = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().startDate));\r\n var to = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().endDate));\r\n\r\n selectedTime = to.diff(from, \"minutes\")\r\n } else if (self.selectedTimePeriod() === \"LastPeriod\") {\r\n selectedTime = daysToMinutes(self.lastDays());\r\n } else if (self.selectedTimePeriod() === \"SetPeriod\") {\r\n var from = dateHelper.getDate(self.fromDate());\r\n var to = dateHelper.getDate(self.toDate());\r\n\r\n selectedTime = to.diff(from, \"minutes\");\r\n }\r\n\r\n if (selectedTime <= 0) {\r\n self.submitError(true);\r\n } else {\r\n self.submitError(false);\r\n }\r\n\r\n return selectedTime;\r\n });\r\n\r\n self.updateTimePeriod = function (fromDateTime, toDateTime) {\r\n self.fromDate(dateHelper.getFormatedDateString(fromDateTime));\r\n self.toDate(dateHelper.getFormatedDateString(toDateTime));\r\n self.selectedTimePeriod(\"SetPeriod\");\r\n\r\n self.submit();\r\n };\r\n\r\n self.submit = function () {\r\n var selectedVariables = self.selectedVariables();\r\n var endChar = selectedVariables.charAt(selectedVariables.length - 1);\r\n\r\n if (endChar === \";\") {\r\n selectedVariables = selectedVariables.slice(0, -1);\r\n }\r\n if (self.selectedTimePeriod() === \"LastVoyage\") {\r\n self.fromDate(dateHelper.getFormatedDateString(self.lastVoyage().startDate));\r\n self.toDate(dateHelper.getFormatedDateString(self.lastVoyage().endDate));\r\n }\r\n const config = {\r\n longTrendIds: selectedVariables,\r\n fromDateTime: dateHelper.getSubmitDateString(self.fromDate(), \"00:00\"),\r\n toDateTime: dateHelper.getSubmitDateString(self.toDate(), \"00:00\"),\r\n lastNumberDays: self.lastDays(),\r\n lastVoyage: self.lastVoyage(),\r\n timeConfigurationType: self.selectedTimePeriod(),\r\n id: self.config().id,\r\n userId: self.config().userId,\r\n vesselId: self.config().vesselId,\r\n };\r\n\r\n self.isUpdateConfigurationLoading(true);\r\n\r\n longTrendConfigurationsClient.update(config).done(function () {\r\n self.isUpdateConfigurationError(false);\r\n self.onSubmit(config);\r\n }).fail(function () {\r\n self.isUpdateConfigurationError(true);\r\n }).always(function () {\r\n self.isUpdateConfigurationLoading(false);\r\n });\r\n };\r\n\r\n self.disableSubmit = ko.pureComputed(function () {\r\n return self.selectedVariables() === \"|\" || !self.lastPeriodValuesValid() || self.isUpdateConfigurationLoading() || self.submitError();\r\n });\r\n\r\n self.displayEmptyVariableSelectionWarning = ko.pureComputed(function () {\r\n return self.selectedVariables() === \"|\";\r\n });\r\n\r\n longTrendsClient.findLongTrendVariables(vesselId).done(function (data) {\r\n self.variables(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVariablesLoading(false);\r\n });\r\n\r\n longTrendConfigurationsClient.getByVesselId(vesselId).done(function (data) {\r\n self.config(data);\r\n self.selectedVariables(data.longTrendIds);\r\n self.selectedTimePeriod(data.timeConfigurationType);\r\n self.lastDays(data.lastNumberDays);\r\n self.fromDate(dateHelper.getFormatedDateString(data.fromDateTime));\r\n self.toDate(dateHelper.getFormatedDateString(data.toDateTime));\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isConfigLoading(false);\r\n });\r\n\r\n vesselsClient.getVesselVoyages(vesselId).done(function (data) {\r\n self.voyages(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVoyagesLoading(false);\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n};\r\n\r\nfunction daysToMinutes(days) {\r\n days = Number(days);\r\n return days * 24 * 60;\r\n}\r\n\r\nexport default {viewModel: ViewModel, template: template};\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Id\\r\\n \\r\\n \\r\\n \\r\\n Vessel name\\r\\n \\r\\n \\r\\n \\r\\n Last data sent\\r\\n \\r\\n \\r\\n \\r\\n Created\\r\\n \\r\\n \\r\\n \\r\\n IMO Number\\r\\n \\r\\n \\r\\n \\r\\n Assign to company\\r\\n \\r\\n Company\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Edit\\r\\n \\r\\n Archive\\r\\n Deactivate\\r\\n Activate\\r\\n \\r\\n \\r\\n Reactivate\\r\\n Delete\\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TimestampFuel typeEstimated fuel
mass flow rate (t/day)
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(isOpen, vesselId, limit, skip) {\r\n var query = {\r\n isOpen: isOpen,\r\n };\r\n\r\n if (vesselId) {\r\n query.vesselId = vesselId;\r\n }\r\n\r\n if (limit) {\r\n query.limit = limit;\r\n }\r\n\r\n if (skip) {\r\n query.skip = skip;\r\n }\r\n\r\n return net.get(\"/Incidents/Find\", query);\r\n};\r\n\r\nClient.prototype.findOpen = function(vesselId) {\r\n return this.find(true);\r\n};\r\n\r\nClient.prototype.findClosed = function(vesselId, limit, skip) {\r\n return this.find(false, vesselId, limit, skip);\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\n\r\nvar Client = function () {\r\n\r\n};\r\n\r\nClient.prototype.find = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n return net.get(\"/NotificationConditions/Find\", filter);\r\n};\r\n\r\nClient.prototype.fetch = function () {\r\n return net.get(\"/NotificationConditions/Find\");\r\n};\r\n\r\nClient.prototype.create = function (condition) {\r\n return net.post(\"/NotificationConditions\", condition);\r\n};\r\n\r\nClient.prototype.update = function (conditions) {\r\n return net.put(\"/NotificationConditions\", conditions);\r\n};\r\n\r\nClient.prototype.remove = function (condition) {\r\n return net.del(\"/NotificationConditions/\" + condition.id);\r\n};\r\n\r\nexport default new Client();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Incident, OpenIncident } from \"@/types/incident\";\r\nimport { Condition } from \"@/types/condition\";\r\nimport incidentsClient from \"Clients/incidents-client\";\r\nimport conditionsClient from \"Clients/notification-conditions-client\";\r\nimport _ from \"underscore\";\r\n\r\n@Module({ namespaced: true, name: \"Incidents\" })\r\nclass Incidents extends VuexModule {\r\n _openIncidents: Incident[] = [];\r\n _allOpenIncidents: Incident[] = [];\r\n _allClosedIncidents: Incident[] = [];\r\n _conditions: Condition[] = [];\r\n private _incidentsExpired = true;\r\n\r\n @Mutation\r\n public UPDATE_OPEN_INCIDENTS(incidents: Incident[]): void {\r\n this._openIncidents = incidents;\r\n }\r\n\r\n @Mutation\r\n public SET_ALL_OPEN_INCIDENTS(incidents: Incident[]): void {\r\n this._allOpenIncidents = incidents;\r\n }\r\n\r\n @Mutation\r\n public SET_ALL_CLOSED_INCIDENTS(incidents: Incident[]): void {\r\n this._allClosedIncidents = incidents;\r\n }\r\n\r\n @Mutation\r\n public SET_CONDITIONS(conditions: Condition[]): void {\r\n this._conditions = conditions;\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._incidentsExpired = true;\r\n }\r\n\r\n @Action\r\n public async updateOpenIncidents(id = this.currentVesselId): Promise {\r\n if (!id) return Promise.reject();\r\n\r\n try {\r\n const data = await incidentsClient.find(true, id);\r\n this.context.commit(\"UPDATE_OPEN_INCIDENTS\", data);\r\n return data;\r\n } catch (error) {\r\n console.warn(error);\r\n return Promise.reject(`Failed to update open incidents: ${error}`);\r\n }\r\n }\r\n\r\n @Action\r\n public async getAllOpenIncidents(): Promise {\r\n try {\r\n const data = await incidentsClient.find(true);\r\n this.context.commit(\"SET_ALL_OPEN_INCIDENTS\", data);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getFleetLevelOpenIncidents(): Promise {\r\n try {\r\n const data = await incidentsClient.find(true);\r\n this.context.commit(\"SET_ALL_OPEN_INCIDENTS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to return response\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async getAllClosedIncidents(): Promise {\r\n try {\r\n const data = await incidentsClient.find(false);\r\n this.context.commit(\"SET_ALL_CLOSED_INCIDENTS\", data);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action\r\n public async fetchConditionsByVesselId(vesselId: number): Promise {\r\n try {\r\n const data = await conditionsClient.find(vesselId);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to load conditions\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async fetchConditions(): Promise {\r\n try {\r\n const data = await conditionsClient.find();\r\n this.context.commit(\"SET_CONDITIONS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to load conditions\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async createConditions(conditions: Condition[]): Promise {\r\n try {\r\n const data = await conditionsClient.create(conditions);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to create conditions\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async updateCondition(conditions: Condition[]): Promise {\r\n try {\r\n const data = await conditionsClient.update(conditions);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to update condition\", error });\r\n }\r\n }\r\n\r\n private get currentVesselId(): number | undefined {\r\n return this.context.rootGetters[\"Vessels/currentVessel\"]?.id;\r\n }\r\n\r\n public get distinctOpenIncidents(): Incident[] {\r\n const groupedByConditionAndTargetKey = _.groupBy(this._openIncidents, function (incident) {\r\n return incident.conditionId + \"-\" + incident.conditionTargetKey;\r\n });\r\n\r\n return _.map(groupedByConditionAndTargetKey, function (group) {\r\n return _.sortBy(group, \"severity\")[0];\r\n });\r\n }\r\n\r\n public get distinctAllOpenIncidents(): Incident[] {\r\n const groupedByConditionAndTargetKey = _.groupBy(this._allOpenIncidents, function (incident) {\r\n return incident.conditionId + \"-\" + incident.conditionTargetKey;\r\n });\r\n\r\n return _.map(groupedByConditionAndTargetKey, function (group) {\r\n return _.sortBy(group, \"severity\")[0];\r\n });\r\n }\r\n\r\n public get openWarningIncidents(): Incident[] {\r\n return _.filter(this.distinctOpenIncidents, function (incident) {\r\n return incident.severity === \"Warning\";\r\n });\r\n }\r\n\r\n public get openCriticalIncidents(): Incident[] {\r\n return _.filter(this.distinctOpenIncidents, function (incident) {\r\n return incident.severity === \"Critical\";\r\n });\r\n }\r\n\r\n public get openCriticalIncidentsLength(): number {\r\n return this.openCriticalIncidents.length;\r\n }\r\n public get openWarningIncidentsLength(): number {\r\n return this.openWarningIncidents.length;\r\n }\r\n\r\n public get allOpenIncidents(): Incident[] {\r\n return this._allOpenIncidents;\r\n }\r\n\r\n public get allClosedIncidents(): Incident[] {\r\n return this._allClosedIncidents;\r\n }\r\n\r\n public get allIncidents(): Incident[] {\r\n return [...this._allClosedIncidents, ...this._allOpenIncidents];\r\n }\r\n\r\n public get conditions(): Condition[] {\r\n return this._conditions;\r\n }\r\n}\r\n\r\nexport default Incidents;\r\n","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function() {\r\n return net.get(\"/CargoUnits\");\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\nimport Store from \"@/store\";\r\nimport _ from \"underscore\";\r\n\r\nvar LogDataClient = function () {\r\n\r\n};\r\n\r\nfunction getData(filter, url) {\r\n var deferred = $.Deferred();\r\n\r\n var logData = null;\r\n\r\n net.get(url, filter).done(function(response) {\r\n var continuationFilter = response.continuationFilter;\r\n\r\n logData = response;\r\n if (continuationFilter) {\r\n getData(continuationFilter).done(function(continuedResponse) {\r\n _.extend(logData.data, continuedResponse.data);\r\n deferred.resolve(logData);\r\n });\r\n } else {\r\n deferred.resolve(logData);\r\n }\r\n }).fail(function() {\r\n deferred.reject(arguments);\r\n });\r\n\r\n return deferred.promise();\r\n}\r\n\r\nLogDataClient.prototype.findLogData = function (variableId, fromDate, toDate, granularity, dateTimeFormat, \r\n unitName, filterMinMax, filterOutliers) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/LogData\" : \"/LogData/Find\";\r\n\r\n var filter = {\r\n logVariableId: variableId,\r\n granularity: granularity ? granularity : \"minute\",\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n dateTimeFormat: dateTimeFormat,\r\n unitName: unitName,\r\n filterMinMax: filterMinMax,\r\n filterOutliers: filterOutliers,\r\n };\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.batchFindLogData = function (variableIds, fromDate, toDate, granularity, filterMinMax, filterOutliers) {\r\n var url = \"/LogData/BatchFind\";\r\n\r\n var filter = {\r\n logVariableIds: variableIds,\r\n granularity: granularity ? granularity : \"minute\",\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n filterMinMax: filterMinMax,\r\n filterOutliers: filterOutliers,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchAccumulatedCalculatedLogData = function(payload) {\r\n var url = \"/LogData/Calculated/Accumulated\";\r\n var filter = {\r\n logVariableIds: payload.logVariableIds,\r\n fromDate: payload.fromDate,\r\n toDate: payload.toDate,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchAveragedCalculatedLogData = function(payload) {\r\n var url = \"/LogData/Calculated/Averaged\";\r\n var filter = {\r\n logVariableIds: payload.logVariableIds,\r\n fromDate: payload.fromDate,\r\n toDate: payload.toDate,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchShapoliAveraged = function(payload) {\r\n var url = \"/Shapoli/LogData/Average\";\r\n var filter = {\r\n vesselId: payload.vesselId,\r\n fromDate: payload.fromDate,\r\n toDate: payload.toDate,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchLastReceivedLogData = function(logVariableIds) {\r\n var url = \"/LogData/LastReceived?logVariableIds=\" + logVariableIds;\r\n var filter = {\r\n\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchLastVoyageAccumulated = function(logVariableIds) {\r\n var url = \"/LogData/Calculated/Accumulated/LastVoyage?logVariableIds=\" + logVariableIds;\r\n var filter = {\r\n \r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchLastVoyageAveraged = function(logVariableIds) {\r\n var url = \"/LogData/Calculated/Averaged/LastVoyage?logVariableIds=\" + logVariableIds;\r\n var filter = {\r\n \r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nexport default new LogDataClient();\r\n","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselId, eventTypes) {\r\n var filter = {\r\n vesselId: vesselId,\r\n eventTypes: eventTypes,\r\n };\r\n\r\n return net.get(\"/VesselEvents/Find\", filter);\r\n};\r\n\r\nClient.prototype.getTrendEventTypes = function() {\r\n return net.get(\"/DiagnosticEvents/Trend/Types\");\r\n};\r\n\r\nClient.prototype.update = function(vesselEvent) {\r\n return net.put(\"/VesselEvents/\" + vesselEvent.id, vesselEvent);\r\n};\r\n\r\nClient.prototype.CreateInfoEvent = function(vesselInfoEventModel) {\r\n return net.post(\"/DiagnosticEvents/Info\", vesselInfoEventModel);\r\n};\r\n\r\nClient.prototype.CreateTrendEvent = function(vesselTrendEventModel) {\r\n return net.post(\"/DiagnosticEvents/Trend\", vesselTrendEventModel);\r\n};\r\n\r\nClient.prototype.UpdateInfoEvent = function(vesselInfoEventModel) {\r\n return net.put(\"/DiagnosticEvents/Info/\" + vesselInfoEventModel.id, vesselInfoEventModel);\r\n};\r\n\r\nClient.prototype.UpdateTrendEvent = function(vesselTrendEventModel) {\r\n return net.put(\"/DiagnosticEvents/Trend/\" + vesselTrendEventModel.id, vesselTrendEventModel);\r\n};\r\n\r\nClient.prototype.DeleteInfoEvent = function(id) {\r\n return net.del(\"/DiagnosticEvents/Info/\" + id);\r\n};\r\n\r\nClient.prototype.DeleteTrendEvent = function(id) {\r\n return net.del(\"/DiagnosticEvents/Trend/\" + id);\r\n};\r\n\r\nexport default new Client();\r\n","module.exports = __webpack_public_path__ + \"img/loading.14a0936b.gif\";","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport vesselEventCargoDetailsClient from \"Clients/vessel-event-cargo-details-client\";\r\n\r\nvar ViewModel = function(vesselEvent, cargoUnit, cargoDetails) {\r\n var self = this;\r\n self.vesselEvent = vesselEvent;\r\n self.vesselEventId = vesselEvent().id;\r\n self.cargoUnit = cargoUnit;\r\n\r\n self.isCreated = ko.observable();\r\n self.cargoDetail = ko.observable();\r\n self.inputCargoCarried = ko.observable();\r\n self.isEditing = ko.observable();\r\n\r\n var existingCargoDetail = _.find(cargoDetails,\r\n function(cargoDetail) {\r\n return cargoDetail.cargoUnitId === cargoUnit.id;\r\n });\r\n\r\n self.hasCargoCarried = ko.pureComputed(function() {\r\n var cargoDetail = self.cargoDetail();\r\n return _.isFinite(cargoDetail.cargoCarried);\r\n });\r\n\r\n self.initialize(existingCargoDetail);\r\n};\r\n\r\nViewModel.prototype.initialize = function(existingCargoDetail) {\r\n var self = this;\r\n\r\n var cargoDetail = {\r\n vesselEventId: self.vesselEventId,\r\n cargoUnitId: self.cargoUnit.id,\r\n cargoCarried: existingCargoDetail ? existingCargoDetail.cargoCarried : null,\r\n };\r\n\r\n self.isCreated(existingCargoDetail ? true : false);\r\n self.cargoDetail(cargoDetail);\r\n self.inputCargoCarried(cargoDetail.cargoCarried);\r\n var isVesselEventConfirmed = self.vesselEvent().isConfirmed;\r\n self.isEditing(!_.isFinite(cargoDetail.cargoCarried) && !isVesselEventConfirmed);\r\n};\r\n\r\nViewModel.prototype.dispose = function(newCurve) {\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n\r\n var $input = $wrapper.find(\"input[type=text]\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var cargoDetail = _.clone(self.cargoDetail());\r\n var inputCargoCarried = self.inputCargoCarried();\r\n if (inputCargoCarried) {\r\n cargoDetail.cargoCarried = parseFloat(inputCargoCarried);\r\n if (!_.isFinite(cargoDetail.cargoCarried)) {\r\n cargoDetail.cargoCarried = 0;\r\n }\r\n vesselEventCargoDetailsClient.create(cargoDetail).done(function(data) {\r\n self.initialize(data);\r\n });\r\n } else if (self.isCreated()) {\r\n vesselEventCargoDetailsClient.remove(cargoDetail).done(function() {\r\n self.initialize(null);\r\n });\r\n }\r\n};\r\n\r\nexport default ViewModel;","import net from \"App/net\";\r\n\r\nvar VesselsAdministrationsClient = function () {\r\n\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.get = function(vesselId) {\r\n return net.get(\"/VesselAdministrations/\" + vesselId);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getVessels = function () {\r\n return net.get(\"/VesselAdministrations\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.createVessel = function (vessel) {\r\n return net.post(\"/VesselAdministrations\", vessel);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getDataReceiverByImoNumber = function (imoNumber) {\r\n var filter = {\r\n isDataReceiver: true,\r\n imoNumber: imoNumber,\r\n };\r\n\r\n var deferred = $.Deferred();\r\n\r\n net.get(\"/VesselAdministrations/Find\", filter).done(function (response) {\r\n deferred.resolve(response[0]);\r\n }).fail(function () {\r\n deferred.reject(arguments);\r\n });\r\n\r\n return deferred.promise();\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.assign = function (vesselId, companyId) {\r\n var command = {\r\n vesselId: vesselId,\r\n companyId: companyId,\r\n };\r\n\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/Assign\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.unassign = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/Unassign\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.update = function (vessel) {\r\n return net.put(\"/VesselAdministrations/\" + vessel.id, vessel);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.setAsDataReceiver = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/SetDataReceiver\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.unsetAsDataReceiver = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/UnsetDataReceiver\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.archiveVessel = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/ArchiveVessel\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.activateVessel = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/ActivateVessel\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.deactivateVessel = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/DeactivateVessel\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.deleteVessel = function (vesselId) {\r\n return net.del(\"/VesselAdministrations/\" + vesselId);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.activateFeature = function (vesselId, featureId) {\r\n var command = {\r\n vesselId: vesselId,\r\n featureId: featureId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/ActivateFeature\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.deactivateFeature = function (vesselId, featureId) {\r\n var command = {\r\n vesselId: vesselId,\r\n featureId: featureId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/DeactivateFeature\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.addCargoUnit = function(vesselId, cargoUnitId) {\r\n var command = {\r\n vesselId: vesselId,\r\n cargoUnitId: cargoUnitId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/AddCargoUnit\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.removeCargoUnit = function(vesselId, cargoUnitId) {\r\n var command = {\r\n vesselId: vesselId,\r\n cargoUnitId: cargoUnitId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/RemoveCargoUnit\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getVeracityKey = function(vesselId) {\r\n return net.get(\"/VesselAdministrations/\" + vesselId + \"/GetVeracityKey\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.updateVeracityKey = function(vesselId, veracityKey) {\r\n var data = {\r\n vesselId: vesselId,\r\n veracityKey: veracityKey,\r\n };\r\n return net.put(\"/VesselAdministrations/UpdateVeracityKey\", data);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getVeracityKeyExpirationDate = function(vesselId) {\r\n return net.get(\"/VesselAdministrations/\" + vesselId + \"/GetVeracityKeyExpirationDate\");\r\n};\r\n\r\nexport default new VesselsAdministrationsClient();","// Module\nvar code = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 value must be a number
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

Please be aware, one or more of the predictions have been detected as an outlier in the observed data set. This means that the prediction may not be trustworthy.

\\r\\n

You could try experimenting with different curve fit methods, to see if there is a better fit for this particular data set.

\\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"

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

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

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

\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { VesselAccessGroup } from \"@/types/vesselAccessGroup\";\r\nimport vesselCategoriesClient from \"Clients/vessel-categories-client\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"VesselAccessGroups\" })\r\nclass VesselAccessGroups extends VuexModule {\r\n private _vesselAccessGroupsExpired = true;\r\n private _vesselAccessGroups: VesselAccessGroup[] = [];\r\n\r\n @Mutation\r\n public REFRESH_GROUPS(groups: VesselAccessGroup[]): void {\r\n this._vesselAccessGroupsExpired = false;\r\n this._vesselAccessGroups = groups;\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._vesselAccessGroupsExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshVesselAccessGroups(): Promise {\r\n let data = [];\r\n try {\r\n data = await vesselCategoriesClient.getAll();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_GROUPS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getAll(): Promise {\r\n if (!this._vesselAccessGroupsExpired) {\r\n return this._vesselAccessGroups;\r\n } else {\r\n await this.refreshVesselAccessGroups();\r\n return this._vesselAccessGroups;\r\n }\r\n }\r\n\r\n get vesselAccessGroups(): VesselAccessGroup[] {\r\n return this._vesselAccessGroups;\r\n }\r\n get vesselAccessGroupsCount(): number {\r\n return this._vesselAccessGroups.length;\r\n }\r\n}\r\n\r\nexport default VesselAccessGroups;\r\n","module.exports = __webpack_public_path__ + \"img/help-preset.fdf9e4db.webp\";","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
\\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
\\r\\n
\\r\\n Distance sailed\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n nm\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n nm\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport logVariablesClient from \"Clients/log-variables-client\";\r\nimport Vue from \"vue\";\r\nimport { LogVariable } from \"@/types/logVariable\";\r\n\r\ninterface VesselLogVariables {\r\n vesselId: number;\r\n logVariables: LogVariable[];\r\n}\r\n\r\n@Module({ namespaced: true, name: \"LogVariables\" })\r\nclass LogVariables extends VuexModule {\r\n private _vesselsLogVariables: VesselLogVariables[] = [];\r\n private _currentVesselLogVariables: LogVariable[] = [];\r\n private _currentVesselShaftPowerLogVariables: LogVariable[] = [];\r\n\r\n public get vesselsLogVariables(): VesselLogVariables[] {\r\n return this._vesselsLogVariables;\r\n }\r\n\r\n public get currentVesselLogVariables(): LogVariable[] {\r\n return this._currentVesselLogVariables;\r\n }\r\n\r\n public get currentVesselShaftPowerLogVariables(): LogVariable[] {\r\n return this._currentVesselShaftPowerLogVariables;\r\n }\r\n\r\n public get logVariableByName() {\r\n return (logVariableName: string): LogVariable => {\r\n return this._currentVesselLogVariables.find(variable => variable.name === logVariableName) ?? {} as LogVariable;\r\n };\r\n }\r\n\r\n public get logVariableById() {\r\n return (id: number): LogVariable => {\r\n return this._currentVesselLogVariables.find(variable => variable.id === id) ?? {} as LogVariable;\r\n };\r\n }\r\n\r\n public get logVariableByVesselId() {\r\n return (id: number): LogVariable[] | undefined => {\r\n return this._vesselsLogVariables.find(variable => variable.vesselId === id)?.logVariables;\r\n };\r\n }\r\n\r\n public get logVariableByNameAndVesselId() {\r\n return (vesselId: number, name: string): LogVariable | undefined => {\r\n const vesselVariables = this._vesselsLogVariables.find(variable => variable.vesselId === vesselId)?.logVariables;\r\n if (!vesselVariables?.length) return;\r\n return vesselVariables.find(variable => variable.displayName === name);\r\n };\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchAllLogVariablesByVesselId(vesselId: number): Promise {\r\n try {\r\n const logVariables: LogVariable[] = await logVariablesClient.findAll(vesselId, undefined, true, true);\r\n const taxa = await logVariablesClient.findVesselLogVariablesTaxa(vesselId);\r\n logVariables.forEach(logVariable => {\r\n logVariable.taxa = taxa[logVariable.id];\r\n });\r\n this.context.commit(\"SET_VESSEL_LOG_VARIABLES\", { logVariables: logVariables, vesselId: vesselId });\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshCurrentVesselLogVariables(vesselId: number): Promise {\r\n try {\r\n const data = await logVariablesClient.findAll(vesselId, null, null, true);\r\n this.context.commit(\"SET_CURRENT_VESSEL_LOG_VARIABLES\", data);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchVesselShaftPowerLogVariables(vesselId: number): Promise {\r\n try {\r\n const shaftPowerLogVariables: LogVariable[] = await logVariablesClient.findVesselLogVariablesShaftPower(vesselId);\r\n this.context.commit(\"SET_SHAFT_POWER_LOG_VARIABLES\", shaftPowerLogVariables);\r\n return shaftPowerLogVariables;\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_VESSEL_LOG_VARIABLES(payload: VesselLogVariables): void {\r\n const existedVesselIndex = this._vesselsLogVariables.findIndex(vessel => vessel.vesselId === payload.vesselId);\r\n if (existedVesselIndex >= 0) Vue.set(this._vesselsLogVariables, existedVesselIndex, payload);\r\n else this._vesselsLogVariables.push(payload);\r\n }\r\n\r\n @Mutation\r\n public SET_CURRENT_VESSEL_LOG_VARIABLES(logVariables: LogVariable[]): void {\r\n this._currentVesselLogVariables = logVariables;\r\n }\r\n\r\n @Mutation\r\n public SET_SHAFT_POWER_LOG_VARIABLES(shaftPowerLogVariables: LogVariable[]): void {\r\n this._currentVesselShaftPowerLogVariables = shaftPowerLogVariables;\r\n }\r\n\r\n}\r\n\r\nexport default LogVariables;\r\n","import net from \"App/net\";\r\n\r\nvar DashboardClient = function () {\r\n\r\n};\r\n\r\nDashboardClient.prototype.getAll = function () {\r\n return net.get(\"/Dashboard\");\r\n};\r\n\r\nDashboardClient.prototype.new = function (dashboard) {\r\n return net.post(\"/Dashboard\", dashboard);\r\n};\r\n\r\nDashboardClient.prototype.update = function (dashboard) {\r\n return net.put(\"/Dashboard\", dashboard);\r\n};\r\n\r\nDashboardClient.prototype.delete = function (dashboardId) {\r\n return net.del(\"/Dashboard/\" + dashboardId);\r\n};\r\n\r\nexport default new DashboardClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Widget } from \"@/types/widget\";\r\nimport { DashboardI } from \"@/types/dashboard\";\r\nimport DashboardClient from \"Clients/dashboard-client\";\r\nimport Vue from \"vue\";\r\n\r\n@Module({ namespaced: true, name: \"Dashboard\" })\r\nclass Dashboard extends VuexModule {\r\n private _dashboards: DashboardI[] = [];\r\n private _activeDashboardId!: number;\r\n private _activeDashboardIndex = 0;\r\n //note2: the user can only edit widgets on the active dashboard\r\n\r\n @Mutation\r\n public SET_DASHBOARDS(dashboards: DashboardI[]): void {\r\n this._dashboards = dashboards;\r\n }\r\n\r\n @Mutation\r\n public SET_ACTIVE_DASHBOARD(dashboardId: number): void {\r\n this._activeDashboardId = dashboardId || parseInt(Vue.$cookies.get(\"activeDashboardId\")) || this._dashboards[0].id;\r\n this._activeDashboardIndex = this._dashboards.findIndex(dashboard => dashboard.id === this._activeDashboardId);\r\n if (this._activeDashboardIndex < 0) this._activeDashboardIndex = 0;\r\n Vue.$cookies.set(\"activeDashboardId\", this._activeDashboardId, \"1y\");\r\n }\r\n\r\n @Mutation\r\n public UPDATE_DASHBOARD(dashboard: DashboardI): void {\r\n const index = this._dashboards.findIndex(dash => dash.id === dashboard.id);\r\n Vue.set(this._dashboards, index, dashboard);\r\n }\r\n\r\n @Mutation\r\n public DELETE_DASHBOARD(dashboardId: number): void {\r\n const index = this._dashboards.findIndex(dashboard => dashboard.id === dashboardId);\r\n this._dashboards.splice(index, 1);\r\n if (this._activeDashboardIndex !== 0) this._activeDashboardIndex -= 1;\r\n }\r\n\r\n @Mutation\r\n public UPDATE_DASHBOARD_LAYOUT(dashboard: DashboardI): void {\r\n this._dashboards[this._activeDashboardIndex].widgets = dashboard.widgets;\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET(widget: Widget): void {\r\n this._dashboards[this._activeDashboardIndex].widgets.push(widget);\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET(index: number): void {\r\n this._dashboards[this._activeDashboardIndex].widgets.splice(index, 1);\r\n }\r\n\r\n @Mutation\r\n public UPDATE_WIDGET(data: { index: number; widgetData: Partial }): void {\r\n Object.assign(this._dashboards[this._activeDashboardIndex].widgets[data.index], data.widgetData);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public setActiveDashboard(dashboardId: number): void {\r\n this.context.commit(\"SET_ACTIVE_DASHBOARD\", dashboardId);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteDashboard(dashboardId: number): Promise {\r\n try {\r\n await DashboardClient.delete(dashboardId);\r\n this.context.commit(\"DELETE_DASHBOARD\", dashboardId);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public updateDashboardsSequence(sequence: { id: number, sequence: number }[]): void {\r\n const userId = this.context.rootGetters[\"User/userId\"];\r\n let updatedDashboardsSequence: DashboardI[] = [];\r\n\r\n this._dashboards.forEach(dashboard => {\r\n if (dashboard.userId === userId) {\r\n dashboard.sequence = sequence.find(item => item.id === dashboard.id)?.sequence;\r\n }\r\n updatedDashboardsSequence.push(dashboard);\r\n });\r\n updatedDashboardsSequence = updatedDashboardsSequence.sort((a: any, b: any) => a.sequence - b.sequence);\r\n\r\n // save personal dashboard sequence\r\n const stringifiedDashboardListSequence: string | null = localStorage.getItem(\"dashboardListSequence\");\r\n if (stringifiedDashboardListSequence == null) {\r\n const dashboardListSequence = updatedDashboardsSequence.filter(d => d.userId === userId).map((d, i) => ({ id: d.id, sequence: i }));\r\n localStorage.setItem(\"dashboardListSequence\", JSON.stringify(dashboardListSequence));\r\n }\r\n // need to commit changes to trigger view update\r\n this.context.commit(\"SET_DASHBOARDS\", updatedDashboardsSequence);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshDashboards(): Promise {\r\n try {\r\n const dashboards: DashboardI[] = await DashboardClient.getAll();\r\n //assigning the correct type object to each widget, as they only save the type-template-name in the database\r\n for (let i = 0; i < dashboards.length; i++) {\r\n for (let j = 0; j < dashboards[i].widgets.length; j++) {\r\n if (dashboards[i].widgets[j].typeTemplate === \"TableWidget\") {\r\n var typeTemplate = this.context.rootGetters[\"WidgetTypes/getTypeByTemplateName\"](\"VesselDataTable\");\r\n } else if (dashboards[i].widgets[j].typeTemplate === \"GraphWidget\") {\r\n var typeTemplate = this.context.rootGetters[\"WidgetTypes/getTypeByTemplateName\"](\"VesselDataGraph\");\r\n } else {\r\n var typeTemplate = this.context.rootGetters[\"WidgetTypes/getTypeByTemplateName\"](dashboards[i].widgets[j].typeTemplate);\r\n }\r\n Vue.set(dashboards[i].widgets[j], \"type\", typeTemplate);\r\n }\r\n }\r\n\r\n this.context.commit(\"SET_DASHBOARDS\", dashboards);\r\n\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh dashboards\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async createNewDashboard(name: string): Promise {\r\n const newDashboard = {\r\n id: 0,\r\n name: name || \"New Dashboard\",\r\n widgets: [],\r\n };\r\n\r\n try {\r\n const createdDashboard = await DashboardClient.new(newDashboard);\r\n await this.context.dispatch(\"refreshDashboards\");\r\n return createdDashboard;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add dashboard\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateDashboard(dashboard: DashboardI): Promise {\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"UPDATE_DASHBOARD\", dashboard);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update dashboard\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateDashboardLayout(dashboard: DashboardI): Promise {\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"UPDATE_DASHBOARD_LAYOUT\", dashboard);\r\n } catch (error) {\r\n throw ({ message: \"Failed to save updated dashboard layout\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addWidget(widget: Widget): Promise {\r\n const dashboard = this.activeDashboard;\r\n dashboard.widgets.push(widget);\r\n\r\n try {\r\n const updatedDashboard = await DashboardClient.update(dashboard);\r\n this.context.commit(\"ADD_WIDGET\", widget);\r\n\r\n return updatedDashboard;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add new widget\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateWidget(widgetData: Partial): Promise {\r\n const index = this.activeDashboard.widgets.findIndex(widget => widget.id === widgetData.id);\r\n\r\n if (index >= 0) {\r\n const dashboard = this.activeDashboard;\r\n dashboard.widgets[index] = Object.assign(dashboard.widgets[index], widgetData);\r\n\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"UPDATE_WIDGET\", { index, widgetData });\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget\", error });\r\n }\r\n } else {\r\n throw ({ message: \"Could not find widget to update\" });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidget(id: number): Promise {\r\n const index = this.activeDashboard.widgets.findIndex(widget => widget.id === id);\r\n\r\n if (index >= 0) {\r\n const dashboard = this.activeDashboard;\r\n dashboard.widgets.splice(index, 1);\r\n\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"DELETE_WIDGET\", index);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget\", error });\r\n }\r\n } else {\r\n throw ({ message: \"Could not find widget to delete\" });\r\n }\r\n }\r\n\r\n //If there are no dashboards, create one\r\n @Action({ rawError: true })\r\n public async initializeDashboard(): Promise {\r\n try {\r\n await this.context.dispatch(\"refreshDashboards\");\r\n\r\n if (!this._dashboards.length) {\r\n await this.context.dispatch(\"createNewDashboard\");\r\n }\r\n\r\n this.context.commit(\"SET_ACTIVE_DASHBOARD\");\r\n } catch (error) {\r\n throw ({ message: \"Failed to initialize dashboard\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public getWidgetsOfSelectedType(typeName: string): Widget[] {\r\n return this._dashboards[this._activeDashboardIndex].widgets.filter(widget => widget.type?.defaultName === typeName);\r\n }\r\n\r\n get activeDashboardWidgets(): Widget[] {\r\n return this._dashboards[this._activeDashboardIndex]?.widgets;\r\n }\r\n\r\n get activeWidgets(): Widget[] {\r\n return this._dashboards[this._activeDashboardIndex].widgets.filter(widget => widget.active);\r\n }\r\n\r\n get dashboards(): DashboardI[] {\r\n return this._dashboards;\r\n }\r\n\r\n get activeDashboard(): DashboardI {\r\n //using JSON to create unlinked, deep copy of the active dashboard.\r\n return JSON.parse(JSON.stringify(this._dashboards[this._activeDashboardIndex]));\r\n }\r\n\r\n get dashboardById() {\r\n return (id: number): DashboardI => {\r\n const dashboard = this._dashboards.find(dashboard => dashboard.id === id);\r\n\r\n if (!dashboard) throw new Error(\"Found no dashboard with id \" + id);\r\n else return dashboard;\r\n };\r\n }\r\n}\r\n\r\nexport default Dashboard;\r\n","import net from \"App/net\";\r\n\r\nvar Client = function () {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function () {\r\n return net.get(\"/NotificationChannels\");\r\n};\r\n\r\nClient.prototype.remove = function (id) {\r\n return net.del(`/NotificationChannels/${id}`);\r\n};\r\n\r\nexport default new Client();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Channel } from \"@/types/condition\";\r\nimport ChannelsClient from \"Clients/notification-channels-client\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Channels\" })\r\nclass Channels extends VuexModule {\r\n private _channels: Channel[] = [];\r\n\r\n @Mutation\r\n public SET_CHANNELS(channels: Channel[]): void {\r\n this._channels = channels;\r\n }\r\n\r\n @Mutation\r\n public ADD_CHANNEL(channel: Channel): void {\r\n this._channels.push(channel);\r\n }\r\n\r\n @Mutation\r\n public DELETE_CHANNEL(channel: Channel): void {\r\n const chnlIndex = this._channels.findIndex(chnl => channel.email === chnl.email);\r\n if (chnlIndex !== -1) this._channels.splice(chnlIndex, 1);\r\n }\r\n\r\n\r\n @Action({ rawError: true })\r\n public async fetchChannels(): Promise {\r\n try {\r\n const channels = await ChannelsClient.getAll();\r\n this.context.commit(\"SET_CHANNELS\", channels);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch channels\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteChannel(id: number): Promise {\r\n try {\r\n await ChannelsClient.remove(id);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete channel\", error });\r\n }\r\n }\r\n\r\n get channels(): Channel[] {\r\n return this._channels;\r\n }\r\n get emailChannels(): Channel[] {\r\n return this._channels.filter(ch => ch.email && ch.userId === null);\r\n }\r\n public get getChannelByEmail() {\r\n return (email: string | null): Channel | undefined => {\r\n return this._channels.find(chnl => chnl.email === email);\r\n };\r\n }\r\n}\r\n\r\nexport default Channels;\r\n","// Module\nvar code = \"
\\r\\n \\r\\n

Import details

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

Import paths

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

Import duration

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

Timestamp

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

IMO Number

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

Imported tables

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

Table name

\\r\\n

Import duration

\\r\\n

Number of rows

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","import _ from \"underscore\";\r\n\r\n// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Using_Special_Characters\r\nfunction escapeRegExp(str) {\r\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\r\n}\r\n\r\nfunction replaceAll(str, find, replace) {\r\n return str.replace(new RegExp(escapeRegExp(find), \"g\"), replace);\r\n}\r\n\r\nfunction addSlashes(str) {\r\n return (str + \"\").replace(/[\\\\\"']/g, \"\\\\$&\").replace(/\\u0000/g, \"\\\\0\");\r\n}\r\n\r\nfunction isNullOrWhiteSpace(str) {\r\n if (!_.isString(str)) return true;\r\n\r\n return str.replace(/\\s/g, \"\").length < 1;\r\n}\r\n\r\nfunction isLookingLikeAnEmail(str) {\r\n return /(.+)@(.+){2,}\\.(.+){2,}/.test(str);\r\n}\r\n\r\nfunction stringContains(str, value) {\r\n return str.toLowerCase().indexOf(value) !== -1;\r\n\r\n}\r\n\r\nfunction getPrettyFileSize(bytes) {\r\n var sizes = [\"B\", \"KB\", \"MB\", \"GB\"];\r\n if (bytes == 0) return \"0 B\";\r\n var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)));\r\n\r\n return (bytes / Math.pow(1000, i)).toFixed(2) + \" \" + sizes[i];\r\n}\r\n\r\nfunction endsWith(str, value, isCaseInsensitive) {\r\n if (isCaseInsensitive) {\r\n str = str.toLowerCase();\r\n value = value.toLowerCase();\r\n }\r\n\r\n return str.slice(-value.length) === value;\r\n}\r\n\r\nfunction getPrettyIMO(imoNumber) {\r\n var prettyIMO = (\"0000000\" + imoNumber).slice(-7);\r\n return \"IMO\" + prettyIMO;\r\n}\r\n\r\nfunction pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? pad(\"0\" + str, max) : str;\r\n}\r\n\r\nfunction equalsIgnoreCase(str1, str2) {\r\n var areEqual = str1 === str2;\r\n if (areEqual) {\r\n return areEqual;\r\n }\r\n\r\n if ((str1 === null) || (str2 === null)) {\r\n return false;\r\n }\r\n\r\n return str1.toUpperCase().localeCompare(str2.toUpperCase()) === 0;\r\n}\r\n\r\nexport default {\r\n replaceAll: function(str, find, replace) {\r\n return replaceAll(str, find, replace);\r\n },\r\n addSlashes: function(str) {\r\n return addSlashes(str);\r\n },\r\n isNullOrWhiteSpace: function(str) {\r\n return isNullOrWhiteSpace(str);\r\n },\r\n isLookingLikeAnEmail: function(str) {\r\n return isLookingLikeAnEmail(str);\r\n },\r\n stringContains: function(str, value) {\r\n return stringContains(str, value);\r\n },\r\n getPrettyFileSize: function(bytes) {\r\n return getPrettyFileSize(bytes);\r\n },\r\n endsWith: function(str, value, isCaseInsensitive) {\r\n return endsWith(str, value, isCaseInsensitive);\r\n },\r\n getPrettyIMO: function(imoNumber) {\r\n return getPrettyIMO(imoNumber);\r\n },\r\n pad: function(str, max) {\r\n return pad(str, max);\r\n },\r\n equalsIgnoreCase: function (str1, str2) {\r\n return equalsIgnoreCase(str1, str2);\r\n },\r\n};","// Module\nvar code = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
StartEndFuel typeFuel
consumption (MT)
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/fouling-overview-widget-illustration.183ef397.png\";","import { VuexModule, Module } from \"vuex-module-decorators\";\r\nimport { VesselStatusIcons } from \"@/types/vesselStatusIcons\";\r\n\r\n@Module({ namespaced: true, name: \"MapWidget\" })\r\nclass MapWidgetData extends VuexModule {\r\n private _performanceStatuses = [\r\n {\r\n title: \"Ok\",\r\n value: \"Ok\",\r\n icon: VesselStatusIcons.Ok,\r\n },\r\n {\r\n title: \"Observe\",\r\n value: \"Observe\",\r\n icon: VesselStatusIcons.Observe,\r\n },\r\n {\r\n title: \"Not ok\",\r\n value: \"NotOk\",\r\n icon: VesselStatusIcons.NotOk,\r\n },\r\n {\r\n title: \"Benchmarking\",\r\n value: \"BenchMarking\",\r\n icon: VesselStatusIcons.BenchMarking,\r\n },\r\n {\r\n title: \"Performance status N/A\",\r\n value: \"notAvailable\",\r\n icon: VesselStatusIcons.notAvailable,\r\n },\r\n ]\r\n\r\n get performanceStatuses(): { title: string, value: string, icon: VesselStatusIcons }[] {\r\n return this._performanceStatuses;\r\n }\r\n}\r\n\r\nexport default MapWidgetData;\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABvBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNC0wNS0wOVQwODoxNjo0NC0wNDowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxNC0wNS0wOVQxMjoxNzo1Ni0wNDowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTQtMDUtMDlUMTI6MTc6NTYtMDQ6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExMzdBRkQyQ0VEQjExRTM5MTNBQkEyM0JCOUMxNEY5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFBQzhBNUNBQ0Y5ODExRTM5MTNBQkEyM0JCOUMxNEY5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6RDc5OEU0N0FDNTIwNjgxMTg4QzY4MzczMzAwMkU2RTciPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3IiBzdEV2dDp3aGVuPSIyMDE0LTA1LTA5VDA4OjE2OjQ0LTA0OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpEODk4RTQ3QUM1MjA2ODExODhDNjgzNzMzMDAyRTZFNyIgc3RFdnQ6d2hlbj0iMjAxNC0wNS0wOVQwODoxNzoxNC0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RDk5OEU0N0FDNTIwNjgxMTg4QzY4MzczMzAwMkU2RTciIHN0RXZ0OndoZW49IjIwMTQtMDUtMDlUMDg6MTc6MTQtMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUuMSBNYWNpbnRvc2giIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ5OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ3OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+QYM+6QAAAYBJREFUeNpi/P//PwM1ASNWUeOZAkCyAIj9gdgATfYCEG8E4gkMZ9M/EDbQeCbIoHogFiDgGJBhjUBDJ+A20HjmfCCZQKIvFwANTYRxmJAM68dnmAAvG8P5ZcEM/8+kMTgYSyFLJUD1IhloPNMBGmY4QYCDAoOBmjCYDaORQAHUDLgL6wn568DZ5wwfPv9iePD8M8OGgw+wKamHhKHxTFAsnqdSqjEEudCBkCpQmM1vcGDYP9MXm3dRlLIQSh79xZYMBZG6cL6BujDDhVtvccYdEz7DQAYpSPLCDQCF4YYDD/D6hgWf5ITll8ERcH9TJJgPYoMMxQeYoCkeJ0jwUYOzG2edJRTcH0AGHsCnIh8afqBkA0vg+FIXEzDbXMBlaIKvGtyAD59/MpxfGoyeS1AMA5kFi5RGbCr87RVQkk5i4wF8kQI2gxnMfL7lAYOULyj5WCCr+PnrLwMHGzPDzLXXwYbhSS6gomwmjUsbEIBIFBKKeaTysBDZMJqU2AABBgAmaYSfdlY7HwAAAABJRU5ErkJggg==\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=478061e4&lang=scss&scoped=true&\"","// Module\nvar code = \"\\r\\n\\r\\n
\\r\\n A vessel with this IMO number exists in this company\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n Specifics for the last trend period for each vessel:\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar CiiClient = function () {\r\n\r\n};\r\n\r\nCiiClient.prototype.getDays = function(query) {\r\n return net.get(`/Cii/Day`, query);\r\n};\r\n\r\nCiiClient.prototype.getYtd = function(query) {\r\n return net.get(`/Cii/Ytd`, query);\r\n};\r\n\r\nCiiClient.prototype.getYear = function(query) {\r\n return net.get(`/Cii/Year`, query);\r\n};\r\n\r\nexport default new CiiClient();","import { VuexModule, Module, Action } from \"vuex-module-decorators\";\r\nimport CiiClient from \"Clients/cii-client\";\r\nimport { CiiData } from \"@/types/ciiData\";\r\n\r\n@Module({ namespaced: true, name: \"Cii\" })\r\nclass Cii extends VuexModule {\r\n\r\n @Action({ rawError: true })\r\n public async fetchDays(query: { vesselIds: string | number; start: string; end: string; }): Promise {\r\n try {\r\n return await CiiClient.getDays(query);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch calculations\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchYtd(query: { vesselIds: string }): Promise {\r\n try {\r\n return await CiiClient.getYtd(query);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch calculations\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchYear(query: { vesselIds: string; years: string }): Promise {\r\n try {\r\n return await CiiClient.getYear(query);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch calculations\", error });\r\n }\r\n }\r\n}\r\n\r\nexport default Cii;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\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 company

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

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

Remove company

\\r\\n
\\r\\n
\\r\\n
\\r\\n Are you sure you want to permanently delete the company ''?\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAdCAMAAABL/WaSAAAAqFBMVEUAAADIQjnHQDfglI/GPDPHPjXAKB7or6vlpaHjoZzFOjHGOjHGPjXAKB7VcWrENSvSZF3LTUXGOzLKS0PFOC/GOzLGPDPHQDfGPTTGPjXFOzHGOzLFOTDCMCfBLCLAKB7AKB7AKB7////AKB735OP//PzEMyn++PjUa2TGOjH88/P99vX56ejruLX56un45uXz1tTxzsztw8DptLDejonWdG3UbWbBKyGXeQ1xAAAAInRSTlMA7fD+7qAd/v7+6eW4KPX19PPw7+3a1rOXlYmDc04yFREGO+ld0QAAAJdJREFUGNO90EUWwkAQRdGKG8Hd+WmN4LL/nUGTkwFZAG90BzWo86nVYdZbNe44sr+sue4CcrAx9O0cABvvzUWFQuWIPKJ0BDxeCtz2ybvhKjJRIZhTLKGFFoIXMdlAyRgrAZssNFktc0epp8O/ZpmJ/d1cf6jND0PgGN6jk/l5ekHdeUKpG5odZOBuiXaLxLWsxPN/tnwDs4ceMNCKuKYAAAAASUVORK5CYII=\"","// Module\nvar code = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","import stringHelper from \"Utilities/string-helper\";\r\nimport store from \"@/store\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport VesselsModule from \"@/store/clients/Vessels.module\";\r\n\r\nconst Vessels = getModule(VesselsModule, store);\r\n\r\nfunction getVesselBaseUrl(vessel) {\r\n var vesselUrlName = encodeURIComponent(vessel.name);\r\n\r\n var baseUrl = process.env.VUE_APP_BASE_URL + \"Vessel/\" + vessel.id + \"/\" + vesselUrlName + \"/\";\r\n return baseUrl;\r\n}\r\n\r\nexport default {\r\n getVesselUrl: function(vessel) {\r\n return getVesselBaseUrl(vessel || Vessels.currentVessel);\r\n },\r\n getVesselSettingsUrl: function(vessel) {\r\n var baseUrl = getVesselBaseUrl(vessel || Vessels.currentVessel);\r\n return baseUrl + \"VesselSettings\";\r\n },\r\n getVesselNotificationsUrl: function(vessel) {\r\n var baseUrl = getVesselBaseUrl(vessel || Vessels.currentVessel);\r\n return baseUrl + \"Notifications\";\r\n },\r\n getVersionHistoryUrl: function(vessel) {\r\n return process.env.VUE_APP_BASE_URL + \"Help/VersionHistory\";\r\n },\r\n getHelpDiagnosticsUrl: function() {\r\n return process.env.VUE_APP_BASE_URL + \"Help/Diagnostics\";\r\n }\r\n};\r\n","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nvar LongTrendsClient = function () {\r\n\r\n};\r\n\r\nLongTrendsClient.prototype.findLongTrendVariables = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n isDiagnosticType: false,\r\n };\r\n\r\n return net.get(\"/LongTrends/Find\", filter);\r\n};\r\n\r\nLongTrendsClient.prototype.findLongTrends = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n isDiagnosticType: true,\r\n };\r\n\r\n return net.get(\"/LongTrends/Find\", filter);\r\n};\r\n\r\nLongTrendsClient.prototype.update = function (longTrend) {\r\n return net.put(\"/LongTrends\", longTrend).done(function (data) {\r\n events.longTrendUpdated.dispatch(data);\r\n });\r\n};\r\n\r\nLongTrendsClient.prototype.getLongTrendData = function (longTrendIds) {\r\n var filter = {\r\n longTrendIds: longTrendIds,\r\n };\r\n\r\n return net.get(\"/LongTrends/Data\", filter);\r\n};\r\n\r\nLongTrendsClient.prototype.downloadExcel = function(vesselId) {\r\n net.fileDownload(\"/LongTrends/Excel?vesselId=\" + vesselId, \"GET\");\r\n};\r\n\r\nexport default new LongTrendsClient();\r\n","// Module\nvar code = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
NameFuel typeFuel consumption sourcesFlow rate log variable
\\r\\n\\r\\n
\\r\\n No flow meters added yet.\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n

Add flow meter

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport LongTrendPeriodsClient from \"Clients/long-trend-periods-client\";\r\nimport { LongTrendPeriodMeta } from \"@/types/longTrendPeriodMeta\";\r\nimport { ILongTrendPeriod } from \"@/types/longTrendPeriod\";\r\nimport { LongTrendPeriodStatistics } from \"@/types/longTrendPeriodStatistics\";\r\nimport { TrendLimit } from \"@/types/trendLimit\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"LongTrendPeriod\" })\r\nclass LongTrendPeriod extends VuexModule {\r\n private _meta: LongTrendPeriodMeta | null = null;\r\n private _longTrendPeriod: ILongTrendPeriod | null = null;\r\n private _statistics: LongTrendPeriodStatistics | null = null;\r\n private _trendLimits: TrendLimit | null = null;\r\n\r\n @Mutation\r\n public SET_META(data: LongTrendPeriodMeta): void {\r\n this._meta = data;\r\n }\r\n\r\n @Mutation\r\n public SET_LONG_TREND_PERIOD(data: ILongTrendPeriod): void {\r\n this._longTrendPeriod = data;\r\n }\r\n\r\n @Mutation\r\n public SET_STATISTICS(data: LongTrendPeriodStatistics): void {\r\n this._statistics = data;\r\n }\r\n\r\n @Mutation\r\n public SET_TREND_LIMITS(data: TrendLimit): void {\r\n this._trendLimits = data;\r\n }\r\n\r\n @Mutation\r\n public DELETE_DATA(): void {\r\n this._meta = null;\r\n this._longTrendPeriod = null;\r\n this._statistics = null;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateMeta(query: LongTrendPeriodMeta): Promise {\r\n let data = [];\r\n try {\r\n data = await LongTrendPeriodsClient.meta(query);\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject();\r\n }\r\n this.context.commit(\"SET_META\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateLongTrendPeriod(query: LongTrendPeriodMeta): Promise {\r\n let data = [];\r\n try {\r\n data = await LongTrendPeriodsClient.longTrendPeriods(query);\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject();\r\n }\r\n this.context.commit(\"SET_LONG_TREND_PERIOD\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateStatistics(query: LongTrendPeriodMeta): Promise {\r\n let data = [];\r\n try {\r\n data = await LongTrendPeriodsClient.statistics(query);\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject();\r\n }\r\n this.context.commit(\"SET_STATISTICS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateTrendLimits(id: number): Promise {\r\n let data = [];\r\n try {\r\n data = await LongTrendPeriodsClient.trendLimits(id);\r\n } catch (err) {\r\n console.warn(err);\r\n }\r\n this.context.commit(\"SET_TREND_LIMITS\", data);\r\n }\r\n\r\n get meta(): LongTrendPeriodMeta | null {\r\n return this._meta;\r\n }\r\n\r\n get longTrendPeriod(): ILongTrendPeriod | null {\r\n return this._longTrendPeriod;\r\n }\r\n\r\n get statistics(): LongTrendPeriodStatistics | null {\r\n return this._statistics;\r\n }\r\n get trendLimits(): TrendLimit | null {\r\n return this._trendLimits;\r\n }\r\n}\r\n\r\nexport default LongTrendPeriod;\r\n","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n return net.get(\"/Users/Find\", filter);\r\n};\r\n\r\nClient.prototype.getAll = function () {\r\n return net.get(\"/Users/Get\");\r\n};\r\n\r\nClient.prototype.getOnlineUsers = function () {\r\n return net.get(\"/Users/Online\");\r\n};\r\n\r\nClient.prototype.update = function(user) {\r\n return net.put(\"/Users/Put\", user);\r\n};\r\n\r\nClient.prototype.generateApiKey = function (userId) {\r\n var command = {\r\n userId: userId,\r\n };\r\n return net.post(\"/Users/GenerateApiKey\", command);\r\n};\r\n\r\nClient.prototype.clearApiKey = function (userId) {\r\n var command = {\r\n userId: userId,\r\n };\r\n return net.post(\"/Users/ClearApiKey\", command);\r\n};\r\n\r\nClient.prototype.add = function(user) {\r\n return net.post(\"/Users/Post\", user);\r\n};\r\n\r\nClient.prototype.remove = function (user) {\r\n return net.del(\"/Users/\" + user.id);\r\n};\r\n\r\nClient.prototype.setCompany = function (companyId) {\r\n return net.post(\"/Users/SetCompany/\" + companyId);\r\n};\r\n\r\nClient.prototype.isSuperUser = function () {\r\n return net.get(\"/Users/IsSuperUser/\");\r\n};\r\n\r\nexport default new Client();\r\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\n\r\nfunction ViewModel(taxon, highlightedLogVariable) {\r\n var self = this;\r\n self.taxon = taxon;\r\n self.shortName = self.taxon.name.split(\":\")[1];\r\n\r\n self.isHighlighted = ko.pureComputed(function() {\r\n var logVariable = highlightedLogVariable();\r\n if (!logVariable) return false;\r\n\r\n return _.any(logVariable.taxa, function(logVariableTaxon) {\r\n return logVariableTaxon.name === self.taxon.name;\r\n });\r\n });\r\n}\r\n\r\nexport default ViewModel;","import _ from \"underscore\";\r\nimport TaxonVM from \"ViewModels/taxonomy/taxon\";\r\n\r\nvar ViewModel = function(name, taxons, highlightedLogVariable) {\r\n this.name = name;\r\n var orderedTaxons = _.sortBy(taxons, \"name\");\r\n this.taxons = _.map(orderedTaxons, function(taxon) {\r\n return new TaxonVM(taxon, highlightedLogVariable);\r\n });\r\n};\r\n\r\nexport default ViewModel;","// Module\nvar code = \"\\r\\n
\\r\\n
\\r\\n You can use vessel groups to filter vessels on the front page.
\\r\\n If you create one now by giving a name and pressing the Add button, it will appear in the Filter on group dropdown list on top of the vessel overview.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Vessel groups

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

Vessels in group

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

Available vessels

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

User 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

Edit 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

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

Remove user

\\r\\n
\\r\\n
\\r\\n
\\r\\n Are you sure you want to permanently delete the 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

API Key

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar BenefitsClient = function() {\r\n\r\n};\r\n\r\nBenefitsClient.prototype.find = function(trendEventId, longTrendId) {\r\n var filter = {\r\n trendEventId: trendEventId,\r\n longTrendId: longTrendId,\r\n };\r\n\r\n return net.get(\"/Benefits/Find\", filter);\r\n};\r\n\r\nexport default new BenefitsClient();","import { VuexModule, Module, Action } from \"vuex-module-decorators\";\r\nimport BenefitsClient from \"Clients/benefits-client\";\r\nimport { ITrendBenefit } from \"@/types/trendBenefit\";\r\n\r\n@Module({ namespaced: true, name: \"Benefits\" })\r\nclass Benefits extends VuexModule {\r\n @Action({ rawError: true })\r\n public async fetchBenefit(data: { trendEventId: any, longTrendId: any }): Promise {\r\n try {\r\n const response: ITrendBenefit = await BenefitsClient.find(data.trendEventId, data.longTrendId);\r\n\r\n if (!response.consequences) return Promise.reject(\"Benchmarking\");\r\n else return response;\r\n } catch (error) {\r\n return Promise.reject(`Failed to load benefit: ${error}`);\r\n }\r\n }\r\n}\r\n\r\nexport default Benefits;\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport AnnouncementClient from \"Clients/Announcement-client\";\r\nimport { AnnouncementModel, FilteredAnnouncement } from \"@/types/Announcement\";\r\n\r\n@Module({ namespaced: true, name: \"Announcement\" })\r\nclass Announcement extends VuexModule {\r\n private _listofAnnouncements: Announcement[] = [];\r\n private _allAnnoucements: AnnouncementModel[] = [];\r\n private _readByUser: FilteredAnnouncement[] = [];\r\n\r\n @Mutation\r\n public SET_ANNOUNCEMENTS(listofAnnouncements: Announcement): void {\r\n this._listofAnnouncements.push(listofAnnouncements);\r\n }\r\n\r\n @Mutation\r\n public SET_ALLANNOUNCEMENTS(allAnnouncement: AnnouncementModel): void {\r\n this._allAnnoucements.push(allAnnouncement);\r\n }\r\n\r\n @Mutation\r\n public SET_READANNOUNCEMENTS(readByUser: FilteredAnnouncement): void {\r\n this._readByUser.push(readByUser);\r\n }\r\n\r\n\r\n @Action({ rawError: true })\r\n public async announcementListByUser() {\r\n try {\r\n const listofAnnouncements = await AnnouncementClient.findByUser();\r\n this.context.commit(\"SET_ANNOUNCEMENTS\", listofAnnouncements);\r\n return listofAnnouncements;\r\n } catch (error) {\r\n throw ({ message: \"Failed to return response\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async announcementReadByUser(filteredAnnouncement: FilteredAnnouncement[]): Promise {\r\n try {\r\n const readByUser = await AnnouncementClient.readByUser(filteredAnnouncement);\r\n this.context.commit(\"SET_READANNOUNCEMENTS\", readByUser);\r\n return readByUser;\r\n } catch (error) {\r\n throw ({ message: \"Failed to return response\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchAllAnnouncement() {\r\n try {\r\n const allAnnouncement = await AnnouncementClient.find();\r\n this.context.commit(\"SET_ALLANNOUNCEMENTS\", allAnnouncement);\r\n return allAnnouncement;\r\n } catch (error) {\r\n throw ({ message: \"Failed to return response\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addNewAnnouncement(newAnnouncement: AnnouncementModel): Promise {\r\n try {\r\n const allAnnouncement = await AnnouncementClient.new(newAnnouncement);\r\n this.context.commit(\"SET_ALLANNOUNCEMENTS\", allAnnouncement);\r\n return allAnnouncement;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add new announcement\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteAnnouncement(id: number) {\r\n try {\r\n const deleteResponse = await AnnouncementClient.deleteAnnounement(id);\r\n return deleteResponse;\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete announcement\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async sendEmail(newAnnouncement: AnnouncementModel): Promise {\r\n try {\r\n const sendEmail = await AnnouncementClient.sendEmail(newAnnouncement);\r\n return sendEmail;\r\n } catch (error) {\r\n throw ({ message: \"Failed to send email\", error });\r\n }\r\n }\r\n\r\n public get getannouncementlistByUser() {\r\n return this._listofAnnouncements;\r\n }\r\n\r\n public get getallAnnouncement() {\r\n return this._allAnnoucements;\r\n }\r\n\r\n public get getReadAnnouncement() {\r\n return this._readByUser;\r\n }\r\n}\r\n\r\nexport default Announcement;\r\n","// Module\nvar code = \"\\r\\n
\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n

    Time period:

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n From date:
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n To 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\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"

    \\r\\n

    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\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 submit fuel type and density at the start of this voyage.
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/kognifai/help/help-starting-page.webp\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"@/assets/images/kognifai/help/help-main-window.webp\");\nvar ___HTML_LOADER_IMPORT_2___ = require(\"@/assets/images/kognifai/help/help-preset.webp\");\nvar ___HTML_LOADER_IMPORT_3___ = require(\"@/assets/images/kognifai/help/help-curves.webp\");\nvar ___HTML_LOADER_IMPORT_4___ = require(\"@/assets/images/kognifai/help/help-time-span.webp\");\nvar ___HTML_LOADER_IMPORT_5___ = require(\"@/assets/images/kognifai/help/help-exclusion-filters.webp\");\nvar ___HTML_LOADER_IMPORT_6___ = require(\"@/assets/images/kognifai/help/help-plot.webp\");\nvar ___HTML_LOADER_IMPORT_7___ = require(\"@/assets/images/kognifai/help/help-prediction.webp\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar ___HTML_LOADER_REPLACEMENT_3___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_3___);\nvar ___HTML_LOADER_REPLACEMENT_4___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_4___);\nvar ___HTML_LOADER_REPLACEMENT_5___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_5___);\nvar ___HTML_LOADER_REPLACEMENT_6___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_6___);\nvar ___HTML_LOADER_REPLACEMENT_7___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_7___);\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    Data Analysis application

    \\r\\n

    \\r\\n The Danelec Data Analysis application generates reports that provide performance insights from vessel data. It does this by comparing key relationships in the data and through the statistical analysis of the logged data points.\\r\\n The Data Analysis application uses the high frequency data, collected via Vessel Insight, to generate reports showing, both numerically and graphically, actual and predicted values extracted from the dataset\\r\\n It provides the user with a tool to highlight actions required to raise ship performance and to assist in making decisions to optimize ship efficiency.\\r\\n The application includes the following features:\\r\\n

    \\r\\n
      \\r\\n
    • \\r\\n The ability to compare the day-on-day values of any data relation against a user-defined reference curve, highlighting any\\r\\n deviation from the expected values. A typical use-case would be in the analysis of Shaft Power vs. Vessel Speed although any\\r\\n combination of filtered data may be analysed.\\r\\n
    • \\r\\n
    • \\r\\n The ability to present the ongoing data in both tabular and graphical form.\\r\\n
    • \\r\\n
    • \\r\\n Functionality to extrapolate predicted performance from the existing data.\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Using the Data Analysis application

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

    After using the assigned username and password to log into the application, all the vessels subscribed to the application will be available for analysis.

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

    After a vessel has been selected for analysis, the main application window is displayed.

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

    Preset

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

    After an analysis has been performed, the parameters used may be saved as a Preset for future use.

    \\r\\n

    \\r\\n You may use the 'Save/Load Presets' drop-down box to save or to open a previously stored setup.\\r\\n A Preset may contain a selected timespan, exclusion filter or baseline curves.\\r\\n An unlimited number of Presets may be defined in the application.\\r\\n All Presets are user and vessel specific, so different Presets may be defined for different vessels as required.\\r\\n

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

    Curve

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

    \\r\\n The first item to be specified is the baseline curve, against which the data will be compared.\\r\\n The curve is set up by entering a number of reference points which the application will then fit a curve of the required type to.\\r\\n As an example, we will consider setting up analysis of Shaft Power vs. Vessel Speed:\\r\\n

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

      Name

      \\r\\n

      The first step is to name each curve. In our example we will define one curves for ballast.

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

      Axis

      \\r\\n

      We must specify the parameter that appears on each axis, selecting them from a drop-down list of all the available parameters.

      \\r\\n

      X-axis: For our example we will choose \\\"Ship Speed Log\\\" to be the variable on the x-axis, but it could equally well be \\\"Ship Speed over ground\\\", if that seems more appropriate.

      \\r\\n

      Y-axis: For the y-axis we will select \\\"Shaft Power\\\".

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

      Curve-fit

      \\r\\n

      \\r\\n The available curve types are \\\"Linear\\\", \\\"Power\\\", and \\\"Polynomial\\\". If \\\"Polynomial\\\" is selected, then a 2nd-5th Order curve may be fitted.\\r\\n Any curve type of the three curve types may be chosen, depending on the level of interpolation between each point required, and on the form of the underlying data. For instance, we would expect our Power vs. Speed curve to be best represented by a higher order polynomial.\\r\\n As each parameter is changed, or data points added or removed, the curve will be recalculated and displayed. In this way, it is possible to see how well a given curve type matches the supplied data points and to fine-tune the curve to fit the specific requirements.\\r\\n After setting up the curve, it is possible to edit it later if further data becomes available.\\r\\n It is also possible to delete any curve.\\r\\n

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

      Curve points

      \\r\\n

      Specify the correlation between the X-axis and Y-axis variables in the table, by adding as many curve points as required.

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

      Additional data to display

      \\r\\n

      \\r\\n It is possible to select supplemental parameters that will appear both as additional columns in summary the table and as extra information associated with the graph\\r\\n For instance, if we were to add \\\"Shaft Speed\\\" to our plot then the summary table will show an additional column, containing the average shaft speeds over the corresponding time periods.\\r\\n The appropriate average will also appear as a line in the pop-up box that appears when the mouse pointer is held over one of the points on the graph.\\r\\n

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

    Time span

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

    \\r\\n When all the required curves have been set up, the next step is to specify the time span that the analysis will cover. The period can be expressed\\r\\n either as \\\"the last x days\\\" or as a specific timespan: typically from the start to finish of a voyage.\\r\\n

    \\r\\n

    \\r\\n The next option, \\\"Duration Period\\\", allows the granularity of the output to be changed. The default is 24 hours but it is possible to\\r\\n select, for example, 12-hour periods if required.\\r\\n

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

    Exclusion filters

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

    \\r\\n The application offers the ability to set up filters to exclude data which was not collected under normal operating conditions and is therefore\\r\\n not representative. Below one example which filters out data collected in high wind (above 15 knots), or in 'Laden' condition (above 12.5 m).\\r\\n

    \\r\\n

    Two types of filter are available:

    \\r\\n
      \\r\\n
    • \\r\\n A time range filter, which will simply exclude all data within the selected time window.\\r\\n
    • \\r\\n
    • \\r\\n A filter group, which excludes data when one or more of the available parameters (draft, cargo size, wind force, ship speed, etc) exceeds its defined threshold-value.\\r\\n In a filter group, data is excluded if any of the individual conditions within the group are met (logical OR operation).\\r\\n The \\\"Continuous\\\" checkbox is used to set up a condition that it is only triggered if the data exceeds the threshold value for an extended period. This could be used, for example, to avoid data being discarded due to wind gusts.\\r\\n
    • \\r\\n
    \\r\\n

    \\r\\n If a logical AND operation is required, for instance \\\"Exclude STW above 20 knots, unless SOG is also above 20 knots\\\", then separate filter groups\\r\\n must be defined for each condition. Then both conditions must be valid before the period is excluded. Note that combining a time range filter with\\r\\n a filter group will result in a set of conditions that apply only within the specified time window.\\r\\n

    \\r\\n

    If the exclusion conditions are met, then the data for that \\\"Duration Period\\\" will not appear in the output.

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

    Plot

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

    An example of a plot with the day-by-day summary is shown here.

    \\r\\n

    \\r\\n For zooming into details please use the mouse to drag an area of interest. To restore the graph, click on the 'Reset zoom' button.\\r\\n

    \\r\\n

    \\r\\n Different sections of the plot may be turned on/off by clicking on the legend underneath the graph.\\r\\n

    \\r\\n

    \\r\\n The graph may be printed or exported in different formats (PNG, JPEG, PDF, SVG) by clicking on the menu symbol in the upper right corner.\\r\\n Furthermore, a detailed XLS report is available by clicking on the 'Download Report' button.\\r\\n

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

    Prediction

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

    \\r\\n The Data Analysis application also includes an extrapolation/prediction feature where the user may specify a value for the X-axis\\r\\n (in this example the STW), and the system will calculate the predicted Y-axis (here the predicted Shaft Power) based on the time\\r\\n span, exclusion filters and curve fit model selected.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\nimport _ from \"underscore\";\r\n\r\nvar ImportStatusClient = function () {\r\n\r\n};\r\n\r\nImportStatusClient.prototype.getSuccessfulImports = function(partition) {\r\n return net.get(\"/SuccessfulImports/Find/\" + partition);\r\n};\r\n\r\nImportStatusClient.prototype.getLastNumberOfImports = function(recentDays) {\r\n return net.get(\"/SuccessfulImports/GetAll/\" + recentDays);\r\n};\r\n\r\nImportStatusClient.prototype.getFailedImports = function(partition) {\r\n if (_.isUndefined(partition)) {\r\n return net.get(\"/FailedImports\");\r\n } else {\r\n return net.get(\"/FailedImports/Find/\" + partition);\r\n }\r\n};\r\n\r\nImportStatusClient.prototype.getRunningImports = function () {\r\n return net.get(\"/RunningImports\");\r\n};\r\n\r\nImportStatusClient.prototype.deleteFailedImport = function(importEntity) {\r\n return net.del(\"/FailedImports\", importEntity);\r\n};\r\n\r\nImportStatusClient.prototype.deleteRunningImport = function(importEntity) {\r\n return net.del(\"/RunningImports\", importEntity);\r\n};\r\n\r\nImportStatusClient.prototype.getVesselImportStates = function(imoNumbers) {\r\n var filter = {\r\n imoNumbers: imoNumbers,\r\n };\r\n return net.get(\"/VesselImportStates\", filter);\r\n};\r\n\r\nImportStatusClient.prototype.retryAllFailedImports = function() {\r\n return net.post(\"/FailedImports/RetryAll\");\r\n};\r\n\r\nImportStatusClient.prototype.downloadImportPackage = function(path) {\r\n return net.fileDownload(\"/ImportStatus/DownloadImportPackage?path=\" + path);\r\n};\r\n\r\nImportStatusClient.prototype.downloadZipFile = function(path) {\r\n return net.fileDownload(\"/ImportStatus/DownloadZipFile?path=\" + path);\r\n};\r\n\r\nexport default new ImportStatusClient();","import net from \"App/net\";\r\n\r\nvar ImportQueueClient = function () {\r\n\r\n};\r\n\r\nImportQueueClient.prototype.get = function (queueName) {\r\n return net.get(\"/QueueAttributes/\" + queueName);\r\n};\r\n\r\nImportQueueClient.prototype.post = function (queueName, importPath) {\r\n return net.post(\"/Queue/\" + queueName, importPath);\r\n};\r\n\r\nexport default new ImportQueueClient();","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport events from \"App/events\";\r\nimport importStatusClient from \"Clients/import-status-client\";\r\n\r\nvar ImportEntity = function (importEntity, status) {\r\n var self = this;\r\n\r\n self.stackTraceSearchReplaces = [{ find: / in /g, repl: \" in\" }, { find: /\\[Inner exception:/g, repl: \"\\n [Inner exception:\" }];\r\n self.statuses = { imported: 0, error: 1, running: 2 };\r\n self.importEntity = importEntity;\r\n\r\n self.importDuration = ko.observable(importEntity.importDuration);\r\n self.importPath = ko.observable(importEntity.importPath);\r\n self.zipPath = ko.observable(importEntity.zipPath);\r\n self.timestamp = ko.observable(importEntity.timestamp);\r\n self.errorMessage = ko.observable(importEntity.errorMessage);\r\n self.stackTrace = ko.observable(importEntity.stackTrace);\r\n self.status = ko.observable(status);\r\n self.webJob = ko.observable(importEntity.webJob);\r\n\r\n self.isOpen = ko.observable(false);\r\n\r\n importEntity.importStatistics = typeof importEntity.importStatistics !== \"string\" ? \"{}\" : importEntity.importStatistics;\r\n self.importStatistics = ko.observable(JSON.parse(importEntity.importStatistics));\r\n\r\n self.progress = ko.observable(status === self.statuses.running ? importEntity.progress : 100);\r\n\r\n\r\n self.formattedStackTrace = ko.pureComputed(function () {\r\n var stackTrace = self.stackTrace();\r\n\r\n _.each(self.stackTraceSearchReplaces, function (item) {\r\n stackTrace = stackTrace.replace(item.find, item.repl);\r\n });\r\n\r\n return stackTrace;\r\n });\r\n\r\n self.importDurationInSeconds = ko.pureComputed(function () {\r\n var ticksInSeconds = 10000000;\r\n var ticks = self.importDuration();\r\n var importDuration = 0;\r\n\r\n if (_.isUndefined(ticks)) {\r\n var startTime = importEntity.startTime;\r\n\r\n if (!_.isUndefined(startTime)) {\r\n startTime = moment(startTime);\r\n var endTime = moment.utc();\r\n var diff = endTime.diff(startTime, \"seconds\", true);\r\n importDuration = diff;\r\n }\r\n\r\n } else {\r\n importDuration = ticks / ticksInSeconds;\r\n }\r\n return importDuration;\r\n });\r\n\r\n self.statusCss = ko.pureComputed(function () {\r\n var statusCss = \"\";\r\n var statuses = self.statuses;\r\n\r\n if (status === statuses.imported) {\r\n statusCss = \"importStatusOk\";\r\n } else if (status === statuses.error) {\r\n statusCss = \"importStatusFailed\";\r\n } else if (status === statuses.running) {\r\n statusCss = \"importStatusRunning\";\r\n }\r\n\r\n return statusCss;\r\n });\r\n\r\n self.statusText = ko.pureComputed(function () {\r\n var statusText = \"\";\r\n var statuses = self.statuses;\r\n\r\n if (status === statuses.imported) {\r\n statusText = \"Imported\";\r\n } else if (status === statuses.error) {\r\n statusText = \"Failed\";\r\n } else if (status === statuses.running) {\r\n statusText = \"Running\";\r\n }\r\n\r\n return statusText;\r\n });\r\n\r\n self.imoNumber = ko.pureComputed(function() {\r\n var importPath = self.importPath();\r\n\r\n return importPath.split(\"/\")[0];\r\n });\r\n\r\n self.importPathDownloadUrl = ko.pureComputed(function () {\r\n var importPath = self.importPath();\r\n if (importPath.toLowerCase().endsWith(\".zip\")) {\r\n return \"/ImportStatus/DownloadZipFile?path=\" + importPath;\r\n }\r\n return \"/ImportStatus/DownloadImportPackage?path=\" + importPath;\r\n });\r\n\r\n self.zipPathDownloadUrl = ko.pureComputed(function () {\r\n var zipPath = self.zipPath();\r\n return \"/ImportStatus/DownloadZipFile?path=\" + zipPath;\r\n });\r\n};\r\n\r\nImportEntity.prototype.retryImport = function () {\r\n var self = this;\r\n\r\n self.importEntity.importStatistics = _.isEmpty(self.importStatistics()) ? [] : self.importStatistics();\r\n events.retryImport.dispatch(self);\r\n};\r\n\r\nImportEntity.prototype.removeImport = function () {\r\n var self = this;\r\n if (confirm(\"Do you really want to remove this?\")) {\r\n events.removeImport.dispatch(self);\r\n }\r\n};\r\n\r\nImportEntity.prototype.downloadImportPackage = function () {\r\n var self = this;\r\n importStatusClient.downloadImportPackage(self.importPath());\r\n};\r\n\r\nImportEntity.prototype.downloadZipFile = function () {\r\n var self = this;\r\n importStatusClient.downloadZipFile(self.zipPath());\r\n};\r\n\r\nImportEntity.prototype.toggleIsOpen = function () {\r\n this.isOpen(!this.isOpen());\r\n};\r\n\r\nexport default ImportEntity;","import template from \"./import-status.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport events from \"App/events\";\r\nimport importStatusClient from \"Clients/import-status-client\";\r\nimport queueClient from \"Clients/import-queue-client\";\r\nimport ImportEntity from \"ViewModels/dataImport/importEntity\";\r\nimport timeConverterHelper from \"Utilities/time-converter-helper\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n self.poller;\r\n self.tableStorageDateFormat = \"YYYY-MM-DD\";\r\n self.datepickerFormat = \"DD. MMM, YYYY\";\r\n\r\n self.queueNames = { pendingImports: \"pendingimports\", receivedData: \"receiveddata\" };\r\n self.recentDateType = { day: 0, lastDays: 1, timeRange: 2 };\r\n\r\n self.importDetailsEntity = ko.observable();\r\n self.importDetailsVisible = ko.observable(false);\r\n self.successfulImportsLoading = ko.observable(true);\r\n self.failedImportsLoading = ko.observable(true);\r\n self.realtimePoll = ko.observable(false);\r\n\r\n self.selectedRecentDateType = ko.observable(self.recentDateType.day);\r\n self.datepickerValue = ko.observable(moment.utc().format(self.datepickerFormat));\r\n self.imoSearchValue = ko.observable(\"\");\r\n\r\n self.recentDays = ko.observable(2);\r\n self.rowsPerPage = ko.observable(5);\r\n self.pollIntervall = ko.observable(2);\r\n self.receivedDataQueueLength = ko.observable(0);\r\n self.pendingImportsQueueLength = ko.observable(0);\r\n\r\n self.successfulImports = ko.observableArray([]);\r\n self.runningImports = ko.observableArray([]);\r\n self.failedImports = ko.observableArray([]);\r\n self.pollingOptions = ko.observableArray([1, 2, 5, 10, 20]);\r\n self.numberOfRows = ko.observableArray([1, 5, 10, 15, 20]);\r\n self.numberOfRecentDays = ko.observableArray(_.range(1, 31));\r\n\r\n self.isVesselImportStatesLoading = ko.observable(false);\r\n self.vesselImportStates = ko.observable();\r\n self.isRetryingAllFailedImports = ko.observable(false);\r\n\r\n self.loadStatus();\r\n\r\n self.vesselImportStateModels = ko.pureComputed(function() {\r\n var vesselImportStates = self.vesselImportStates();\r\n var activeVesselImportStates = _.filter(vesselImportStates, function(vesselImportState) {\r\n return vesselImportState.currentImport;\r\n });\r\n\r\n var vesselImportStateModels = _.map(activeVesselImportStates, function(vesselImportState) {\r\n var model = {\r\n imo: vesselImportState.imoNumber,\r\n currentImport: vesselImportState.currentImport,\r\n currentImportSetAt: vesselImportState.currentImportSetAt,\r\n };\r\n\r\n model.pendingImportPaths = vesselImportState.pendingImportPaths;\r\n return model;\r\n });\r\n\r\n return _.sortBy(vesselImportStateModels, function(vesselImportStateModel) {\r\n return vesselImportStateModel.pendingImportPaths.length;\r\n }).reverse();\r\n });\r\n\r\n self.recentImports = ko.pureComputed({\r\n read: function () {\r\n var successfulImports = self.successfulImports();\r\n var failedImports = self.recentlyFailedImports();\r\n var imoSearchValue = self.imoSearchValue();\r\n var imports = _.union(successfulImports, failedImports);\r\n\r\n if (imoSearchValue !== \"\") {\r\n imports = _.filter(imports,\r\n function (importEntity) {\r\n return importEntity.imoNumber().indexOf(imoSearchValue) !== -1;\r\n });\r\n }\r\n\r\n self.sortByTimestamp(imports);\r\n\r\n return imports;\r\n },\r\n write: function (value) { },\r\n });\r\n\r\n self.recentlyFailedImports = ko.pureComputed(function () {\r\n var date = self.getFormattedDate();\r\n var failedImports = self.failedImports();\r\n\r\n return _.filter(failedImports, function (failedImport) {\r\n return failedImport.importEntity.partitionKey === date;\r\n });\r\n });\r\n\r\n self.retryImport = function (importEntity) {\r\n var queueNames = self.queueNames;\r\n var statuses = importEntity.statuses;\r\n var status = importEntity.status();\r\n var webJob = importEntity.webJob();\r\n var importPath = importEntity.importPath();\r\n\r\n var queueName = webJob == \"Prepare\" ? queueNames.receivedData : queueNames.pendingImports;\r\n\r\n if (status === statuses.error) {\r\n importStatusClient.deleteFailedImport(importEntity.importEntity).done(function () {\r\n self.failedImports.remove(importEntity);\r\n self.sendImportMessageOnQueue(queueName, importPath);\r\n });\r\n } else if (status === statuses.running) {\r\n importStatusClient.deleteRunningImport(importEntity.importEntity).done(function () {\r\n self.runningImports.remove(importEntity);\r\n self.sendImportMessageOnQueue(queueName, importPath);\r\n });\r\n }\r\n };\r\n\r\n self.removeFailedImport = function (importEntity) {\r\n importStatusClient.deleteFailedImport(importEntity.importEntity).done(function () {\r\n self.failedImports.remove(importEntity);\r\n });\r\n };\r\n\r\n self.pollFunction = function () {\r\n self.loadStatus();\r\n };\r\n\r\n self.retryImportEvent = events.retryImport.add(function (importEntity) {\r\n self.retryImport(importEntity);\r\n });\r\n\r\n self.removeImportEvent = events.removeImport.add(function (importEntity) {\r\n self.removeFailedImport(importEntity);\r\n });\r\n\r\n self.datePickerValueSubscription = self.datepickerValue.subscribe(function () {\r\n self.getSuccessfulImports();\r\n });\r\n\r\n self.selectedRecentDateTypeSubscription = self.selectedRecentDateType.subscribe(function () {\r\n self.getSuccessfulImports();\r\n });\r\n\r\n self.recentDaysSubscription = self.recentDays.subscribe(function () {\r\n var recentDateType = self.selectedRecentDateType();\r\n\r\n if (recentDateType === self.recentDateType.lastDays) {\r\n self.getSuccessfulImports();\r\n }\r\n });\r\n\r\n self.runningImportsBinding = self.runningImports.subscribe(function(runningImports) {\r\n var imoNumbers = _.map(runningImports, function(importEntity) {\r\n return importEntity.imoNumber();\r\n });\r\n self.getVesselImportStates(imoNumbers);\r\n });\r\n\r\n self.loggingHistoryItemsCount = ko.pureComputed(function() {\r\n var successfulImports = self.successfulImports();\r\n var loggingHistoryTableRowCounts = _.map(successfulImports, function(successfulImport) {\r\n var importStatistics = successfulImport.importStatistics();\r\n var loggingHistoryTableStats = _.find(importStatistics, function(importStatistic) {\r\n return importStatistic.TableName === \"KSPDataTab_LoggingHistory\";\r\n });\r\n return loggingHistoryTableStats ? loggingHistoryTableStats.RowCount : 0;\r\n });\r\n return _.reduce(loggingHistoryTableRowCounts, function(memo, num) { return memo + num; }, 0);\r\n });\r\n\r\n self.totalTimeSpentInHours = ko.pureComputed(function() {\r\n var successfulImports = self.successfulImports();\r\n var totalImportDurationTicks = _.reduce(successfulImports, function(memo, successfulImport) { return memo + successfulImport.importEntity.importDuration; }, 0);\r\n return timeConverterHelper.ticksToHours(totalImportDurationTicks);\r\n });\r\n\r\n self.logDataTotalTimeSpentInHours = ko.pureComputed(function() {\r\n var successfulImports = self.successfulImports();\r\n var loggingHistoryTableImportDurations = _.map(successfulImports, function(successfulImport) {\r\n var importStatistics = successfulImport.importStatistics();\r\n var loggingHistoryTableStats = _.find(importStatistics, function(importStatistic) {\r\n return importStatistic.TableName === \"KSPDataTab_LoggingHistory\";\r\n });\r\n return loggingHistoryTableStats ? loggingHistoryTableStats.ImportDuration : 0;\r\n });\r\n var totalImportDurationTicks = _.reduce(loggingHistoryTableImportDurations, function(memo, num) { return memo + num; }, 0);\r\n return timeConverterHelper.ticksToHours(totalImportDurationTicks);\r\n });\r\n}\r\n\r\nViewModel.prototype.sortByTimestamp = function (imports) {\r\n imports.sort(function (a, b) {\r\n return Date.parse(b.timestamp()) - Date.parse(a.timestamp());\r\n });\r\n};\r\n\r\nViewModel.prototype.getFormattedDate = function () {\r\n var self = this;\r\n var datepickerValue = self.datepickerValue();\r\n var formattedDate = moment(datepickerValue, self.datepickerFormat).format(self.tableStorageDateFormat);\r\n\r\n return formattedDate;\r\n};\r\n\r\nViewModel.prototype.loadStatus = function () {\r\n var self = this;\r\n var queueNames = self.queueNames;\r\n\r\n self.getRunningImports();\r\n self.getFailedImports();\r\n self.getSuccessfulImports();\r\n\r\n self.getNumberOfMessagesInQueue(self.receivedDataQueueLength, queueNames.receivedData);\r\n self.getNumberOfMessagesInQueue(self.pendingImportsQueueLength, queueNames.pendingImports);\r\n};\r\n\r\nViewModel.prototype.getNumberOfMessagesInQueue = function (queueObservable, queueName) {\r\n var self = this;\r\n queueClient.get(queueName).done(function (data) {\r\n queueObservable(data);\r\n });\r\n};\r\n\r\nViewModel.prototype.sendImportMessageOnQueue = function (importQueue, importPath) {\r\n var self = this;\r\n var queueNames = self.queueNames;\r\n\r\n importQueue = _.isNull(importQueue) || _.isUndefined(importQueue) ? queueNames.pendingImports : importQueue;\r\n\r\n queueClient.post(importQueue, importPath).done(function (data) {\r\n });\r\n};\r\n\r\nViewModel.prototype.getPreviousDatePartition = function () {\r\n var newDate = this.addDaysToDate(-1);\r\n this.datepickerValue(newDate);\r\n this.selectedRecentDateType(this.recentDateType.day);\r\n};\r\n\r\nViewModel.prototype.getNextDatePartition = function () {\r\n var newDate = this.addDaysToDate(1);\r\n this.datepickerValue(newDate);\r\n this.selectedRecentDateType(this.recentDateType.day);\r\n};\r\n\r\nViewModel.prototype.addDaysToDate = function (daysAdded) {\r\n var self = this;\r\n var currentDate = self.datepickerValue();\r\n var newDate = moment(currentDate, self.datepickerFormat);\r\n\r\n newDate = newDate.add(daysAdded, \"days\").format(self.datepickerFormat);\r\n return newDate;\r\n};\r\n\r\nViewModel.prototype.toggleRealtimePoll = function () {\r\n var self = this;\r\n var poll = self.realtimePoll();\r\n var intervall = self.pollIntervall() * 1000;\r\n self.realtimePoll(!poll);\r\n\r\n if (!poll) {\r\n self.poller = setInterval(self.pollFunction, intervall);\r\n } else {\r\n clearInterval(self.poller);\r\n }\r\n};\r\n\r\nViewModel.prototype.getRunningImports = function () {\r\n var self = this;\r\n\r\n importStatusClient.getRunningImports().done(function (data) {\r\n var runningImports = _.map(data, function (runningImport) {\r\n return new ImportEntity(runningImport, 2);\r\n });\r\n\r\n self.sortByTimestamp(runningImports);\r\n self.runningImports(runningImports);\r\n });\r\n};\r\n\r\nViewModel.prototype.getFailedImports = function () {\r\n var self = this;\r\n importStatusClient.getFailedImports().done(function (data) {\r\n var failedImports = _.map(data, function (errorImport) {\r\n return new ImportEntity(errorImport, 1);\r\n });\r\n self.sortByTimestamp(failedImports);\r\n self.failedImports(failedImports);\r\n }).fail(function () {\r\n }).always(function () {\r\n self.failedImportsLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getSuccessfulImports = function () {\r\n var self = this;\r\n var selectedRecentDateType = self.selectedRecentDateType();\r\n var getImports = {};\r\n\r\n self.successfulImportsLoading(true);\r\n\r\n if (selectedRecentDateType === self.recentDateType.day) {\r\n var date = self.datepickerValue();\r\n date = moment(date, self.datepickerFormat).format(self.tableStorageDateFormat);\r\n getImports = importStatusClient.getSuccessfulImports(date);\r\n } else if (selectedRecentDateType === self.recentDateType.lastDays) {\r\n var recentDays = self.recentDays();\r\n getImports = importStatusClient.getLastNumberOfImports(recentDays);\r\n }\r\n\r\n getImports.done(function (data) {\r\n self.successfulImports(_.map(data, function (importEntity) {\r\n return new ImportEntity(importEntity, 0);\r\n }));\r\n }).fail(function () {\r\n }).always(function () {\r\n self.successfulImportsLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getVesselImportStates = function(imoNumbers) {\r\n var self = this;\r\n var getImports = {};\r\n\r\n self.isVesselImportStatesLoading(true);\r\n self.vesselImportStates([]);\r\n if (imoNumbers.length === 0) return;\r\n\r\n importStatusClient.getVesselImportStates(imoNumbers).done(function(data) {\r\n self.vesselImportStates(data);\r\n }).always(function() {\r\n self.isVesselImportStatesLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.retryAllFailedImports = function() {\r\n var self = this;\r\n if (!confirm(\"Do you really want to retry ALL failed imports?\")) {\r\n return;\r\n }\r\n\r\n self.isRetryingAllFailedImports(true);\r\n importStatusClient.retryAllFailedImports().done(function() {\r\n self.loadStatus();\r\n }).always(function() {\r\n self.isRetryingAllFailedImports(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.retryImportEvent.detach();\r\n this.removeImportEvent.detach();\r\n this.datePickerValueSubscription.dispose();\r\n this.selectedRecentDateTypeSubscription.dispose();\r\n this.runningImportsBinding.dispose();\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n %\\r\\n \\r\\n \\r\\n n/a\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n %\\r\\n \\r\\n \\r\\n %\\r\\n \\r\\n \\r\\n \\r\\n n/a\\r\\n n/a\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/kyma-logos/kymalogo.svg\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    Danelec - Data Analysis

    \\r\\n

    \\r\\n The Danelec Data Analysis application allows for the collection and comparison of vessel performance\\r\\n data by analysing the\\r\\n correlations of key variables. High frequency data is collected from relevant sensors, filtered, compared, and\\r\\n used for reporting.\\r\\n This application will be a vital tool for any shipowner/manager to raise ship performance awareness and identify\\r\\n efficiency issues\\r\\n onboard. Different formats of displaying and extracting data is available. In leveraging your sensor data for\\r\\n comparison and statistical\\r\\n analysis, you operationalize sustainability.\\r\\n

    \\r\\n

    \\r\\n Version:
    \\r\\n 1.0.0\\r\\n

    \\r\\n

    \\r\\n Copyright:
    \\r\\n Kyma AS
    \\r\\n Aasamyrane 88B
    \\r\\n N-5116 ULSET
    \\r\\n NORWAY

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

    \\r\\n

    \\r\\n E-mail:
    \\r\\n sales@danelec.com
    \\r\\n

    \\r\\n

    \\r\\n Web:
    \\r\\n www.danelec.com
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function() {\r\n return net.get(\"/VesselGroups\");\r\n};\r\n\r\nClient.prototype.create = function(vesselGroup) {\r\n return net.post(\"/VesselGroups\", vesselGroup).done(function(data) {\r\n events.vesselGroupCreated.dispatch(data);\r\n });\r\n};\r\n\r\nClient.prototype.update = function (vesselGroup) {\r\n return net.put(\"/VesselGroups/\" + vesselGroup.id, vesselGroup).done(function(data) {\r\n events.vesselGroupUpdated.dispatch(data);\r\n });\r\n};\r\n\r\nClient.prototype.remove = function(vesselGroup) {\r\n return net.del(\"/VesselGroups/\" + vesselGroup.id).done(function() {\r\n events.vesselGroupDeleted.dispatch(vesselGroup);\r\n });\r\n};\r\n\r\nClient.prototype.addVesselToGroup = function(vessel, vesselGroup) {\r\n var cmd = {\r\n vesselId: vessel.id,\r\n vesselGroupId: vesselGroup.id,\r\n };\r\n return net.post(\"/VesselGroups/AddVessel\", cmd).done(function(data) {\r\n events.vesselGroupUpdated.dispatch(data);\r\n });\r\n};\r\n\r\nClient.prototype.removeVesselFromGroup = function(vessel, vesselGroup) {\r\n var cmd = {\r\n vesselId: vessel.id,\r\n vesselGroupId: vesselGroup.id,\r\n };\r\n return net.post(\"/VesselGroups/RemoveVessel\", cmd).done(function(data) {\r\n events.vesselGroupUpdated.dispatch(data);\r\n });\r\n};\r\nexport default new Client();","module.exports = __webpack_public_path__ + \"img/help-time-span.91a96e78.webp\";","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\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 = \"4678\";","import { VuexModule, Module, Action, Mutation } from \"vuex-module-decorators\";\r\nimport moment from \"moment\";\r\nimport FoulingClient from \"Clients/fouling-client\";\r\nimport { SeaSurfaceTemperature } from \"@/types/SeaSurfaceTemperature\";\r\nimport { SpeedLossHistory } from \"@/types/SpeedLossHistory\";\r\nimport { SpeedLossStatistic } from \"@/types/SpeedLossStatistic\";\r\nimport { HullCoating, HullCoatingManufacturer, HullCoatingType } from \"@/types/HullCoating\";\r\nimport { FoulingChartConfig } from \"@/types/FoulingChartConfig\";\r\nimport { FoulingAddedConsumption } from \"@/types/FoulingAddedConsumption\";\r\nimport { FoulingEventImpact } from \"@/types/FoulingEventImpact\";\r\nimport { TempPoint } from \"@/types/TempPoint\";\r\n\r\n@Module({ namespaced: true, name: \"Fouling\" })\r\nclass Fouling extends VuexModule {\r\n private _seaSurfaceTemperature: TempPoint[] = [];\r\n private _speedLossHistory: SpeedLossHistory[] = [];\r\n private _speedLossStatistics: SpeedLossStatistic[] = [];\r\n private _hullCoatingVessel: HullCoating | null = null;\r\n private _hullCoatingType: HullCoatingType[] = [];\r\n private _hullCoatingManufacturer: HullCoatingManufacturer[] = [];\r\n private _foulingChartConfig: FoulingChartConfig = {} as FoulingChartConfig;\r\n private _propulsionCurve: { xValues: number[]; yValues: number[] } = {} as { xValues: number[]; yValues: number[] };\r\n\r\n // @Getters\r\n public get seaSurfaceTemperature(): TempPoint[] {\r\n return this._seaSurfaceTemperature;\r\n }\r\n\r\n public get speedLossHistory(): SpeedLossHistory[] {\r\n return this._speedLossHistory;\r\n }\r\n\r\n public get speedLossStatistics(): SpeedLossStatistic[] {\r\n return this._speedLossStatistics;\r\n }\r\n\r\n public get hullCoatingType(): HullCoatingType[] {\r\n return this._hullCoatingType;\r\n }\r\n\r\n public get hullCoatingManufacturer(): HullCoatingManufacturer[] {\r\n return this._hullCoatingManufacturer;\r\n }\r\n\r\n public get hullCoatingVessel(): HullCoating | null {\r\n return this._hullCoatingVessel;\r\n }\r\n\r\n public get speedHistoryStartYear(): string {\r\n if (!this._speedLossHistory.length) return moment().startOf(\"year\").format(\"YYYY-MM-DD\");\r\n const timestamps = this._speedLossHistory.map(item => (moment(item.timestamp).valueOf()));\r\n return moment(Math.min(...timestamps)).format(\"YYYY-MM-DD\");\r\n }\r\n\r\n public get foulingChartConfig(): FoulingChartConfig {\r\n return this._foulingChartConfig;\r\n }\r\n\r\n public get propulsionCurve(): { xValues: number[]; yValues: number[]; } {\r\n return this._propulsionCurve;\r\n }\r\n\r\n // @Actions\r\n @Action({ rawError: true })\r\n public async fetchSpeedLossHistory(query: { vesselId: number; fromDate?: string | null; toDate?: string | null }): Promise {\r\n try {\r\n const data: SpeedLossHistory[] = await FoulingClient.getSpeedLossHistory(query);\r\n this.context.commit(\"SET_SPEED_LOSS_HISTORY\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch speed loss history\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchSeaSurfaceTemperature(query: { shipId: number; fromDate: string | null; toDate: string | null }): Promise {\r\n try {\r\n if (this.seaSurfaceTemperature.length) return;\r\n const data = await FoulingClient.getSeaSurfaceTemperature(query);\r\n this.context.commit(\"SET_SEA_SURFACE_TEMPERATURE\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch sea surface temperature\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateSeaSurfaceTemperature(query: { shipId: number; fromDate: string | null; toDate: string | null }): Promise {\r\n try {\r\n const data = await FoulingClient.getSeaSurfaceTemperature(query);\r\n this.context.commit(\"SET_SEA_SURFACE_TEMPERATURE\", data);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update sea surface temperature\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchSpeedLossStatistics(vesselId: number): Promise {\r\n try {\r\n const data = await FoulingClient.getSpeedLossStatistics(vesselId);\r\n this.context.commit(\"SET_SPEED_LOSS_STATISTICS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Speed Loss Statistics percentage\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchHullCoatingType(): Promise {\r\n try {\r\n const data = await FoulingClient.getHullCoatingType();\r\n this.context.commit(\"SET_HULL_COATING_TYPE\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Hull Coating Type\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchHullCoatingManufacturer(): Promise {\r\n try {\r\n const data = await FoulingClient.getHullCoatingManufacturer();\r\n this.context.commit(\"SET_HULL_COATING_MANUFACTURER\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Hull Coating Manufacturer\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchHullCoatingVessel(vesselId: number): Promise {\r\n try {\r\n const data: HullCoating = await FoulingClient.hullCoatingVessel(vesselId);\r\n this.context.commit(\"SET_HULL_COATING_VESSEL\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Hull Coating\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async postHullCoatingVessel(payload: HullCoating): Promise {\r\n try {\r\n await FoulingClient.postHullCoatingVessel(payload);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update Hull Coating\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchFoulingChartConfig(vesselId: number): Promise {\r\n try {\r\n const data: FoulingChartConfig = await FoulingClient.foulingChartConfig(vesselId);\r\n this.context.commit(\"SET_FOULING_CHART_CONFIG\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Fouling configuration\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateFoulingChartConfig(payload: FoulingChartConfig): Promise {\r\n try {\r\n await FoulingClient.updateFoulingChartConfig(payload);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update Benchmark\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchPropulsionEfficency(query: { vesselId: number; fromDate?: string | null; toDate?: string | null; condition: string; granularity?: string; }): Promise {\r\n try {\r\n const data = await FoulingClient.getPropulsionEfficency(query);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Propulsion Efficency\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchPropulsionEfficencyCurve(query: { vesselId: number; condition?: string | null; }): Promise {\r\n try {\r\n const data = await FoulingClient.getPropulsionEfficencyCurve(query);\r\n this.context.commit(\"SET_PROPULSION_CURVE\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Propulsion Efficency Curve\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchAddedFuelConsumption(vesselId: number): Promise {\r\n try {\r\n const data = await FoulingClient.getAddedFuelConsumption(vesselId);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Added Fuel Consumption\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchEventImpact(query: { vesselId: number, eventDate: string }): Promise {\r\n try {\r\n const data = await FoulingClient.getEventImpact(query.vesselId, query.eventDate);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch event impact\", error });\r\n }\r\n }\r\n\r\n // @Mutations\r\n @Mutation\r\n public SET_SEA_SURFACE_TEMPERATURE(data: SeaSurfaceTemperature): void {\r\n if (!data.weatherServiceSeaSurfaceTemperature || !data.latitude || !data.longitude || !data.shipSpeed || !data.timeSpent) return;\r\n const formattedWeatherData: TempPoint[] = [];\r\n const entries = Object.entries(data.weatherServiceSeaSurfaceTemperature);\r\n\r\n for (let i = 0; i < entries.length; i++) {\r\n const key = entries[i][0];\r\n const value = entries[i][1];\r\n\r\n const latitude = data.latitude[key];\r\n const longitude = data.longitude[key];\r\n const shipSpeed = data.shipSpeed[key.replace(\"Z\", \"\")];\r\n const timeSpent = data.timeSpent[key];\r\n const formattedWeatherDataItem = {\r\n timestamp: moment(key).valueOf(),\r\n temperature: value,\r\n latlng: [latitude, longitude],\r\n shipSpeed: shipSpeed,\r\n timeSpent: timeSpent,\r\n };\r\n formattedWeatherData.push(formattedWeatherDataItem);\r\n }\r\n this._seaSurfaceTemperature = formattedWeatherData;\r\n }\r\n\r\n @Mutation\r\n public CLEAR_SEA_SURFACE_TEMPERATURE(): void {\r\n this._seaSurfaceTemperature = [];\r\n }\r\n\r\n @Mutation\r\n public SET_SPEED_LOSS_HISTORY(data: SpeedLossHistory[]): void {\r\n this._speedLossHistory = data.sort((a: SpeedLossHistory, b: SpeedLossHistory): number => {\r\n const dateA = new Date(a.timestamp).getTime();\r\n const dateB = new Date(b.timestamp).getTime();\r\n return dateA - dateB;\r\n });\r\n }\r\n\r\n @Mutation\r\n public SET_SPEED_LOSS_STATISTICS(data: SpeedLossStatistic[]): void {\r\n this._speedLossStatistics = data;\r\n }\r\n\r\n @Mutation\r\n public SET_HULL_COATING_TYPE(data: HullCoatingType[]): void {\r\n this._hullCoatingType = data;\r\n }\r\n\r\n @Mutation\r\n public SET_HULL_COATING_MANUFACTURER(data: HullCoatingManufacturer[]): void {\r\n this._hullCoatingManufacturer = data.sort((a, b) => {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n @Mutation\r\n public SET_HULL_COATING_VESSEL(data: HullCoating): void {\r\n this._hullCoatingVessel = data;\r\n }\r\n\r\n @Mutation\r\n public SET_FOULING_CHART_CONFIG(data: FoulingChartConfig): void {\r\n this._foulingChartConfig = data;\r\n }\r\n\r\n @Mutation\r\n public SET_PROPULSION_CURVE(data: { xValues: number[]; yValues: number[] }): void {\r\n this._propulsionCurve = data;\r\n }\r\n}\r\n\r\nexport default Fouling;\r\n","function getHelpText(type) {\r\n switch (type) {\r\n case \"speed\":\r\n return \"This graph shows a long trend history of speed loss compared to the baseline used for the vessel. The baseline for the vessel is typically the power vs. speed design curve from the model tank test. A zero (0%) speed loss means that the vessel is performing according to the design curve.\" +\r\n \"A normal trend line for a vessel shows decreasing speed loss over time (negative values), primarily due to hull fouling and reduced propeller efficiency. The system calculates a speed loss percentage for each day by taking an average of all the speed loss measurements calculated from the high frequency data (usually 1 or 15 second granularity) within the 24 hour period.\" +\r\n \"These higher frequency data points are averaged up to a single speed loss percentage for the day which is used to compute a trend line (green line) within the trend period. The system automatically adjusts the calculation for laden and ballast states. Note: the speed loss metric in the Fouling tab may have a different result than in the Diagnostics tab due to different filters applied to the data.\";\r\n case \"rpm\":\r\n return \"This graph shows a long trend overview of the relationship of the main engine power output to the resulting propeller speed (revolutions per minute (rpm)). The graph shows the deviation (+/- 25 %) of rpm over time compared against the value, at the corresponding power, from the propeller curve (power vs rpm). A zero deviation means that the propeller performs according to the propeller curve. The normal trend over time is, however, that the propeller becomes “heavier” (negative trend line), meaning that the power required to turn the propeller increases. The main causes of a heavy propeller are marine growth or a damaged propeller.\";\r\n case \"sfr\":\r\n return \"This graph shows a long trend overview on how the main engine(s) specific fuel consumption rate (sfr) changes over time. The graph shows the deviation (+/- 50 %) of the sfr, compared against the reference curve, measured during the factory shop test. A deviation of zero means that the Main engine is performing in line with the original shop test data for power vs sfr. The normal trend line for any given main engine, however, is that the fuel consumption increases over time (positive trend line); primarily due to the effects of engine wear (higher friction, leakages, etc.).\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction getBenefitText(type) {\r\n switch (type) {\r\n case \"speed\":\r\n return \"* Estimated change in fuel consumption due to speed change, based on ISO corrected Calorific Value.\";\r\n case \"sfr\":\r\n return \"* Estimated change in fuel consumption due to SFR change, based on ISO corrected Calorific Value.\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction getInvalidConsequenceHelpText(type) {\r\n switch (type) {\r\n case \"speed\":\r\n return \"An increased ship speed and fuel savings are expected after a Trend event\";\r\n case \"rpm\":\r\n return \"An increased propeller speed is expected after a Trend event\";\r\n case \"sfr\":\r\n return \"A reduced SFR and fuel savings are expected after a Trend event\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction getDiagnosticTypeOrder(type) {\r\n switch (type) {\r\n case \"speed\":\r\n return 1;\r\n case \"rpm\":\r\n return 2;\r\n case \"sfr\":\r\n return 3;\r\n default:\r\n return 4;\r\n }\r\n}\r\n\r\nexport default {\r\n getHelpText: function (diagnosticType) {\r\n if (!diagnosticType) return \"\";\r\n return getHelpText(diagnosticType.name.toLowerCase());\r\n },\r\n getBenefitText: function (diagnosticType) {\r\n if (!diagnosticType) return \"\";\r\n return getBenefitText(diagnosticType.name.toLowerCase());\r\n },\r\n getInvalidConsequenceHelpText: function (diagnosticTypeName) {\r\n return getInvalidConsequenceHelpText(diagnosticTypeName.toLowerCase());\r\n },\r\n getDiagnosticTypeOrder: function (diagnosticType) {\r\n return getDiagnosticTypeOrder(diagnosticType.name.toLowerCase());\r\n },\r\n};\r\n","import template from \"./taxonomy.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport CategoryVM from \"ViewModels/taxonomy/category\";\r\nimport store from \"@/store\";\r\nimport router from \"@/router\";\r\n\r\nfunction ViewModel(param) {\r\n var self = this;\r\n self.isUploading = ko.observable(false);\r\n self.logVariablesMap = param.taxonomy;\r\n self.logVariables = _.sortBy(_.values(self.logVariablesMap), function(logVariable) {\r\n return logVariable.name.toLowerCase();\r\n });\r\n\r\n self.highlightLogVariableId = ko.observable();\r\n self.highlightedLogVariable = ko.pureComputed(function() {\r\n var highlightLogVariableId = self.highlightLogVariableId();\r\n if (!highlightLogVariableId) return null;\r\n\r\n return self.logVariablesMap.find(x => x.id === highlightLogVariableId);\r\n });\r\n\r\n var allTaxa = _.flatten(_.pluck(self.logVariables, \"taxa\"));\r\n\r\n var uniqueTaxa = _.uniq(allTaxa, function(taxon) {\r\n return taxon.name;\r\n });\r\n\r\n var orderedUniqueTaxa = _.sortBy(uniqueTaxa, \"name\");\r\n var groupedTaxa = _.groupBy(orderedUniqueTaxa, function(taxon) {\r\n return taxon.name.split(\":\")[0];\r\n });\r\n self.categories = _.map(groupedTaxa, function(taxons, name) {\r\n return new CategoryVM(name, taxons, self.highlightedLogVariable);\r\n });\r\n}\r\n\r\nViewModel.prototype.downloadTaxonomy = function () {\r\n return store.dispatch(\"Taxonomy/downloadTaxonomy\");\r\n};\r\n\r\nViewModel.prototype.uploadTaxonomy = function () {\r\n var self = this;\r\n self.isUploading(true);\r\n\r\n var fd = new FormData();\r\n var files = $(\"#taxonomyUploadFile\")[0].files[0];\r\n fd.append(\"file\", files);\r\n\r\n store.dispatch(\"Taxonomy/uploadTaxonomy\", fd)\r\n .then(function() {\r\n router.go();\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    MCR
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    \\r\\n Consequences cannot be calculated because the vessel-specific code was not found.
    \\r\\n Please contact Danelec at support@danelec.com for assistance.\\r\\n

    \\r\\n
    \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar TaxonomyClient = function() {\r\n\r\n};\r\n\r\nTaxonomyClient.prototype.getTaxonomyLogVariables = function() {\r\n return net.get(\"/Taxonomy\");\r\n};\r\n\r\nTaxonomyClient.prototype.getAllTaxa = function() {\r\n return net.get(\"/Taxonomy/Taxa\");\r\n};\r\n\r\nTaxonomyClient.prototype.downloadTaxonomy = function() {\r\n var url = \"/Taxonomy/Excel\";\r\n return net.fileDownload(url, \"GET\");\r\n};\r\n\r\nTaxonomyClient.prototype.uploadTaxonomy = function(file) {\r\n var url = \"/Taxonomy/Excel\";\r\n return net.fileUpload(url, file);\r\n};\r\n\r\nexport default new TaxonomyClient();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { LogVariable } from \"@/types/logVariable\";\r\nimport taxonomyClient from \"Clients/taxonomy-client\";\r\nimport { Category as TaxonomyCategory } from \"@/types/taxonomy/category\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Taxonomy\" })\r\nclass Taxonomy extends VuexModule {\r\n private _taxonomyLogVariables: LogVariable[] = [];\r\n private _taxonomyCategories: TaxonomyCategory[] = [];\r\n\r\n @Action({ rawError: true })\r\n public async getTaxonomyLogVariables(): Promise {\r\n try {\r\n const data = await taxonomyClient.getTaxonomyLogVariables();\r\n this.context.commit(\"SET_TAXONOMY_LOG_VARIABLES\", data);\r\n return data;\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getTaxonomyCategories(): Promise {\r\n try {\r\n const data = await taxonomyClient.getAllTaxa();\r\n this.context.commit(\"SET_TAXONOMY_CATEGORIES\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to get taxonomy categories\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public downloadTaxonomy(): void {\r\n try {\r\n return taxonomyClient.downloadTaxonomy();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async uploadTaxonomy(file: FormData): Promise {\r\n try {\r\n await taxonomyClient.uploadTaxonomy(file);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_TAXONOMY_LOG_VARIABLES(taxonomyLogVariables: LogVariable[]): void {\r\n this._taxonomyLogVariables = taxonomyLogVariables;\r\n }\r\n\r\n @Mutation\r\n public SET_TAXONOMY_CATEGORIES(taxonomyCategories: TaxonomyCategory[]): void {\r\n this._taxonomyCategories = taxonomyCategories;\r\n }\r\n\r\n public get taxonomyList(): LogVariable[] {\r\n return this._taxonomyLogVariables;\r\n }\r\n\r\n public get categorizedTaxonomyList(): TaxonomyCategory[] {\r\n return this._taxonomyCategories;\r\n }\r\n}\r\n\r\nexport default Taxonomy;\r\n","module.exports = __webpack_public_path__ + \"img/graph-widget-illustration-1.1f61060c.png\";","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { SnackbarConfig } from \"@/types/snackbarConfig\";\r\n\r\n@Module({ namespaced: true, name: \"Snackbar\" })\r\nclass Snackbar extends VuexModule {\r\n private _config = {} as SnackbarConfig;\r\n private _defaultConfig: SnackbarConfig = {\r\n text: \"An error occurred.\",\r\n color: \"error\",\r\n timeout: 5000,\r\n show: true,\r\n closeButton: false,\r\n };\r\n\r\n @Action\r\n public showSnackbar(config: Partial): void {\r\n //need to copy the default config, or the show variable will be overwritten when the snackbar is closed.\r\n const defaultConfigCopy = JSON.parse(JSON.stringify(this._defaultConfig));\r\n const snackbarConfig = Object.assign(defaultConfigCopy, config);\r\n \r\n this.context.commit(\"CLEAR_SNACKBAR_CONFIG\");\r\n setTimeout(() => this.context.commit(\"SET_SNACKBAR_CONFIG\", snackbarConfig));\r\n }\r\n\r\n @Action\r\n public close(): void {\r\n this.context.commit(\"CLEAR_SNACKBAR_CONFIG\");\r\n }\r\n\r\n @Mutation\r\n public SET_SNACKBAR_CONFIG(config: SnackbarConfig): void {\r\n this._config = config;\r\n }\r\n\r\n @Mutation\r\n public CLEAR_SNACKBAR_CONFIG(): void {\r\n this._config = { show: false, timeout: -1 } as SnackbarConfig;\r\n }\r\n\r\n public get message(): SnackbarConfig {\r\n return this._config;\r\n }\r\n}\r\n\r\nexport default Snackbar;\r\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=e45951c4&lang=scss&scoped=true&\"","import template from \"./voyage-vessel-event-voyage.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport configEmissionReportFactory from \"App/config-emission-report\";\r\nimport emissionReportVesselEventsClient from \"Clients/emission-report-vessel-events-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.configEmissionReport = configEmissionReportFactory.get();\r\n self.vesselEvent = params.vesselEvent;\r\n self.voyageTypes = self.configEmissionReport.voyageTypes;\r\n self.voyage = ko.pureComputed(function() {\r\n var vesselEvent = self.vesselEvent();\r\n return vesselEvent.voyage;\r\n });\r\n\r\n var voyage = self.voyage();\r\n self.inputVoyageName = ko.observable(voyage ? voyage.name : \"\");\r\n self.inputVoyageType = ko.observable(voyage ? voyage.type : \"\");\r\n self.inputIsNonCommercial = ko.observable(voyage ? voyage.isNonCommercial : false);\r\n\r\n self.isEditing = ko.observable(false);\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n\r\n var $input = $wrapper.find(\"input[type=text]\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var vesselEvent = _.clone(self.vesselEvent());\r\n vesselEvent.voyage = vesselEvent.voyage || {};\r\n vesselEvent.voyage.name = self.inputVoyageName();\r\n vesselEvent.voyage.type = self.inputVoyageType();\r\n vesselEvent.voyage.isNonCommercial = self.inputIsNonCommercial();\r\n\r\n emissionReportVesselEventsClient.update(vesselEvent).done(function(updatedVesselEvent) {\r\n self.vesselEvent(updatedVesselEvent);\r\n self.cancelEditing();\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport categoriesClient from \"Clients/vessel-categories-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function (model, accessGroups) {\r\n var self = this;\r\n self.originalAccessGroup = undefined;\r\n self.accessGroups = accessGroups;\r\n self.id = ko.observable();\r\n self.name = ko.observable().extend({\r\n required: true,\r\n validation: {\r\n async: true,\r\n validator: function (val, params, callback) {\r\n if ((self.originalAccessGroup != null) && (stringHelper.equalsIgnoreCase(val, self.originalAccessGroup.name))) {\r\n // Same as \"original name\".\r\n callback(true);\r\n } else {\r\n callback(!self.accessGroups.exists(val));\r\n }\r\n },\r\n message: \"An access group with that name already exists.\",\r\n },\r\n });\r\n self.vessels = ko.observableArray([]);\r\n self.users = ko.observableArray([]);\r\n\r\n self.setModel(model);\r\n\r\n //For accessing validation from the parent component to for example enable/disable \"create/save\" button.\r\n self.errors = ko.validation.group(self);\r\n self.isValid = ko.computed(function () {\r\n return self.errors().length === 0;\r\n });\r\n};\r\n\r\nViewModel.prototype.setModel = function (model) {\r\n var self = this;\r\n self.originalAccessGroup = model;\r\n\r\n if (model) {\r\n // Edit mode\r\n self.id(model.id);\r\n self.name(model.name);\r\n self.vessels(model.vessels);\r\n self.users(model.users);\r\n } else {\r\n // \"New\" mode\r\n self.id(undefined);\r\n self.name(undefined);\r\n self.vessels([]);\r\n self.users([]);\r\n }\r\n};\r\n\r\nViewModel.prototype.getOriginalAccessGroup = function () {\r\n return this.originalAccessGroup;\r\n};\r\n\r\nViewModel.prototype.save = function () {\r\n var self = this;\r\n var accessGroup = _.clone(self.originalAccessGroup) || {};\r\n\r\n accessGroup.name = self.name();\r\n\r\n var promise;\r\n if (accessGroup.id) {\r\n promise = categoriesClient.update(accessGroup);\r\n } else {\r\n promise = categoriesClient.create(accessGroup);\r\n }\r\n promise.done(function (data) {\r\n self.setModel(data);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.delete = function () {\r\n return categoriesClient.delete(this.originalAccessGroup);\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport vesselCategoriesClient from \"Clients/vessel-categories-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function () {\r\n var self = this;\r\n self.items = ko.observableArray([]);\r\n self.isLoading = ko.observable(false);\r\n self.error = ko.observable();\r\n\r\n self.load();\r\n\r\n self.onCreatedBinding = events.vesselAccessGroupOnCreated.add(function (newItem) {\r\n self.items.push(newItem);\r\n });\r\n\r\n self.onUpdatedBinding = events.vesselAccessGroupOnUpdated.add(function (oldItem, updatedItem) {\r\n self.items.replace(oldItem, updatedItem);\r\n });\r\n\r\n self.onDeletedBinding = events.vesselAccessGroupOnDeleted.add(function (removedItem) {\r\n self.items.remove(function (item) {\r\n return item.id === removedItem.id;\r\n });\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.onCreatedBinding.detach();\r\n this.onUpdatedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n self.error(undefined);\r\n self.items([]);\r\n self.isLoading(true);\r\n\r\n vesselCategoriesClient.getAll()\r\n .done(function (data) {\r\n self.items(data);\r\n })\r\n .fail(function (error) {\r\n console.error(error);\r\n self.error(\"Failed to load list.\");\r\n })\r\n .always(function() {\r\n self.isLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getList = function () {\r\n return this.items;\r\n};\r\n\r\nViewModel.prototype.isLoading = function () {\r\n return this.isLoading;\r\n};\r\n\r\nViewModel.prototype.exists = function (name) {\r\n var match = _.find(this.items(), function (o) {\r\n return stringHelper.equalsIgnoreCase(name, o.name);\r\n });\r\n return match !== undefined;\r\n};\r\n\r\nexport default ViewModel;\r\n","import template from \"./vessel-access-group.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport AccessGroupVM from \"ViewModels/vessel-access-groups/vesselAccessGroup\";\r\nimport AccessGroupListVM from \"ViewModels/vessel-access-groups/vesselAccessGroupList\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n\r\n self.viewModel = null;\r\n self.error = ko.observable();\r\n self.dialogState = ko.observable(\"\");\r\n self.isEditMode = ko.observable(false);\r\n self.accessGroupList = new AccessGroupListVM();\r\n\r\n self.vesselAccessGroupAddBinding = events.vesselAccessGroupAdd.add(function () {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(null, self.accessGroupList);\r\n self.dialogState(\"ADD\");\r\n });\r\n\r\n self.vesselAccessGroupRenameBinding = events.vesselAccessGroupRename.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.dialogState(\"RENAME\");\r\n });\r\n\r\n self.vesselAccessGroupEditBinding = events.vesselAccessGroupEdit.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.isEditMode(true);\r\n });\r\n\r\n self.vesselAccessGroupDeleteBinding = events.vesselAccessGroupDelete.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.dialogState(\"DELETE\");\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.vesselAccessGroupAddBinding.detach();\r\n this.vesselAccessGroupRenameBinding.detach();\r\n this.vesselAccessGroupEditBinding.detach();\r\n this.vesselAccessGroupDeleteBinding.detach();\r\n};\r\n\r\nViewModel.prototype.closeDialog = function () {\r\n this.dialogState(\"\");\r\n};\r\n\r\nViewModel.prototype.closeEdit = function () {\r\n this.isEditMode(false);\r\n};\r\n\r\nViewModel.prototype.clearError = function () {\r\n this.error(null);\r\n};\r\n\r\nViewModel.prototype.handleError = function (error) {\r\n if (error && error.responseJSON && error.responseJSON.message) {\r\n this.error(error.responseJSON.message);\r\n } else {\r\n this.error(\"An error occurred.\");\r\n }\r\n events.errorEvent.dispatch(error);\r\n};\r\n\r\nViewModel.prototype.createAccessGroup = function () {\r\n var self = this;\r\n self.viewModel.save()\r\n .done(function() {\r\n events.vesselAccessGroupOnCreated.dispatch(self.viewModel.originalAccessGroup);\r\n self.closeDialog();\r\n }).fail(function(error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.renameAccessGroup = function () {\r\n var self = this;\r\n var originalCompany = self.viewModel.originalAccessGroup;\r\n self.viewModel.save()\r\n .done(function (data) {\r\n events.vesselAccessGroupOnUpdated.dispatch(originalCompany, data);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.deleteAccessGroup = function () {\r\n var self = this;\r\n self.viewModel.delete()\r\n .done(function () {\r\n events.vesselAccessGroupOnDeleted.dispatch(self.viewModel.originalAccessGroup);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VesselTitle.vue?vue&type=style&index=0&id=f7f08792&scoped=true&lang=scss&\"","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Departed atFrom portVoyage nameCompletedOrigin
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    TimeEvent typeEvent info confirmedDistanceOrigin
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    From date
    To 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

    Summary

    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import template from \"./emission-report.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport configEmissionReportFactory from \"App/config-emission-report\";\r\nimport events from \"App/events\";\r\nimport urlHelper from \"Utilities/url-helper\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport emissionReportClient from \"Clients/emission-report-client\";\r\nimport emissionReportVesselEventsClient from \"Clients/emission-report-vessel-events-client\";\r\nimport logDataClient from \"Clients/log-data-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.configEmissionReport = configEmissionReportFactory.get();\r\n self.vessel = self.configEmissionReport.vessel;\r\n self.gpsSpeedLogVariable = self.configEmissionReport.gpsSpeedLogVariable;\r\n self.isLoading = self.configEmissionReport.isLoading;\r\n self.isLoadingGpsSpeedLogVariable = self.configEmissionReport.isLoadingGpsSpeedLogVariable;\r\n\r\n self.isUploading = ko.observable(false);\r\n self.isVesselSettingsVisible = ko.observable(false);\r\n\r\n self.templateErrors = ko.observable();\r\n\r\n self.selectedDeparture = ko.observable();\r\n self.deselectDeparture = function() {\r\n self.selectedDeparture(null);\r\n }.bind(self);\r\n\r\n self.isLoadingVesselEvents = ko.observable(true);\r\n\r\n var now = moment.utc();\r\n var endOfMonth = moment.utc([now.year(), now.month(), 1]).add(1, \"months\");\r\n self.queryDates = ko.observable({\r\n fromDate: endOfMonth.clone().add(-2, \"months\"),\r\n toDate: endOfMonth,\r\n });\r\n\r\n self.inputQueryFromDate = ko.observable(dateHelper.getFormatedDateString(self.queryDates().fromDate));\r\n self.inputQueryToDate = ko.observable(dateHelper.getFormatedDateString(self.queryDates().toDate));\r\n\r\n self.allVesselEvents = ko.observableArray([]);\r\n var loadVesselEvents = function() {\r\n var queryDates = self.queryDates();\r\n\r\n self.isLoadingVesselEvents(true);\r\n emissionReportVesselEventsClient.find(self.configEmissionReport.currentVessel.id).done(self.allVesselEvents).always(function() {\r\n self.isLoadingVesselEvents(false);\r\n });\r\n };\r\n loadVesselEvents();\r\n\r\n self.allSortedVesselEvents = ko.pureComputed(function() {\r\n var allVesselEvents = self.allVesselEvents();\r\n return _.sortBy(allVesselEvents, \"timestamp\");\r\n });\r\n\r\n self.allDepartureVesselEvents = ko.pureComputed(function() {\r\n var allSortedVesselEvents = self.allSortedVesselEvents();\r\n return _.filter(allSortedVesselEvents,\r\n function(vesselEvent) {\r\n return vesselEvent.type === \"Departure\";\r\n });\r\n });\r\n\r\n self.filteredDepartureVesselEvents = ko.pureComputed(function() {\r\n var queryDates = self.queryDates();\r\n var vesselEvents = self.allDepartureVesselEvents();\r\n return _.filter(vesselEvents,\r\n function(vesselEvent) {\r\n var timestamp = moment.utc(vesselEvent.timestamp);\r\n return timestamp >= queryDates.fromDate && timestamp < queryDates.toDate;\r\n });\r\n });\r\n\r\n var getTimelineData = function(queryDates) {\r\n var timelineData = {\r\n data: {},\r\n };\r\n timelineData.data[queryDates.fromDate.valueOf()] = 0;\r\n timelineData.data[queryDates.toDate.valueOf()] = 0;\r\n return timelineData;\r\n };\r\n\r\n self.isLoadingGpsSpeedData = ko.observable(false);\r\n self.gpsSpeedData = ko.observable();\r\n var loadGpsSpeedData = function() {\r\n var queryDates = self.queryDates();\r\n var gpsSpeedLogVariable = self.gpsSpeedLogVariable();\r\n var isLoadingGpsSpeedLogVariable = self.isLoadingGpsSpeedLogVariable();\r\n var isLoadingGpsSpeedData = self.isLoadingGpsSpeedData();\r\n\r\n if (isLoadingGpsSpeedLogVariable || isLoadingGpsSpeedData) return;\r\n\r\n var fromDate = dateHelper.getSubmitDateString(queryDates.fromDate);\r\n var toDate = dateHelper.getSubmitDateString(queryDates.toDate);\r\n\r\n if (gpsSpeedLogVariable) {\r\n self.isLoadingGpsSpeedData(true);\r\n logDataClient.findLogData(gpsSpeedLogVariable.id, fromDate, toDate, \"Hour\", \"UnixEpochMs\")\r\n .done(function(gpsSpeedData) {\r\n if (_.keys(gpsSpeedData.data).length > 0) {\r\n self.gpsSpeedData(gpsSpeedData);\r\n } else {\r\n var timelineData = getTimelineData(queryDates);\r\n self.gpsSpeedData(timelineData);\r\n }\r\n })\r\n .always(function() {\r\n self.isLoadingGpsSpeedData(false);\r\n });\r\n } else {\r\n var timelineData = getTimelineData(queryDates);\r\n self.gpsSpeedData(timelineData);\r\n }\r\n };\r\n\r\n self.vesselSettingsUrl = urlHelper.getVesselSettingsUrl();\r\n self.isGeneralVesselSettingsComplete = ko.pureComputed(function() {\r\n var vessel = self.vessel();\r\n if (!vessel) return false;\r\n\r\n return vessel.vesselTypeId &&\r\n vessel.portOfRegistry &&\r\n vessel.homePort &&\r\n vessel.ownerCompanyName &&\r\n vessel.ownerCompanyAddress &&\r\n vessel.operatorCompanyName &&\r\n vessel.operatorCompanyAddress &&\r\n vessel.emissionsContactPersonName &&\r\n vessel.emissionsContactPersonAddress &&\r\n vessel.emissionsContactPersonPhone &&\r\n vessel.emissionsContactPersonEmail;\r\n });\r\n\r\n self.hasFlowMeterOrFuelTank = ko.pureComputed(function() {\r\n var activeFlowMeters = self.configEmissionReport.activeFlowMeters();\r\n var activeFuelTanks = self.configEmissionReport.activeFuelTanks();\r\n return !(_.isEmpty(activeFlowMeters) && _.isEmpty(activeFuelTanks));\r\n });\r\n\r\n self.hasCargoUnits = ko.pureComputed(function() {\r\n var vessel = self.vessel();\r\n if (!vessel) return false;\r\n\r\n return vessel.cargoUnits.length > 0;\r\n });\r\n\r\n self.isMissingSettings = ko.pureComputed(function() {\r\n var isGeneralVesselSettingsComplete = self.isGeneralVesselSettingsComplete();\r\n var hasFlowMeterOrFuelTank = self.hasFlowMeterOrFuelTank();\r\n var hasCargoUnits = self.hasCargoUnits();\r\n return !isGeneralVesselSettingsComplete || !hasFlowMeterOrFuelTank || !hasCargoUnits;\r\n });\r\n\r\n self.voyageUpdatedBinding = events.voyageUpdated.add(function(updatedVoyage) {\r\n self.voyages.remove(function(voyage) {\r\n return voyage.id === updatedVoyage.id;\r\n });\r\n self.voyages.push(updatedVoyage);\r\n });\r\n\r\n self.vesselEventUpdatedBinding = events.vesselEventUpdated.add(function(updatedVesselEvent) {\r\n var allVesselEvents = self.allVesselEvents();\r\n var oldVesselEvent = _.find(allVesselEvents,\r\n function(vesselEvent) {\r\n return vesselEvent.id === updatedVesselEvent.id;\r\n });\r\n\r\n self.allVesselEvents.replace(oldVesselEvent, updatedVesselEvent);\r\n });\r\n\r\n self.vesselEventCreatedBinding = events.vesselEventCreated.add(function(createdVesselEvent) {\r\n self.allVesselEvents.push(createdVesselEvent);\r\n });\r\n\r\n self.vesselEventDeletedBinding = events.vesselEventDeleted.add(function(deletedVesselEvent) {\r\n self.allVesselEvents.remove(function(voyageVesselEvent) {\r\n return voyageVesselEvent.id === deletedVesselEvent.id;\r\n });\r\n });\r\n\r\n self.isLoadingGpsSpeedLogVariableBinding = self.isLoadingGpsSpeedLogVariable.subscribe(function() {\r\n loadGpsSpeedData();\r\n });\r\n\r\n self.queryDatesBinding = self.queryDates.subscribe(function() {\r\n loadGpsSpeedData();\r\n });\r\n\r\n self.inputQueryFromDateBinding = self.inputQueryFromDate.subscribe(function(newDate) {\r\n var queryDates = self.queryDates();\r\n queryDates.fromDate = dateHelper.getDate(newDate);\r\n self.queryDates(queryDates);\r\n });\r\n\r\n self.inputQueryToDateBinding = self.inputQueryToDate.subscribe(function(newDate) {\r\n var queryDates = self.queryDates();\r\n queryDates.toDate = dateHelper.getDate(newDate);\r\n self.queryDates(queryDates);\r\n });\r\n\r\n self.currentYear = ko.pureComputed(function() {\r\n var queryDates = self.queryDates();\r\n return queryDates.fromDate.year();\r\n });\r\n\r\n self.departureSelectedBinding = events.departureSelected.add(function(departure) {\r\n self.selectedDeparture(departure);\r\n });\r\n\r\n self.showDownloadAnnualEmissionReport = ko.pureComputed(function() {\r\n var vesselEvents = self.allDepartureVesselEvents();\r\n var currentYear = self.currentYear();\r\n var confirmedAnnualDepartureEvents = _.filter(vesselEvents,\r\n function(vesselEvent) {\r\n var timestamp = moment.utc(vesselEvent.timestamp);\r\n return currentYear === timestamp.year() && vesselEvent.voyage && vesselEvent.voyage.dataConfirmedAt;\r\n });\r\n\r\n return confirmedAnnualDepartureEvents.length > 0;\r\n });\r\n}\r\n\r\nViewModel.prototype.uploadVoyageFromTemplate = function () {\r\n var self = this;\r\n self.isUploading(true);\r\n var vesselId = self.configEmissionReport.currentVessel.id;\r\n\r\n var fd = new FormData();\r\n var files = $(\"#voyageUploadFile\")[0].files[0];\r\n fd.append(\"file\", files);\r\n\r\n emissionReportClient.uploadVoyage(vesselId, fd)\r\n .done(function() {\r\n console.log(\"Upload successful\");\r\n })\r\n .always(function() {\r\n self.isUploading(false);\r\n })\r\n .fail(function(response) {\r\n var responseText = response.responseText;\r\n var responseJson = JSON.parse(\"[\" + responseText + \"]\");\r\n self.templateErrors(responseJson);\r\n });\r\n};\r\n\r\nViewModel.prototype.downloadMrvAnnualReport = function () {\r\n var vesselId = this.configEmissionReport.currentVessel.id;\r\n var currentYear = this.currentYear();\r\n return emissionReportClient.mrvYearly(vesselId, currentYear);\r\n};\r\n\r\nViewModel.prototype.downloadImoAnnualReport = function () {\r\n var vesselId = this.configEmissionReport.currentVessel.id;\r\n var currentYear = this.currentYear();\r\n return emissionReportClient.imoYearly(vesselId, currentYear);\r\n};\r\n\r\nViewModel.prototype.toggleSettings = function () {\r\n var isVesselSettingsVisible = this.isVesselSettingsVisible();\r\n\r\n if (isVesselSettingsVisible) {\r\n this.configEmissionReport.load();\r\n }\r\n\r\n this.isVesselSettingsVisible(!isVesselSettingsVisible);\r\n};\r\n\r\nViewModel.prototype.dispose = function() {\r\n this.voyageUpdatedBinding.detach();\r\n this.vesselEventUpdatedBinding.detach();\r\n this.vesselEventCreatedBinding.detach();\r\n this.vesselEventDeletedBinding.detach();\r\n this.departureSelectedBinding.detach();\r\n this.isLoadingGpsSpeedLogVariableBinding.dispose();\r\n this.queryDatesBinding.dispose();\r\n this.inputQueryFromDateBinding.dispose();\r\n this.inputQueryToDateBinding.dispose();\r\n};\r\n\r\nViewModel.prototype.navigatePreviousMonth = function() {\r\n var queryDates = this.queryDates();\r\n queryDates.fromDate = queryDates.fromDate.add(-2, \"months\");\r\n queryDates.toDate = queryDates.toDate.add(-2, \"months\");\r\n this.queryDates(queryDates);\r\n this.inputQueryFromDate(dateHelper.getFormatedDateString(queryDates.fromDate));\r\n this.inputQueryToDate(dateHelper.getFormatedDateString(queryDates.toDate));\r\n};\r\n\r\nViewModel.prototype.navigateNextMonth = function() {\r\n var queryDates = this.queryDates();\r\n queryDates.fromDate = queryDates.fromDate.add(2, \"months\");\r\n queryDates.toDate = queryDates.toDate.add(2, \"months\");\r\n this.queryDates(queryDates);\r\n this.inputQueryFromDate(dateHelper.getFormatedDateString(queryDates.fromDate));\r\n this.inputQueryToDate(dateHelper.getFormatedDateString(queryDates.toDate));\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselEventId) {\r\n var filter = {\r\n vesselEventId: vesselEventId,\r\n };\r\n\r\n return net.get(\"/VesselEventCargoDetails/Find\", filter);\r\n};\r\n\r\nClient.prototype.create = function(vesselEventCargoDetail) {\r\n return net.post(\"/VesselEventCargoDetails\", vesselEventCargoDetail);\r\n};\r\n\r\nClient.prototype.remove = function(vesselEventCargoDetail) {\r\n return net.del(\"/VesselEventCargoDetails/\" + vesselEventCargoDetail.vesselEventId + \"/\" + vesselEventCargoDetail.cargoUnitId).done(function() {\r\n events.vesselEventCargoDetailDeleted.dispatch(vesselEventCargoDetail);\r\n });\r\n};\r\n\r\nexport default new Client();","// Module\nvar code = \"
    \\r\\n

    Data interval:

    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n Day \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Hour \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Quarter \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Minute \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Raw \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar NotificationWidgetClient = function () {};\r\n\r\nNotificationWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/NotificationWidgets\");\r\n};\r\n\r\nNotificationWidgetClient.prototype.get = function (notificationWidgetConfigId) {\r\n return net.get(`/NotificationWidgets/${notificationWidgetConfigId}`);\r\n};\r\n\r\nNotificationWidgetClient.prototype.new = function (notificationWidgetConfiguration) {\r\n return net.post(\"/NotificationWidgets\", notificationWidgetConfiguration);\r\n};\r\n\r\nNotificationWidgetClient.prototype.update = function (notificationWidgetConfiguration) {\r\n return net.put(`/NotificationWidgets/${notificationWidgetConfiguration.id}`, notificationWidgetConfiguration);\r\n};\r\n\r\nNotificationWidgetClient.prototype.delete = function (notificationWidgetConfigId) {\r\n return net.del(`/NotificationWidgets/${notificationWidgetConfigId}`);\r\n};\r\n\r\nexport default new NotificationWidgetClient();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport notificationWidgetClient from \"Clients/notification-widget-client\";\r\nimport { NotificationWidgetConfig } from \"@/types/widgetNotification\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"NotificationWidgetConfiguration\" })\r\nclass NotificationWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: NotificationWidgetConfig[] = [];\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n try {\r\n const config = await notificationWidgetClient.new({ vessels: [] });\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", config);\r\n return config;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateConfig(config: NotificationWidgetConfig | undefined): Promise {\r\n if (!config) return;\r\n try {\r\n const updatedConfig = await notificationWidgetClient.update(config);\r\n this.context.commit(\"SET_WIDGET_CONFIG\", updatedConfig);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidgetConfig(id: number): Promise {\r\n try {\r\n await notificationWidgetClient.delete(id);\r\n this.context.commit(\"DELETE_WIDGET_CONFIG\", id);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getConfigById(id: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshConfigs\");\r\n }\r\n\r\n const config = this._configs.find(config => config.id === id);\r\n\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\"Vessels/get\", config.vessels[i].id, { root: true });\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n }\r\n else throw ({ message: \"Could not find config\" });\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshConfigs(): Promise {\r\n try {\r\n const configs: NotificationWidgetConfig[] = await notificationWidgetClient.getAll();\r\n this.context.commit(\"SET_WIDGET_CONFIGS\", configs);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh widget config\", error });\r\n }\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: NotificationWidgetConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIG(config: NotificationWidgetConfig): void {\r\n const index = this._configs.findIndex(savedConfig => savedConfig.id === config.id);\r\n\r\n if (index >= 0) {\r\n this._configs[index] = config;\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET_CONFIG(id: number): void {\r\n const index = this._configs.findIndex(config => config.id === id);\r\n\r\n if (index >= 0) {\r\n this._configs.splice(index, 1);\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIGS(configs: NotificationWidgetConfig[]): void {\r\n this._configs = configs;\r\n this._configsExpired = false;\r\n }\r\n}\r\n\r\nexport default NotificationWidget;\r\n","import net from \"App/net\";\r\n\r\nvar EmissionReportClient = function() {\r\n\r\n};\r\n\r\nEmissionReportClient.prototype.generateExcelTemplate = function(data) {\r\n return net.fileDownload(\"/EmissionReport/GenerateExcelTemplate\", \"POST\", data);\r\n};\r\n\r\nEmissionReportClient.prototype.uploadVoyage = function(vesselId, file) {\r\n var url = \"/EmissionReport/Upload/\" + vesselId;\r\n return net.fileUpload(url, file);\r\n};\r\n\r\nEmissionReportClient.prototype.mrvVoyage = function(departureId) {\r\n var url = \"/EmissionReport/MrvVoyage/\" + departureId;\r\n return net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.imoVoyage = function(departureId) {\r\n var url = \"/EmissionReport/ImoVoyage/\" + departureId;\r\n net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.mrvYearly = function(vesselId, year) {\r\n var url = \"/EmissionReport/MrvYearly/\" + vesselId + \"/\" + year;\r\n net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.imoYearly = function(vesselId, year) {\r\n var url = \"/EmissionReport/ImoYearly/\" + vesselId + \"/\" + year;\r\n net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.voyageDnvGl = function(departureId) {\r\n var url = \"/EmissionReport/VoyageDnvGl/\" + departureId;\r\n return net.fileDownload(url, \"GET\");\r\n};\r\n\r\nexport default new EmissionReportClient();","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateTimeRangePicker.vue?vue&type=style&index=0&id=344ed703&scoped=true&lang=scss&\"","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar LoggingHistoryConfigurationsClient = function() {\r\n \r\n};\r\n\r\nLoggingHistoryConfigurationsClient.prototype.getByVesselId = function(vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n var deferred = $.Deferred();\r\n net.get(\"/LoggingHistoryConfigurations/Find\", filter).done(function (response) {\r\n deferred.resolve(response[0]);\r\n }).fail(function () {\r\n deferred.reject(arguments);\r\n });\r\n return deferred.promise();\r\n};\r\n\r\nLoggingHistoryConfigurationsClient.prototype.update = function(configuration) {\r\n return net.put(\"/LoggingHistoryConfigurations\", configuration);\r\n};\r\n\r\nexport default new LoggingHistoryConfigurationsClient();","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","// Module\nvar code = \"
    \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import template from \"./curves-frame.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport vesselsClient from \"Clients/vessels-client\";\r\nimport Router from \"@/router\";\r\nimport store from \"@/store\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport AuthModule from \"@/store/clients/Auth.module\";\r\nimport UserModule from \"@/store/clients/User.module\";\r\nimport VesselsModule from \"@/store/clients/Vessels.module\";\r\n\r\nconst Auth = getModule(AuthModule, store);\r\nconst User = getModule(UserModule, store);\r\nconst Vessels = getModule(VesselsModule, store);\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n self.vessels = ko.observableArray([]);\r\n self.showCurves = ko.observable(false);\r\n self.loading = ko.observable(false);\r\n self.showAbout = ko.observable(false);\r\n self.showHelp = ko.observable(false);\r\n self.showProfile = ko.observable(false);\r\n self.showExpiredKeyWarning = ko.observable(false);\r\n\r\n vesselsClient.getVessels().done(function(data) {\r\n self.vessels(data);\r\n }).fail(function(response) {\r\n if (response.status === 503) {\r\n self.showExpiredKeyWarning(true);\r\n }\r\n });\r\n\r\n self.sortedVessels = ko.pureComputed(function() {\r\n var vessels = self.vessels();\r\n var sorted = _.sortBy(vessels, function(vessel) {\r\n return vessel.name.toLowerCase();\r\n });\r\n return sorted;\r\n });\r\n\r\n self.userName = ko.pureComputed(function () {\r\n if (!User.getUser()) return \"Username missing\";\r\n return User.userName || \"Username missing\";\r\n });\r\n\r\n self.userEmail = ko.pureComputed(function () {\r\n if (!User.getUser()) return \"Email missing\";\r\n return User.userEmail || \"Email missing\";\r\n });\r\n\r\n self.navigateHome = function() {\r\n self.showCurves(false);\r\n window.history.back();\r\n };\r\n\r\n window.onpopstate = function () {\r\n self.showCurves(false);\r\n };\r\n\r\n self.selectVessel = function(data) {\r\n Vessels.updateCurrentVessel(data);\r\n self.showCurves(true);\r\n window.history.pushState(null, \"\", window.location.href);\r\n };\r\n\r\n self.toggleAbout = function() {\r\n self.showAbout(!self.showAbout());\r\n };\r\n\r\n self.toggleHelp = function() {\r\n self.showHelp(!self.showHelp());\r\n };\r\n self.toggleProfile = function() {\r\n self.showProfile(!self.showProfile());\r\n };\r\n\r\n self.logOut = function() {\r\n Auth.signOut().then(() => {\r\n Router.push(\"/login\");\r\n });\r\n };\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import template from \"./vessel-notes.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport vesselsAdminClient from \"Clients/vessels-administrations-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n\r\n self.vesselId = params.vesselId;\r\n self.vessel = undefined;\r\n self.notes = ko.observable();\r\n self.error = ko.observable(null);\r\n self.isLoading = ko.observable(false);\r\n self.isSaving = ko.observable(false);\r\n self.loadVesselNotes();\r\n}\r\n\r\nViewModel.prototype.loadVesselNotes = function() {\r\n var self = this;\r\n self.clearError();\r\n\r\n self.isLoading(true);\r\n vesselsAdminClient.get(self.vesselId).done(function(data) {\r\n self.initialize(data);\r\n }).fail(function (data) {\r\n self.setError(\"Failed to load data..\", data);\r\n self.initialize(undefined);\r\n }).always(function() {\r\n self.isLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.saveVesselNotes = function () {\r\n var self = this;\r\n self.clearError();\r\n if (self.notes() !== undefined) {\r\n var vessel = _.clone(self.vessel);\r\n vessel.notes = self.notes();\r\n self.isSaving(true);\r\n vesselsAdminClient.update(vessel).done(function (data) {\r\n self.initialize(data);\r\n }).fail(function (data) {\r\n self.setError(\"Failed to save data..\", data);\r\n }).always(function() {\r\n self.isSaving(false);\r\n });\r\n }\r\n};\r\n\r\nViewModel.prototype.initialize = function (vessel) {\r\n var self = this;\r\n self.vessel = vessel;\r\n if (self.vessel) {\r\n self.notes(self.vessel.notes);\r\n } else {\r\n self.notes(undefined);\r\n }\r\n};\r\n\r\nViewModel.prototype.clearError = function() {\r\n var self = this;\r\n self.error(null);\r\n};\r\n\r\nViewModel.prototype.setError = function (errorText, error) {\r\n var self = this;\r\n self.error(errorText);\r\n console.error(errorText);\r\n console.error(error);\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n Latitude:\\r\\n
    \\r\\n
    \\r\\n \\r\\n °\\r\\n \\r\\n '\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Longitude:\\r\\n
    \\r\\n
    \\r\\n \\r\\n °\\r\\n \\r\\n '\\r\\n \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n Edit\\r\\n Delete\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar FoulingOverviewWidgetClient = function () { };\r\n\r\nFoulingOverviewWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/FoulingOverviewWidget\");\r\n};\r\n\r\nFoulingOverviewWidgetClient.prototype.get = function (foulingOverViewWidgetConfigId) {\r\n return net.get(`/FoulingOverviewWidget/${foulingOverViewWidgetConfigId}`);\r\n};\r\n\r\nFoulingOverviewWidgetClient.prototype.new = function (foulingOverViewWidgetConfigId) {\r\n return net.post(\"/FoulingOverviewWidget\", foulingOverViewWidgetConfigId);\r\n};\r\n\r\nFoulingOverviewWidgetClient.prototype.update = function (foulingOverViewWidgetConfigId) {\r\n return net.put(\"/FoulingOverviewWidget\", foulingOverViewWidgetConfigId);\r\n};\r\n\r\nFoulingOverviewWidgetClient.prototype.delete = function (foulingOverViewWidgetConfigId) {\r\n return net.del(`/FoulingOverviewWidget/${foulingOverViewWidgetConfigId}`);\r\n};\r\n\r\nexport default new FoulingOverviewWidgetClient();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport foulingOverviewWidgetClient from \"Clients/fouling-overview-widget-client\";\r\nimport FoulingClient from \"Clients/fouling-client\";\r\nimport { FoulingOverviewWidgetConfig } from \"@/types/widgetFoulingOverview\";\r\nimport { HullCoating } from \"@/types/HullCoating\";\r\nimport { SpeedLossStatistic } from \"@/types/SpeedLossStatistic\";\r\nimport { FoulingAddedConsumption } from \"@/types/FoulingAddedConsumption\";\r\nimport { FoulingChartConfig } from \"@/types/FoulingChartConfig\";\r\n\r\n@Module({ namespaced: true, name: \"FoulingOverviewWidgetConfiguration\" })\r\nclass FoulingOverviewWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: FoulingOverviewWidgetConfig[] = [];\r\n private _hullCoatingVessels: Record = [];\r\n private _latestSpeedLossStatisticsForVessels: Record = {};\r\n private _addedFuelConsumptionForVessels: Record = {};\r\n private _foulingConfigs: Record = [];\r\n\r\n public get hullCoatingVessels(): Record {\r\n return this._hullCoatingVessels;\r\n }\r\n\r\n public get latestSpeedLossStatisticsForVessels(): Record {\r\n return this._latestSpeedLossStatisticsForVessels;\r\n }\r\n\r\n public get addedFuelConsumptionForVessels(): Record {\r\n return this._addedFuelConsumptionForVessels;\r\n }\r\n\r\n public get foulingConfigs(): Record {\r\n return this._foulingConfigs;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n try {\r\n const config = await foulingOverviewWidgetClient.new({ vessels: [] });\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", config);\r\n return config;\r\n } catch (error) {\r\n throw { message: \"Failed to add widget config\", error };\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateConfig(\r\n config: FoulingOverviewWidgetConfig | undefined\r\n ): Promise {\r\n if (!config) return;\r\n try {\r\n const updatedConfig = await foulingOverviewWidgetClient.update(config);\r\n this.context.commit(\"SET_WIDGET_CONFIG\", updatedConfig);\r\n } catch (error) {\r\n throw { message: \"Failed to update widget config\", error };\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidgetConfig(id: number): Promise {\r\n try {\r\n await foulingOverviewWidgetClient.delete(id);\r\n this.context.commit(\"DELETE_WIDGET_CONFIG\", id);\r\n } catch (error) {\r\n throw { message: \"Failed to delete widget config\", error };\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getConfigById(id: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshConfigs\");\r\n }\r\n\r\n const config = this._configs.find((config) => config.id === id);\r\n\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\r\n \"Vessels/get\",\r\n config.vessels[i].id,\r\n { root: true }\r\n );\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n } else throw { message: \"Could not find config\" };\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshConfigs(): Promise {\r\n try {\r\n const configs: FoulingOverviewWidgetConfig[] =\r\n await foulingOverviewWidgetClient.getAll();\r\n this.context.commit(\"SET_WIDGET_CONFIGS\", configs);\r\n } catch (error) {\r\n throw { message: \"Failed to refresh widget config\", error };\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchHullCoatingForVessels(vesselIds: number[]): Promise> {\r\n try {\r\n const result: HullCoating[] = await FoulingClient.hullCoatingVessels(vesselIds);\r\n const data: Record = vesselIds.map((vesselId) => (\r\n {\r\n [vesselId]: result.filter((item) => item.vesselId === vesselId)[0]\r\n })).reduce((acc, val) => ({ ...acc, ...val }), {});\r\n this.context.commit(\"SET_HULL_COATING_FOR_VESSELS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Hull Coatings\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchLatestSpeedLossStatisticsForVessels(vesselIds: number[]): Promise> {\r\n try {\r\n const data: Record = await FoulingClient.getLatestSpeedLossStatistics(vesselIds);\r\n this.context.commit(\"SET_LATEST_SPEED_LOSS_STATISTICS_FOR_VESSELS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Latest Speed Loss Statistics\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchAddedFuelConsumptionForVessels(vesselIds: number[]): Promise> {\r\n try {\r\n const data: Record = await FoulingClient.getAddedFuelConsumptions(vesselIds);\r\n this.context.commit(\"SET_ADDED_FUEL_CONSUMPTION_FOR_VESSELS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Added Fuel Consumption\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchFoulingConfigs(vesselIds: number[]): Promise> {\r\n try {\r\n const data: Record = await FoulingClient.foulingChartConfigs(vesselIds);\r\n this.context.commit(\"SET_FOULING_CONFIGS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Fouling configurations\", error });\r\n }\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: FoulingOverviewWidgetConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIG(config: FoulingOverviewWidgetConfig): void {\r\n const index = this._configs.findIndex(\r\n (savedConfig) => savedConfig.id === config.id\r\n );\r\n\r\n if (index >= 0) {\r\n this._configs[index] = config;\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET_CONFIG(id: number): void {\r\n const index = this._configs.findIndex((config) => config.id === id);\r\n\r\n if (index >= 0) {\r\n this._configs.splice(index, 1);\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIGS(configs: FoulingOverviewWidgetConfig[]): void {\r\n this._configs = configs;\r\n this._configsExpired = false;\r\n }\r\n\r\n @Mutation\r\n public SET_HULL_COATING_FOR_VESSELS(data: Record): void {\r\n this._hullCoatingVessels = { ...this._hullCoatingVessels, ...data };\r\n }\r\n\r\n @Mutation\r\n public SET_LATEST_SPEED_LOSS_STATISTICS_FOR_VESSELS(data: Record): void {\r\n this._latestSpeedLossStatisticsForVessels = { ...this._latestSpeedLossStatisticsForVessels, ...data };\r\n }\r\n\r\n @Mutation\r\n public SET_ADDED_FUEL_CONSUMPTION_FOR_VESSELS(data: Record): void {\r\n Object.keys(data).forEach(key => {\r\n const numberKey = Number(key);\r\n this._addedFuelConsumptionForVessels[numberKey] = data[numberKey];\r\n });\r\n }\r\n\r\n @Mutation\r\n public SET_FOULING_CONFIGS(data: Record): void {\r\n this._foulingConfigs = { ...this._foulingConfigs, ...data };\r\n }\r\n}\r\n\r\nexport default FoulingOverviewWidget;\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    NameShort nameCarbon emission factor
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n

    Add fuel type

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUFJREFUeNpiZMABDmjIGQApByDWB2IFIP4AxBeB+ILDjUcbcOljxGIQyJB6qGG4wAMgngg0eAJeA4GGNUANIxYcAOJAoMEfMAwEGtYPpAoYSAcXgNgRZigT1LAAXIaJ+wf/1V+w4g8Q/8ZhICis58M4TFC6H5f1HDKyzALmlixAzIrHlQHQsGdgAjISoLFIKciHudCfgTogAGagAZUMBCc5Jip5lwE9UqgGWKCpHqcrfz57yvDh1AmiDWQE+ns9LEApBcDEzQjy8kZ8iiQCQxn0F64EYwIAXGAwAU1dAPU2VsAuJc0gYGYBxgTARFgYgkAiEO/Hpurtvt3v/n7+/P3/v7+/8YT1AqDDDqAXDqSWNFgLB/TiKwE5oxMBQOGWiLX4Qiup+4koYBuh4Y+/xEYyWAFqKHq4bQAadAGXPoAAAwAKmmVHfwthPgAAAABJRU5ErkJggg==\"","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function() {\r\n return net.get(\"/VesselTypes\");\r\n};\r\n\r\nexport default new Client();","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/loading.gif\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar CiiWidgetClient = function () {\r\n\r\n};\r\n\r\nCiiWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/CiiWidgetConfigs\");\r\n};\r\n\r\nCiiWidgetClient.prototype.new = function (ciiWidgetConfiguration) {\r\n return net.post(\"/CiiWidgetConfigs\", ciiWidgetConfiguration);\r\n};\r\n\r\nCiiWidgetClient.prototype.update = function (ciiWidgetConfiguration) {\r\n return net.put(`/CiiWidgetConfigs`, ciiWidgetConfiguration);\r\n};\r\n\r\nCiiWidgetClient.prototype.delete = function (ciiWidgetConfigId) {\r\n return net.del(`/CiiWidgetConfigs/${ciiWidgetConfigId}`);\r\n};\r\n\r\nexport default new CiiWidgetClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport ciiWidgetClient from \"Clients/cii-widget-client\";\r\nimport { CiiWidgetConfig } from \"@/types/ciiWidgetConfig\";\r\n\r\n@Module({ namespaced: true, name: \"CiiWidgetConfiguration\" })\r\nclass CiiWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: CiiWidgetConfig[] = [];\r\n\r\n @Mutation\r\n public SET_EMISSIONS_WIDGET_CONFIGS(ciiWidgetConfigs: CiiWidgetConfig[]): void {\r\n this._configsExpired = false;\r\n this._configs = ciiWidgetConfigs;\r\n }\r\n\r\n @Mutation\r\n public SET_CONFIGS_EXPIRED(value: boolean): void {\r\n this._configsExpired = value;\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: CiiWidgetConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshCiiWidgetConfigs(): Promise {\r\n let ciiWidgetConfigs = [];\r\n try {\r\n ciiWidgetConfigs = await ciiWidgetClient.getAll();\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh widget configs\", error });\r\n }\r\n this.context.commit(\"SET_EMISSIONS_WIDGET_CONFIGS\", ciiWidgetConfigs);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getCiiWidgetConfigs(): Promise {\r\n if (!this._configsExpired) {\r\n return this._configs;\r\n } else {\r\n await this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n return this._configs;\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getCiiWidgetConfigById(ciiWidgetId: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n }\r\n const config = this._configs.find(config => config.id === ciiWidgetId);\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\"Vessels/get\", config.vessels[i].id, { root: true });\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n else throw ({ message: \"Failed to find widget config\" });\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n try {\r\n const config = await ciiWidgetClient.new({ vessels: [], ytd: true, showTable: true });\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", config);\r\n return config;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async newCiiWidgetConfig(ciiWidgetConfig: CiiWidgetConfig): Promise {\r\n try {\r\n const response = await ciiWidgetClient.new(ciiWidgetConfig);\r\n await this.context.dispatch(\"expireConfig\");\r\n this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n return response;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add new widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateCiiWidgetConfig(ciiWidgetConfig: CiiWidgetConfig): Promise {\r\n try {\r\n await ciiWidgetClient.update(ciiWidgetConfig);\r\n await this.context.dispatch(\"expireConfig\");\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget config\", error });\r\n }\r\n this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteCiiWidgetConfig(ciiWidgetConfigId: number): Promise {\r\n try {\r\n await ciiWidgetClient.delete(ciiWidgetConfigId);\r\n await this.context.dispatch(\"expireConfig\");\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget config\", error });\r\n }\r\n this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n }\r\n\r\n @Action({ rawError: true })\r\n public expireConfig(): void {\r\n this.context.commit(\"SET_CONFIGS_EXPIRED\", true);\r\n }\r\n\r\n get configs(): CiiWidgetConfig[] {\r\n return this._configs;\r\n }\r\n}\r\n\r\nexport default CiiWidget;\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport curvesClient from \"Clients/curves-client\";\r\nimport store from \"@/store\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport VesselsModule from \"@/store/clients/Vessels.module\";\r\n\r\nconst Vessels = getModule(VesselsModule, store);\r\n\r\nvar ViewModel = function(curve) {\r\n var self = this;\r\n self.curve = ko.observable(curve);\r\n self.name = ko.pureComputed(function() {\r\n var curve = self.curve();\r\n if (!curve) return \"\";\r\n return curve.name;\r\n });\r\n};\r\n\r\nViewModel.prototype.save = function(newCurve) {\r\n var self = this;\r\n var originalCurve = _.clone(self.curve()) || {};\r\n var curve = _.extend(originalCurve, newCurve);\r\n\r\n var promise;\r\n if (curve.id) {\r\n promise = curvesClient.update(curve);\r\n } else {\r\n curve.vesselId = Vessels.currentVessel.id;\r\n promise = curvesClient.create(curve);\r\n }\r\n promise.done(function(data) {\r\n self.curve(data);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.remove = function() {\r\n return curvesClient.remove(this.curve());\r\n};\r\n\r\nexport default ViewModel;","// Module\nvar code = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// override Leaflet implementation for fast symbol rendering\r\n(function () {\r\n\t'use strict';\r\n\r\n\tvar proto = L.Canvas.prototype;\r\n\tvar prev = proto._updateCircle;\r\n\r\n\tproto._updateCircle = function (layer) {\r\n\t\t// only circleMARKER, not the standard circle\r\n\t\tif (layer instanceof L.Circle)\r\n\t\t\treturn prev.call(this, layer);\r\n\r\n\t\tif (!this._drawing || layer._empty()) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar p = layer._point,\r\n\t\t ctx = this._ctx,\r\n\t\t r = Math.max(Math.round(layer._radius), 1),\r\n\t\t s = (Math.max(Math.round(layer._radiusY), 1) || r) / r;\r\n\t\t\r\n\t\tvar options = layer.options;\r\n\r\n\t\tvar scale = Math.pow(2, this._map.getZoom()) * 256 / Math.PI / 6378137;\r\n\t\tscale = Math.pow(scale, options.boostExp) * options.boostScale;\r\n\t\tr = r * scale;\r\n\r\n\t\tif(!options.boostType) {\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(p.x, p.y, r, 0, Math.PI * 2, false);\r\n\t\t\tthis._fillStroke(ctx, layer);\r\n\t\t}\r\n\t\telse switch (options.boostType) {\r\n\t\t\tcase 'ball':\r\n\t\t\t\tif (options.fill) {\r\n\t\t\t\t\tif(options.stroke && options.weight !== 0)\r\n\t\t\t\t\t\tr = r + options.weight * 0.5 * scale;\r\n\t\t\t\t\tvar grd = ctx.createRadialGradient(p.x - r/2, p.y - r/2, 0, p.x, p.y, 1.5 * r);\r\n\t\t\t\t\tgrd.addColorStop(0, options.fillColor);\r\n\t\t\t\t\tgrd.addColorStop(1, options.color);\r\n\t\t\t\t\tctx.beginPath();\r\n\t\t\t\t\tctx.fillStyle = grd;\r\n\t\t\t\t\tctx.arc(p.x, p.y, r, 0, Math.PI * 2, false);\r\n\t\t\t\t\tctx.fill(options.fillRule || 'evenodd');\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'balloon':\r\n\t\t\t\tif (options.fill) {\r\n\t\t\t\t\tif(options.stroke && options.weight !== 0)\r\n\t\t\t\t\t\tr = r + options.weight * 0.5 * scale;\r\n\t\t\t\t\tvar grd = ctx.createRadialGradient(p.x - r/2, p.y - r/2 - 2*r, 0, p.x, p.y - 2*r, 2.5 * r);\r\n\t\t\t\t\tgrd.addColorStop(0, options.fillColor);\r\n\t\t\t\t\tgrd.addColorStop(1, options.color);\r\n\t\t\t\t\tctx.beginPath();\r\n\t\t\t\t\tctx.fillStyle = grd;\r\n\t\t\t\t\tctx.moveTo(p.x, p.y);\r\n\t\t\t\t\tctx.lineTo(p.x - r, p.y-2*r);\r\n\t\t\t\t\tctx.lineTo(p.x + r, p.y-2*r);\r\n\t\t\t\t\tctx.lineTo(p.x, p.y);\r\n\t\t\t\t\tctx.arc(p.x, p.y - 2*r, r, 0, Math.PI * 2, false);\r\n\t\t\t\t\tctx.closePath();\r\n\t\t\t\t\tctx.fill(options.fillRule = 'nonzero');\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tif (options.stroke && options.weight !== 0) {\r\n\t\t\t\t\tctx.beginPath();\r\n\t\t\t\t\tctx.arc(p.x, p.y, r + options.weight * 0.5 * scale, 0, Math.PI * 2, false);\r\n\t\t\t\t\tctx.fillStyle = options.color;\r\n\t\t\t\t\tctx.fill(options.fillRule || 'evenodd');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (options.fill) {\r\n\t\t\t\t\tctx.beginPath();\r\n\t\t\t\t\tctx.arc(p.x, p.y, r - ((options.stroke && options.weight !== 0) ? options.weight * 0.5 * scale : 0), 0, Math.PI * 2, false);\r\n\t\t\t\t\tctx.fillStyle = options.fillColor || options.color;\r\n\t\t\t\t\tctx.fill(options.fillRule || 'evenodd');\r\n\t\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar xproto = L.CircleMarker.prototype;\r\n\tvar xprev = xproto._containsPoint;\r\n\r\n\txproto._containsPoint = function (p) {\r\n\t\tif (this instanceof L.Circle)\r\n\t\t\treturn xprev.call(this, p);\r\n\r\n\t\tvar r = this._radius;\r\n\t\t\r\n\t\tvar options = this.options;\r\n\t\t\r\n\t\tvar scale = Math.pow(2, this._map.getZoom()) * 256 / Math.PI / 6378137;\r\n\t\tscale = Math.pow(scale, options.boostExp) * options.boostScale;\r\n\t\tr = r * scale;\r\n\t\tr = r + (this.options.stroke ? this.options.weight * scale / 2 : 0);\r\n\r\n\t\tif(options.boostType === 'balloon')\r\n\t\t\tp = new L.Point(p.x, p.y + 2 * r);\r\n\r\n\t\treturn p.distanceTo(this._point) <= r + this._clickTolerance();\t\t\r\n\t\t// clickTolerance only for mobile! (seems to be fixed with LL1.4)\r\n\t\t// return p.distanceTo(this._point) <= r + ((L.Browser.touch && L.Browser.mobile) ? 10 : 0);\r\n\t};\r\n\r\n\tvar cproto = L.Layer.prototype;\r\n\tvar cprev = cproto._openPopup;\r\n\tcproto._openPopup = function (e) {\r\n\t\tvar layer = e.layer || e.target;\r\n\r\n\t\tif (!(layer instanceof L.CircleMarker) || (layer instanceof L.Circle))\r\n\t\t\treturn cprev.call(this, e);\r\n\r\n\t\tif (!this._popup || !this._map) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// prevent map click\r\n\t\tL.DomEvent.stop(e);\r\n\r\n\t\tconst target = e.layer || e.target;\r\n\t\tif (this._popup._source === target) {\r\n\t\t\t// treat it like a marker and figure out\r\n\t\t\t// if we should toggle it open/closed\r\n\t\t\tif (this._map.hasLayer(this._popup)) {\r\n\t\t\t\tthis.closePopup();\r\n\t\t\t} else {\r\n\t\t\t\tthis.openPopup(e.latlng);\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._popup._source = target;\r\n\t\tthis.openPopup(e.latlng);\r\n\t};\r\n\r\n\tvar pproto = L.Popup.prototype;\r\n\tvar p_getAnchor = pproto._getAnchor;\r\n\tpproto._getAnchor = function () {\r\n\t\tif (!(this._source instanceof L.CircleMarker) || this._source instanceof L.Circle) \r\n\t\t\treturn p_getAnchor.call(this);\r\n\r\n\t\tvar r = this._source._radius;\r\n\r\n\t\tvar options = this._source.options;\r\n\r\n\t\tvar zoomScale;\r\n\t\tvar scale = Math.pow(2, this._map.getZoom()) * 256 / Math.PI / 6378137;\r\n\t\tscale = Math.pow(scale, options.boostExp) * options.boostScale;\r\n\r\n\t\tif(options.boostType === 'balloon')\r\n\t\t\tr = 2.5 * r * scale;\r\n\t\telse\r\n\t\t\tr = 0.5 * r * scale;\r\n\r\n\t\t// Where should we anchor the popup on the source layer?\r\n\t\treturn L.point(this._source && this._source._getPopupAnchor ? this._source._getPopupAnchor() : [0, -r]);\r\n\t};\r\n})();","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n Company\\r\\n \\r\\n \\r\\n \\r\\n Created\\r\\n \\r\\n \\r\\n \\r\\n Vessels\\r\\n \\r\\n \\r\\n \\r\\n Subscription status\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n LOADING...\\r\\n \\r\\n \\r\\n No companies exists\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n View\\r\\n Edit\\r\\n View as company \\r\\n \\r\\n Delete\\r\\n \\r\\n
    \\r\\nAdd new company\";\n// Exports\nmodule.exports = code;","import ko from \"knockout\";\r\nimport vesselsAdministrationsClient from \"Clients/vessels-administrations-client\";\r\nimport logVariablesClient from \"Clients/log-variables-client\";\r\nimport cargoUnitsClient from \"Clients/cargo-units-client\";\r\nimport fuelTypesClient from \"Clients/fuel-types-client\";\r\nimport fuelTanksClient from \"Clients/fuel-tanks-client\";\r\nimport flowMetersClient from \"Clients/flow-meters-client\";\r\nimport _ from \"underscore\";\r\n\r\nimport Store from \"@/store\";\r\n\r\nfunction toIdMap(arrayOfObjectsWithId) {\r\n var map = {};\r\n _.each(arrayOfObjectsWithId,\r\n function(item) {\r\n map[item.id] = item;\r\n });\r\n return map;\r\n}\r\n\r\nvar ConfigEmissionReport = function() {\r\n var self = this;\r\n self.baseUrl = process.env.VUE_APP_BASE_URL;\r\n self.apiBaseUrl = process.env.VUE_APP_API_BASE_URL;\r\n self.currentVessel = Store.getters[\"Vessels/currentVessel\"];\r\n\r\n self.voyageTypes = [\"Laden\", \"Ballast\"];\r\n self.vessel = ko.observable();\r\n self.gpsSpeedLogVariable = ko.observable();\r\n self.flowMetersMap = ko.observable();\r\n self.fuelTanksMap = ko.observable();\r\n self.fuelTypesMap = ko.observable();\r\n self.cargoUnitsMap = ko.observable();\r\n\r\n self.isLoadingVessel = ko.observable(true);\r\n self.isLoadingGpsSpeedLogVariable = ko.observable(true);\r\n self.isLoadingCargoUnits = ko.observable(true);\r\n self.isLoadingFlowMeters = ko.observable(true);\r\n self.isLoadingFuelTanks = ko.observable(true);\r\n self.isLoadingFuelTypes = ko.observable(true);\r\n\r\n self.activeFlowMeters = ko.pureComputed(function() {\r\n var flowMetersMap = self.flowMetersMap();\r\n return _.filter(flowMetersMap, function(flowMeter) {\r\n return !flowMeter.isDeactivated;\r\n });\r\n });\r\n\r\n self.activeFuelTanks = ko.pureComputed(function() {\r\n var fuelTanksMap = self.fuelTanksMap();\r\n return _.filter(fuelTanksMap, function(fuelTank) {\r\n return !fuelTank.isDeactivated;\r\n });\r\n });\r\n\r\n self.activeFuelTypes = ko.pureComputed(function() {\r\n var fuelTypesMap = self.fuelTypesMap();\r\n return _.filter(fuelTypesMap, function(fuelType) {\r\n return !fuelType.isDeactivated;\r\n });\r\n });\r\n\r\n self.isLoading = ko.pureComputed(function() {\r\n var isLoadingVessel = self.isLoadingVessel();\r\n var isLoadingGpsSpeedLogVariable = self.isLoadingGpsSpeedLogVariable();\r\n var isLoadingCargoUnits = self.isLoadingCargoUnits();\r\n var isLoadingFlowMeters = self.isLoadingFlowMeters();\r\n var isLoadingFuelTanks = self.isLoadingFuelTanks();\r\n var isLoadingFuelTypes = self.isLoadingFuelTypes();\r\n\r\n return isLoadingVessel ||\r\n isLoadingGpsSpeedLogVariable ||\r\n isLoadingCargoUnits ||\r\n isLoadingFlowMeters ||\r\n isLoadingFuelTanks ||\r\n isLoadingFuelTypes;\r\n });\r\n\r\n self.load();\r\n};\r\n\r\nConfigEmissionReport.prototype.load = function() {\r\n this.loadVessel();\r\n this.loadGpsSpeedLogVariable();\r\n this.loadFlowMeters();\r\n this.loadFuelTanks();\r\n this.loadCargoUnits();\r\n this.loadFuelTypes();\r\n};\r\n\r\nConfigEmissionReport.prototype.loadVessel = function() {\r\n var self = this;\r\n self.isLoadingVessel(true);\r\n\r\n vesselsAdministrationsClient.get(self.currentVessel.id)\r\n .done(self.vessel)\r\n .always(function() {\r\n self.isLoadingVessel(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadGpsSpeedLogVariable = function () {\r\n var self = this;\r\n self.isLoadingGpsSpeedLogVariable(true);\r\n logVariablesClient.findGpsSpeedVariable(self.currentVessel.id)\r\n .done(self.gpsSpeedLogVariable)\r\n .always(function () {\r\n self.isLoadingGpsSpeedLogVariable(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadFlowMeters = function() {\r\n var self = this;\r\n self.isLoadingFlowMeters(true);\r\n flowMetersClient.find(self.currentVessel.id)\r\n .done(function(data) {\r\n self.flowMetersMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingFlowMeters(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadFuelTanks = function() {\r\n var self = this;\r\n self.isLoadingFuelTanks(true);\r\n fuelTanksClient.find(self.currentVessel.id)\r\n .done(function(data) {\r\n self.fuelTanksMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingFuelTanks(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadCargoUnits = function() {\r\n var self = this;\r\n self.isLoadingCargoUnits(true);\r\n cargoUnitsClient.getAll()\r\n .done(function(data) {\r\n self.cargoUnitsMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingCargoUnits(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadFuelTypes = function() {\r\n var self = this;\r\n self.isLoadingFuelTypes(true);\r\n fuelTypesClient.getAll()\r\n .done(function(data) {\r\n self.fuelTypesMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingFuelTypes(false);\r\n });\r\n};\r\n\r\nvar configEmissionReportInstance = null;\r\nexport default {\r\n get: function() {\r\n if (!configEmissionReportInstance) {\r\n configEmissionReportInstance = new ConfigEmissionReport();\r\n }\r\n return configEmissionReportInstance;\r\n },\r\n};\r\n","var map = {\n\t\"./info-ikon.png\": \"226e\",\n\t\"./office-ikon.png\": \"dd54\",\n\t\"./trend-ikon.png\": \"92c6\",\n\t\"./vessel-ikon.png\": \"e69d\"\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 = \"6e63\";","import net from \"App/net\";\r\n\r\nvar ISO19030Client = function() {};\r\n\r\n// Events\r\nISO19030Client.prototype.All = function() {\r\n return net.get(\"/Iso19030Events\");\r\n};\r\n\r\nISO19030Client.prototype.AllByVesselId = function(vesselId) {\r\n return net.get(`/Iso19030Events/Vessel/${vesselId}`);\r\n};\r\n\r\nISO19030Client.prototype.EventById = function(eventId) {\r\n return net.get(`/Iso19030Events/${eventId}`);\r\n};\r\n\r\nISO19030Client.prototype.CreateEvent = function(eventModel) {\r\n return net.post(\"/Iso19030Events\", eventModel);\r\n};\r\n\r\nISO19030Client.prototype.UpdateEvent = function(eventModel) {\r\n return net.patch(`/Iso19030Events/${eventModel.id}`, eventModel);\r\n};\r\n\r\nISO19030Client.prototype.DeleteEvent = function(eventId) {\r\n return net.del(`/Iso19030Events/${eventId}`);\r\n};\r\n// PerformanceIndicators\r\nISO19030Client.prototype.PerformanceIndicators = function(vesselId) {\r\n return net.get(`/Iso19030PerformanceIndicators/${vesselId}`);\r\n};\r\n\r\nexport default new ISO19030Client();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { ISO19030Event } from \"@/types/ISO19030Event\";\r\nimport { PerformanceIndicatorPeriod } from \"@/types/PerformanceIndicatorPeriod\";\r\nimport ISO19030Client from \"Clients/ISO19030-client\";\r\n\r\n@Module({ namespaced: true, name: \"ISO19030\" })\r\nclass ISO19030 extends VuexModule {\r\n private _events: ISO19030Event[] = [];\r\n private _performanceIndicators: PerformanceIndicatorPeriod[] = [];\r\n\r\n get events(): ISO19030Event[] {\r\n return this._events;\r\n }\r\n\r\n get eventsByVesselId() {\r\n return (vesselId: number): ISO19030Event[] => {\r\n return this._events.filter(event => event.vesselId === vesselId);\r\n };\r\n }\r\n\r\n get performanceIndicators(): PerformanceIndicatorPeriod[] {\r\n return this._performanceIndicators;\r\n }\r\n\r\n // Events < >\r\n @Action({ rawError: true })\r\n public async fetchEvents(): Promise {\r\n try {\r\n const response = await ISO19030Client.All();\r\n this.context.commit(\"SET_ISO19030_EVENTS\", response);\r\n return response;\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject(`Failed to fetch ISO19030 events: ${err}`);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async createEvent(event: Partial): Promise {\r\n try {\r\n await ISO19030Client.CreateEvent(event);\r\n await this.context.dispatch(\"fetchEvents\");\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject(`Failed to create event: ${err}`);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateEvent(event: ISO19030Event): Promise {\r\n try {\r\n await ISO19030Client.UpdateEvent(event);\r\n await this.context.dispatch(\"fetchEvents\");\r\n } catch (err) {\r\n console.warn(err);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteEvent(eventId: number): Promise {\r\n try {\r\n await ISO19030Client.DeleteEvent(eventId);\r\n await this.context.dispatch(\"fetchEvents\");\r\n } catch (err) {\r\n console.warn(err);\r\n }\r\n }\r\n // Events \r\n\r\n // PerformanceIndicators < >\r\n @Action({ rawError: true })\r\n public async fetchPerformanceIndicators(vesselId: number | string): Promise {\r\n try {\r\n const response = await ISO19030Client.PerformanceIndicators(vesselId);\r\n this.context.commit(\"SET_ISO19030_PERFORMANCE_INDICATORS\", response);\r\n return response;\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject(`Failed to fetch ISO19030 performance indicators: ${err}`);\r\n }\r\n }\r\n // PerformanceIndicators \r\n\r\n @Mutation\r\n public SET_ISO19030_EVENTS(response: ISO19030Event[]): void {\r\n this._events = response;\r\n }\r\n\r\n @Mutation\r\n public SET_ISO19030_PERFORMANCE_INDICATORS(response: PerformanceIndicatorPeriod[]): void {\r\n this._performanceIndicators = response;\r\n }\r\n}\r\n\r\nexport default ISO19030;\r\n","// See: http://www.jacklmoore.com/notes/rounding-in-javascript/\r\nfunction round(value, decimals) {\r\n return Number(Math.round(value+\"e\"+decimals)+\"e-\"+decimals);\r\n}\r\n\r\nfunction parseLocaleNumber(stringNumber, locale) {\r\n if (!stringNumber) return 0;\r\n const thousandSeparator = Intl.NumberFormat(locale).formatToParts(11111)[1].value;\r\n const decimalSeparator = Intl.NumberFormat(locale).formatToParts(1.1)[1].value;\r\n\r\n return parseFloat(stringNumber\r\n .replace(new RegExp(\"\\\\\" + thousandSeparator, \"g\"), \"\")\r\n .replace(new RegExp(\"\\\\\" + decimalSeparator), \".\"),\r\n );\r\n}\r\n\r\nexport default {\r\n round: function (value, decimals) {\r\n return round(value, decimals);\r\n },\r\n parseLocaleNumber: parseLocaleNumber,\r\n};","module.exports = __webpack_public_path__ + \"img/table-widget-illustration-1.8cd96a5d.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAcCAMAAACAobU3AAAAkFBMVEUAAACVlZKSko/CwsGQkI6SkpCGhoPS0tHKysmQkI2SkpCRkY6GhoPNzcyvr62NjYqoqKabm5iZmZeRkY6RkY+Sko+Sko+SkpCPj42Li4iIiIWGhoOGhoOGhoP///+GhoPw8PD7+/v5+fmsrKqQkI7z8/OMjInX19aNjYro6Ofj4+Pe3t3V1dTLy8qxsa+IiIWMEjxCAAAAHnRSTlMA7u/+56Ad/v7tuIYo/fX19PPw2ta7l5V1TjIVEQgGzgzGAAAAj0lEQVQY073OVw7CMBRE0eeSSui9TdzihL7/3WErQUIsgPt15m8odC6nIxpaCz0bxm4C6Pk+MuUGgCpOwWULYw3yhKhaAM+XhWYpJXfcfO1bZBuSGs67roORxIFGKdUAnBg+sV8La63oreqY+ru1C3Q6OH5+iFzFz6sr+i5LqoqxCdIZPxAdt5IzJpOUvnsDKg0aV8h9B18AAAAASUVORK5CYII=\"","// Module\nvar code = \"
    \\r\\n
      \\r\\n
    • Unassigned vessels
    • \\r\\n
    • Assigned vessels
    • \\r\\n
    • Archived vessels
    • \\r\\n
    • Add vessel
    • \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n

    Expiration date:

    \\r\\n \\r\\n View key\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    You do not have permission to view this key.

    \\r\\n
    \\r\\n
    \\r\\n \\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 key\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n

    Feature not available

    \\r\\n

    \\r\\n We're sorry, the module is not activated for .
    \\r\\n More information about the module is available on www.danelec.com.\\r\\n

    \\r\\n
    Please contact sales@danelec.com for a quotation to activate.
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n Please provide the following information in order to use the emission report module:\\r\\n

      \\r\\n
    • \\r\\n General information about the vessel.\\r\\n
    • \\r\\n
    • \\r\\n Flow meters and/or fuel tanks covering all fuel consumers.\\r\\n
    • \\r\\n
    • \\r\\n Which cargo unit(s) the vessel is typically carrying.\\r\\n
    • \\r\\n
    \\r\\n

    \\r\\n

    \\r\\n This information can be provided under Settings.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\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 emission report will be available for download after at least one voyage has been confirmed and completed. Please select a departure to get started.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n MRV report\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n IMO report\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Upload from template:

    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Sorry, there was an error processing your template:\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Please review and try again.\\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import template from \"./vessel-admin.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport vesselsAdministrationsClient from \"Clients/vessels-administrations-client\";\r\nimport companiesClient from \"Clients/companies-client\";\r\nimport Vessel from \"ViewModels/vesselsAdministration/vessel\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n\r\n self.editVessel = ko.observable();\r\n self.previousMenuItem = ko.observable();\r\n self.menuItem = ko.observable(\"unassignedVessels\");\r\n self.isUnasssignedVesselsLoading = ko.observable(true);\r\n self.isCompaniesLoading = ko.observable(true);\r\n self.isLoadError = ko.observable(false);\r\n self.unassignedVessels = ko.observableArray([]);\r\n self.assignedVessels = ko.observableArray([]);\r\n self.archivedVessels = ko.observableArray([]);\r\n self.companies = ko.observableArray([]);\r\n\r\n self.getVessels();\r\n self.getCompanies();\r\n\r\n self.vessels = ko.pureComputed(function () {\r\n var menuItem = self.menuItem();\r\n if (menuItem === \"assignedVessels\") {\r\n return self.assignedVessels();\r\n } else if (menuItem === \"archivedVessels\") {\r\n return self.archivedVessels();\r\n }\r\n return self.unassignedVessels();\r\n });\r\n\r\n self.visibleView = ko.pureComputed(function () {\r\n return self.menuItem();\r\n });\r\n\r\n self.arraySortedEvent = events.vesselArraySorted.add(function(array) {\r\n var menuItem = self.menuItem();\r\n if (menuItem === \"assignedVessels\") {\r\n self.assignedVessels(array);\r\n } else if (menuItem === \"archivedVessels\") {\r\n self.archivedVessels(array);\r\n } else {\r\n self.unassignedVessels(array);\r\n }\r\n });\r\n\r\n self.menuItemClickEvent = events.menuItemClick.add(function (menuItem, previousMenuItem, vessel) {\r\n self.menuItem(menuItem);\r\n self.previousMenuItem(previousMenuItem);\r\n if (vessel) {\r\n self.editVessel(vessel);\r\n } else {\r\n self.editVessel(new Vessel());\r\n }\r\n\r\n if (menuItem === \"editVessel\") {\r\n events.findDataReceiver.dispatch();\r\n }\r\n\r\n if (previousMenuItem === \"editVessel\") {\r\n self.getVessels();\r\n }\r\n });\r\n\r\n self.vesselUpdatedEvent = events.vesselAdministrationUpdated.add(function(updateType) {\r\n self.getVessels();\r\n\r\n if (updateType === \"editVessel\" && self.menuItem() === \"editVessel\") {\r\n events.menuItemClick.dispatch(self.previousMenuItem(), self.menuItem());\r\n }\r\n });\r\n\r\n self.vesselDeletedEvent = events.vesselDeleted.add(function() {\r\n self.getVessels();\r\n });\r\n}\r\n\r\nViewModel.prototype.getVessels = function () {\r\n var self = this;\r\n vesselsAdministrationsClient.getVessels().done(function (data) {\r\n self.mapVessels(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isUnasssignedVesselsLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.mapVessels = function(vessels) {\r\n var self = this;\r\n var unassignedVessels = [];\r\n var assignedVessels = [];\r\n var archivedVessels = [];\r\n _.each(vessels, function (vessel) {\r\n var activeStatus = vessel.activeStatus;\r\n if (activeStatus === \"Unassigned\") {\r\n unassignedVessels.push(new Vessel(vessel, self.companies()));\r\n } else if (activeStatus === \"Active\" || activeStatus === \"Assigned\") {\r\n assignedVessels.push(new Vessel(vessel, self.companies()));\r\n } else if (activeStatus === \"Archived\") {\r\n archivedVessels.push(new Vessel(vessel, self.companies()));\r\n }\r\n });\r\n\r\n self.unassignedVessels(unassignedVessels);\r\n self.assignedVessels(assignedVessels);\r\n self.archivedVessels(archivedVessels);\r\n};\r\n\r\nViewModel.prototype.getCompanies = function () {\r\n var self = this;\r\n companiesClient.getAll().done(function (data) {\r\n self.companies(data);\r\n }).fail(function() {\r\n self.isLoadError(true);\r\n }).always(function() {\r\n self.isCompaniesLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.menuItemClickEvent.detach();\r\n this.vesselUpdatedEvent.detach();\r\n this.vesselDeletedEvent.detach();\r\n this.arraySortedEvent.detach();\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASlJREFUeNpiZMAB5IOrFYBUABDbA7EAktQDIN74cG3rBmz6GLEYBNLcD8QJDPgByOBCdIMZ0QwzAFL70VxECCwAGpoI4zBTaBgIGAho2Sl8vH54I4jDhCQxnwzDYCAB6KAAuIFADii8DEgxYUVjMsODNS1gbKGtCHMQ3IX5DJQDAZDDWKDJA6/rQK4AgRNX7zNE1M/Fp9Qf5EIFBuoBBRQDQWEBC5eCMCdyDDRggiZQaoEPTAzUBReYgKn8ADUNZISmw/XQgoBSYAjz8kQqGHYA6NsLYAOh3p5ASWQAcSJK4QDM3DuBmRyUwDXIMDATFhfMyKJAQ1cCDQUVEBYkuMwTuUxkRlcBdelBaIJXwGNQJxBHAg27gbfExlJ6g4LBAcmgC/iSGkCAAQBEE2FI+Jo9YwAAAABJRU5ErkJggg==\"","// Module\nvar code = \"\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n Please select at least 1 item.
    \\r\\n There was an error when trying to update the configuration.\\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n

    Vessels already in access group

    \\r\\n

    Add or remove vessels from this access group.

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    Vessel name
    \\r\\n No vessels in access group\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n

    Available vessels

    \\r\\n

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Vessel name
    \\r\\n \\r\\n LOADING...\\r\\n \\r\\n \\r\\n No available vessels\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n

    Users already in access group

    \\r\\n

    Add or remove users from this access group.

    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    User name
    No users in access group
    \\r\\n \\r\\n
    \\r\\n\\r\\n

    Available 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 \\r\\n \\r\\n \\r\\n
    User name
    \\r\\n \\r\\n LOADING...\\r\\n \\r\\n \\r\\n No available 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

    Error

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { UserProfile } from \"@/types/userProfile\";\r\nimport usersClient from \"Clients/users-client\";\r\nimport store from \"@/store/index\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Users\" })\r\nclass Users extends VuexModule {\r\n private _usersExpired = true;\r\n private _users: UserProfile[] = [];\r\n private _onlineUsers: UserProfile[] = [];\r\n\r\n @Mutation\r\n public REFRESH_USERS(users: UserProfile[]): void {\r\n this._usersExpired = false;\r\n this._users = users;\r\n }\r\n\r\n @Mutation\r\n public REFRESH_ONLINE_USERS(onlineUsers: UserProfile[]): void {\r\n this._onlineUsers = onlineUsers;\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._usersExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshUsers(): Promise {\r\n let data = [];\r\n try {\r\n data = await usersClient.getAll();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_USERS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshOnlineUsers(): Promise {\r\n let data = [];\r\n try {\r\n data = await usersClient.getOnlineUsers();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_ONLINE_USERS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getAll(): Promise {\r\n if (!this._usersExpired) {\r\n return this._users;\r\n } else {\r\n await this.refreshUsers();\r\n return this._users;\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async viewAsCompany(companyId: number): Promise {\r\n try {\r\n await usersClient.setCompany(companyId);\r\n store.commit(\"User/EXPIRE_USER\", null, { root: true });\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n get users(): UserProfile[] {\r\n return this._users;\r\n }\r\n public get getUserById() {\r\n return (id: string | null | number): UserProfile | undefined => {\r\n return this._users.find(usr => usr.id === id);\r\n };\r\n }\r\n get usersCount(): number {\r\n return this._users.length;\r\n }\r\n get onlineUsers(): UserProfile[] {\r\n return this._onlineUsers;\r\n }\r\n}\r\n\r\nexport default Users;\r\n","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselEventId) {\r\n var filter = {\r\n vesselEventId: vesselEventId,\r\n };\r\n\r\n return net.get(\"/FlowMeterFuelConsumptions/Find\", filter);\r\n};\r\n\r\nClient.prototype.create = function(voyageFuelConsumption) {\r\n return net.post(\"/FlowMeterFuelConsumptions\", voyageFuelConsumption);\r\n};\r\n\r\nClient.prototype.update = function(voyageFuelConsumption) {\r\n return net.put(\"/FlowMeterFuelConsumptions/\" + voyageFuelConsumption.id, voyageFuelConsumption);\r\n};\r\n\r\nClient.prototype.remove = function(voyageFuelConsumption) {\r\n return net.del(\"/FlowMeterFuelConsumptions/\" + voyageFuelConsumption.id).done(function() {\r\n events.flowMeterFuelConsumptionDeleted.dispatch(voyageFuelConsumption);\r\n });\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\nimport events from \"App/events\";\r\nimport Store from \"@/store\";\r\n\r\nvar CurvesClient = function() {\r\n\r\n};\r\n\r\nCurvesClient.prototype.find = function(vesselId) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Curves/Find\" : \"/Curves/Find\";\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n return net.get(url, filter);\r\n};\r\n\r\nCurvesClient.prototype.create = function(curve) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Curves\" : \"/Curves\";\r\n return net.post(url, curve).done(function(data) {\r\n events.curveCreated.dispatch(data);\r\n });\r\n};\r\n\r\nCurvesClient.prototype.update = function(curve) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Curves/\" : \"/Curves/\";\r\n\r\n return net.put(url + curve.id, curve).done(function(data) {\r\n events.curveUpdated.dispatch(data);\r\n });\r\n};\r\n\r\nCurvesClient.prototype.remove = function(curve) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Curves/\" : \"/Curves/\";\r\n\r\n return net.del(url + curve.id).done(function() {\r\n events.curveDeleted.dispatch(curve);\r\n });\r\n};\r\n\r\nCurvesClient.prototype.downloadExcelReport = function(curvePlotResult) {\r\n return net.fileDownload(\"/Curves/Report\", \"POST\", curvePlotResult);\r\n};\r\n\r\nexport default new CurvesClient();\r\n","// Module\nvar code = \"
    \\r\\n

    Import paths

    \\r\\n

    Timestamp

    \\r\\n

    \\r\\n Duration\\r\\n \\r\\n

    \\r\\n

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

    Error

    \\r\\n
    \\r\\n Web job: \\r\\n \\r\\n
    \\r\\n
    \\r\\n Error message:\\r\\n \\r\\n
    \\r\\n Stack trace\\r\\n
    \\r\\n
    \\r\\n        
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    1, click: previousPage\\\">Previous
    \\r\\n
    1
    \\r\\n
    2\\\">...
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Next
    \\r\\n
    1, text: numberOfPages(),\\r\\n css: {'tablePageCurrent': currentPage() === numberOfPages()}, click: goToLast\\\">
    \\r\\n
    ...
    \\r\\n
    \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { VesselAdmin } from \"@/types/vesselAdmin\";\r\nimport vesselsAdminClient from \"Clients/vessels-administrations-client\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"VesselsAdmin\" })\r\nclass VesselsAdmin extends VuexModule {\r\n private _vesselsExpired = true;\r\n private _vesselsAdminAll: VesselAdmin[] = [];\r\n private _vesselsAdminUnassigned: VesselAdmin[] = [];\r\n private _vesselsAdminActive: VesselAdmin[] = [];\r\n private _vesselsAdminInactive: VesselAdmin[] = [];\r\n\r\n\r\n @Mutation\r\n public REFRESH_VESSELS(vessels: VesselAdmin[]): void {\r\n this._vesselsExpired = false;\r\n this._vesselsAdminAll = vessels;\r\n this._vesselsAdminUnassigned = [];\r\n this._vesselsAdminActive = [];\r\n this._vesselsAdminInactive = [];\r\n\r\n vessels.forEach(vessel => {\r\n const activeStatus = vessel.activeStatus;\r\n switch (activeStatus) {\r\n case \"Unassigned\":\r\n this._vesselsAdminUnassigned.push(vessel);\r\n break;\r\n case \"Active\":\r\n this._vesselsAdminActive.push(vessel);\r\n break;\r\n case \"Assigned\":\r\n this._vesselsAdminInactive.push(vessel);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._vesselsExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshAllVessels(): Promise {\r\n let data = [];\r\n try {\r\n data = await vesselsAdminClient.getVessels();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_VESSELS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getAll(): Promise {\r\n if (!this._vesselsExpired) {\r\n return this._vesselsAdminAll;\r\n } else {\r\n await this.refreshAllVessels();\r\n return this._vesselsAdminAll;\r\n }\r\n }\r\n\r\n get vesselsAdminAll(): VesselAdmin[] {\r\n return this._vesselsAdminAll;\r\n }\r\n get vesselsAdminUnassigned(): VesselAdmin[] {\r\n return this._vesselsAdminUnassigned;\r\n }\r\n get vesselsAdminActive(): VesselAdmin[] {\r\n return this._vesselsAdminActive;\r\n }\r\n get vesselsAdminInactive(): VesselAdmin[] {\r\n return this._vesselsAdminInactive;\r\n }\r\n get UnassignedVesselsCount(): number {\r\n return this._vesselsAdminUnassigned.length;\r\n }\r\n get ActiveVesselsCount(): number {\r\n return this._vesselsAdminActive.length;\r\n }\r\n get InactiveVesselsCount(): number {\r\n return this._vesselsAdminInactive.length;\r\n }\r\n}\r\n\r\nexport default VesselsAdmin;\r\n","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n
      \\r\\n
    • \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar CompaniesClient = function () {\r\n\r\n};\r\n\r\nCompaniesClient.prototype.getAll = function () {\r\n return net.get(\"/Companies\");\r\n};\r\n\r\nCompaniesClient.prototype.create = function (company) {\r\n return net.post(\"/Companies\", company);\r\n};\r\n\r\nCompaniesClient.prototype.update = function (company) {\r\n return net.put(\"/Companies/\" + company.id, company);\r\n};\r\n\r\nCompaniesClient.prototype.remove = function (company) {\r\n return net.del(\"/Companies/\" + company.id);\r\n};\r\n\r\n\r\nexport default new CompaniesClient();","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n A vessel with this IMO number exists in this company\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Current data receiver

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

    \\r\\n Setting this vessel as the current data receiver, will remove this flag from the current data receiver, and\\r\\n all new data entering the system will be stored on this vessel.\\r\\n

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

    \\r\\n This vessel is currently the data receiver\\r\\n

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

    Company

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

    Features

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
      \\r\\n
    • \\r\\n General\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADfUlEQVR4Xu2aj7EMQRDGvxcBIkAEiAARIAJEgAgQASLgRYAIEAEiQATIQH1qu6q1mb25me6eutqdqlf33u293enf9L/55s6w8XG2cfuxA9g9YOME9hDYuAPsSXAPgckhcGt5/sdZ85jtAW8Wwx9sEcAVAN8Ww68C+D4DwkwPeAbg6WL0cwD8O33MBMDVpxdwcPXpBeljFgDG/Gtj7UMAkhPSQMwC8AGAVAAxlpXgdprly4NmALgO4HPF0BsAvmRCmAGAbn6/YuQ5gNSSmA3g4lL6+Foav5ZkyNeUkQ3gMYAXyrKvy+/X1HtPALxMsR5I3wzp0kcbmfk5dEVILYmZHnAXwFu1sr9NH3BBXbsH4F2GF2QCoEF3lFGvADAkOOjyj9S19wAILHxkAdB9vxil+/9D18NAZAFoWeE1DzlpAKXSV4pxmyNSSmKGB9i+/4dKfnZlWQEuqzfD9wcZANj2sv2VsVbnbZ/AtpjtcdiIBsANDzc+MqT01To9hstPYy03SGGSWTQA2/e39Po9/9PtIZEASqWtZbdX2i2GSWaRALTkxRX6VNAAaitHl7+pLoZJZpEASn1/q+JjK0fY/iAKgDWAya+2Ba55AROl3h+ElMQoAFby6nFhG0IhklkEAK8k1ptEj6oIEQA8y5jnvYpgvAGU+v6RRsY2Uu77A28AtpVd6/tbXdXuD1wlM28AI6WvBiS0JHoCqEleowovw4peECKZeQKIFDRaBJXWkPrnc14AoiWtsPt7AbArdEzf37pydn+gRdXWe/z3OQ8ArZKXfjibJR6PyTEY6z23ymvngiGSmQeAVsmLoMRorRBpMAQgMErJ010y8wBwSPLiWQAhHavzM6kSBs8IZNj9wbBkNgrAdmqc6KVF9JTVPnYXaOOUniBeQQ9wlcxGAdhenRPkhGsuro3jyupvielTo1pS44oTqHy1hp9rkdmqSXIEQKk0HcrGPA2m0fyxMU7DGCr80afFh+7J692S2QgAG4+1iVIMEaNbv/1BDxIYugOsPaNHb/h7rxEAtu+3kxMXHz3lZfIkjLUQ6ZbMegGUvuVFAGsu3uLKa585FCJdklkvAC159bj4KIxSiHRJZj0ARPLycvFRGDpEWs4dhjdDBCDlbnTynv8v5bE10Q4nQc/JT7tXTwhMm2zEg3cAEVRP6Z67B5zSakXMdfeACKqndM8/EHrDQak99E0AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"img/kymalogo-only-blue.eab47dfc.svg\";","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import _ from \"underscore\";\r\n\r\nfunction getPerformanceStatusText(performanceStatus) {\r\n switch (performanceStatus) {\r\n case \"NotOk\":\r\n return \"Not ok\";\r\n case \"Observe\":\r\n return \"Observe\";\r\n case \"Ok\":\r\n return \"Ok\";\r\n case \"BenchMarking\":\r\n return \"Benchmarking\";\r\n case \"NoDiagnosticTypes\":\r\n return \"No performance parameters\";\r\n case \"NoEnabledLongTrends\":\r\n return \"Performance status disabled by user\";\r\n case \"DiagnosticsNotActivated\":\r\n return \"Diagnostics module not activated\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction getPerformanceStatusErrorText(performanceStatus) {\r\n switch (performanceStatus) {\r\n case \"NoDiagnosticTypes\":\r\n return \"No performance parameters\";\r\n case \"NoEnabledLongTrends\":\r\n return \"Performance status disabled by user\";\r\n case \"DiagnosticsNotActivated\":\r\n return \"Diagnostics module not activated\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\n//Modified with require and new paths so new webpack config can find these files\r\nfunction getPerformanceStatusImageSrc(performanceStatus) {\r\n switch (performanceStatus) {\r\n case \"NotOk\":\r\n return require(\"@/assets/images/status/notok.png\");\r\n case \"Observe\":\r\n return require(\"@/assets/images/status/observe.png\");\r\n case \"Ok\":\r\n return require(\"@/assets/images/status/ok.png\");\r\n case \"BenchMarking\":\r\n return require(\"@/assets/images/status/benchmarking.png\");\r\n case \"NoDiagnosticTypes\":\r\n case \"NoEnabledLongTrends\":\r\n case \"DiagnosticsNotActivated\":\r\n return require(\"@/assets/images/status/error.png\");\r\n default:\r\n return require(\"@/assets/images/loading.gif\");\r\n }\r\n}\r\n\r\nfunction getPerformanceStatus(vessel) {\r\n if (!vessel.isDiagnosticActivated) {\r\n return \"DiagnosticsNotActivated\";\r\n }\r\n\r\n var diagnosticLongTrends = _.filter(vessel.longTrends, function (longTrend) {\r\n return longTrend.diagnosticTypeId;\r\n });\r\n\r\n if (diagnosticLongTrends.length === 0) {\r\n return \"NoDiagnosticTypes\";\r\n }\r\n\r\n var enabledLongTrends = _.filter(diagnosticLongTrends, function (longTrend) {\r\n return longTrend.useInVesselStatus;\r\n });\r\n if (enabledLongTrends.length === 0) {\r\n return \"NoEnabledLongTrends\";\r\n }\r\n\r\n var longTrendStatuses = _.map(enabledLongTrends, function (longTrend) {\r\n return longTrend.performanceStatus;\r\n });\r\n\r\n if (_.contains(longTrendStatuses, \"NotOk\")) {\r\n return \"NotOk\";\r\n }\r\n if (_.contains(longTrendStatuses, \"Observe\")) {\r\n return \"Observe\";\r\n }\r\n if (_.contains(longTrendStatuses, \"BenchMarking\")) {\r\n return \"BenchMarking\";\r\n }\r\n if (_.contains(longTrendStatuses, \"Ok\")) {\r\n return \"Ok\";\r\n }\r\n\r\n throw \"Unexepcted performance statuses: \" + longTrendStatuses.join(\",\");\r\n}\r\n\r\nfunction getSortValue(performanceStatus) {\r\n switch (performanceStatus) {\r\n case \"NotOk\":\r\n return 0;\r\n case \"Observe\":\r\n return 1;\r\n case \"Ok\":\r\n return 2;\r\n case \"BenchMarking\":\r\n return 3;\r\n case \"NoDiagnosticTypes\":\r\n return 4;\r\n case \"NoEnabledLongTrends\":\r\n return 5;\r\n case \"DiagnosticsNotActivated\":\r\n return 6;\r\n default:\r\n throw \"Unexpected performance status \" + performanceStatus;\r\n }\r\n}\r\n\r\nexport default {\r\n getPerformanceStatusText: function (performanceStatus) {\r\n return getPerformanceStatusText(performanceStatus);\r\n },\r\n getPerformanceStatusErrorText: function (performanceStatus) {\r\n return getPerformanceStatusErrorText(performanceStatus);\r\n },\r\n getPerformanceStatusImageSrc: function (performanceStatus) {\r\n return getPerformanceStatusImageSrc(performanceStatus);\r\n },\r\n getPerformanceStatusCssClass: function (performanceStatus) {\r\n return performanceStatus ? performanceStatus : \"loading\";\r\n },\r\n getPerformanceStatus: function (vessel) {\r\n return getPerformanceStatus(vessel);\r\n },\r\n getSortValue: function (vessel) {\r\n return getSortValue(getPerformanceStatus(vessel));\r\n },\r\n getSortValueByStatus: function (performanceStatus) {\r\n return getSortValue(performanceStatus);\r\n },\r\n};\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowAnnouncement.vue?vue&type=style&index=0&lang=scss&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAdCAMAAABL/WaSAAAApVBMVEUAAABAjGs+imk6iWY4h2Q7iWcmfFauzsBKk3I3h2M7iWcmfFamybmgxbWVv61vqI8yg19ioIU6iGU6iGY7iWc9img8iWc5h2U6iGU3hmMvgV0qf1kmfFYmfFYmfFb///8mkGLl8uz8/fwxlmr3+/n0+fbq9PCQx69rtJS418mhz7tospM3mW71+ffh7ejV5t/O4dnC4NOz0cRzt5o6mnE6mnApkmTsJjroAAAAH3RSTlMA7u/v57kd/vHtlij9/Pr19fTa1qOenomDdU4yFREIINFKlAAAAJZJREFUGNO9zkcOgzAUhOEHdqjpvQ8udNLL/Y8WHIQUcYD8q28xi6FOx9543bo3lJNVw80I0N7W0GExgLN/MIscOosxmBOFHvB4l5C2Q4s7bipSOdyAuEalKqXkiZMNJEKIBLDJQpvVsUyzMkvl1yIyib9bPmu+zAcGJEVaCPN5dkXTZUqh349raZftiPYBZ5bNlw799gFd9Rw7dRFvNAAAAABJRU5ErkJggg==\"","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Company } from \"@/types/company\";\r\nimport companiesClient from \"Clients/companies-client\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Companies\" })\r\nclass Companies extends VuexModule {\r\n private _CompaniesExpired = true;\r\n private _companies: Company[] = [];\r\n\r\n @Mutation\r\n public REFRESH_COMPANIES(companies: Company[]): void {\r\n this._CompaniesExpired = false;\r\n this._companies = companies;\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._CompaniesExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshCompanies(): Promise {\r\n let data = [];\r\n try {\r\n data = await companiesClient.getAll();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_COMPANIES\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getAll(): Promise {\r\n if (!this._CompaniesExpired) {\r\n return this._companies;\r\n } else {\r\n await this.refreshCompanies();\r\n return this._companies;\r\n }\r\n }\r\n\r\n get companies(): Company[] {\r\n return this._companies;\r\n }\r\n get companiesCount(): number {\r\n return this._companies.length;\r\n }\r\n\r\n get companyById() {\r\n return (id: number): Company | undefined => {\r\n return this._companies.find(company => company.id === id);\r\n };\r\n }\r\n}\r\n\r\nexport default Companies;\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n Location\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n N/A\\r\\n \\r\\n \\r\\n Sorry, an error occurred while loading the nearest location\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/help-starting-page.1ffcad69.webp\";","import net from \"App/net\";\r\n\r\nvar ShapoliClient = function () {\r\n\r\n};\r\n\r\nShapoliClient.prototype.getBreaches = function(query) {\r\n return net.get(`/Shapoli/Breaches`, query);\r\n};\r\n\r\nShapoliClient.prototype.getBreachDetails = function(query) {\r\n return net.get(`/Breaches/Details`, query);\r\n};\r\n\r\nShapoliClient.prototype.getEvents = function(query) {\r\n return net.get(`/Shapoli/Events`, query);\r\n};\r\n\r\nShapoliClient.prototype.getShaftPowerLogVariables = function(query) {\r\n return net.get(`/Shapoli/PowerLogVariables`, query);\r\n};\r\n\r\nShapoliClient.prototype.downloadBreachLogData = function(vesselId, dates) {\r\n net.fileDownload(`/Shapoli/Reports/Breach?vesselId=${vesselId}&breachStartDate=${dates.fromDate}&toDate=${dates.toDate}`, \"GET\");\r\n};\r\n\r\nShapoliClient.prototype.downloadBreachesYearReport = function(vesselId, year) {\r\n net.fileDownload(`/Shapoli/Reports/Year?vesselId=${vesselId}&year=${year}`, \"GET\");\r\n};\r\n\r\nexport default new ShapoliClient();\r\n","require([\"knockout\", \"jquery\", \"leaflet\", \"underscore\"], function(ko, $, L, _) {\r\n function findMarkerBounds(markers) {\r\n var n, e, s, w, sw, ne;\r\n var marker, lat, lng;\r\n\r\n for (var i = 0; i < markers.length; i++) {\r\n marker = markers[i];\r\n lat = marker.getLatLng().lat;\r\n lng = marker.getLatLng().lng;\r\n\r\n // find lowest and highest latitude\r\n if (lat > n || i == 0) n = lat;\r\n if (lat < s || i == 0) s = lat;\r\n\r\n // find lowest and highest longitude\r\n if (lng > e || i == 0) e = lng;\r\n if (lng < w || i == 0) w = lng;\r\n }\r\n\r\n sw = new L.LatLng(s, w);\r\n ne = new L.LatLng(n, e);\r\n\r\n return new L.LatLngBounds(sw, ne);\r\n }\r\n\r\n function updateMarkers(map, markers, markerPopupsIsOpen) {\r\n var openPopups = markerPopupsIsOpen;\r\n if (map.markersGroup) {\r\n openPopups = _.any(map.markers, function(marker) {\r\n return marker.isPopupOpen();\r\n });\r\n\r\n //clearing the layers further below doesn't remove the popups :/\r\n //so removing them here explicitly as a fix\r\n _.each(map.markers, function(marker) {\r\n marker.closePopup();\r\n });\r\n\r\n map.markersGroup.clearLayers();\r\n }\r\n\r\n map.markers = markers;\r\n map.markersGroup = L.layerGroup(map.markers).addTo(map);\r\n\r\n if (openPopups) {\r\n _.each(markers, function(marker) {\r\n marker.openPopup();\r\n });\r\n }\r\n\r\n if (map.markers.length > 0) {\r\n var markerBounds = findMarkerBounds(map.markers);\r\n map.fitBounds(markerBounds, {\r\n padding: [100, 100],\r\n maxZoom: 6,\r\n });\r\n }\r\n }\r\n\r\n ko.bindingHandlers.map = {\r\n init: function(element, valueAccessor, allBindingsAccessor) {\r\n var $el = $(element);\r\n var value = valueAccessor();\r\n var options = ko.utils.unwrapObservable(value.options);\r\n\r\n var layer = new L.TileLayer(\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}.png\", {\r\n attribution: \"Esri\",\r\n });\r\n var maxBounds = L.latLngBounds(L.latLng(-85, -200), L.latLng(85, 200));\r\n var map = L.map(element, { layers: layer, scrollWheelZoom: true, maxZoom: 14, minZoom: 2, zoom: 5, center: [0, 0], maxBounds: maxBounds, maxBoundsViscosity: 0.8 });\r\n\r\n value.map(map);\r\n\r\n updateMarkers(map, options.markers, options.initialMarkerPopupsIsOpen);\r\n var optionsSubscription = value.options.subscribe(function(newOptions) {\r\n updateMarkers(map, newOptions.markers);\r\n });\r\n\r\n ko.utils.domNodeDisposal.addDisposeCallback(element, function() {\r\n optionsSubscription.dispose();\r\n });\r\n },\r\n update: function(element, valueAccessor, allBindingsAccessor) {},\r\n };\r\n});","import net from \"App/net\";\r\n\r\nvar LongTrendConfigurationsClient = function () {\r\n\r\n};\r\n\r\nLongTrendConfigurationsClient.prototype.getByVesselId = function(vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n var deferred = $.Deferred();\r\n net.get(\"/LongTrendConfigurations/Find\", filter).done(function (response) {\r\n deferred.resolve(response[0]);\r\n }).fail(function () {\r\n deferred.reject(arguments);\r\n });\r\n return deferred.promise();\r\n};\r\n\r\nLongTrendConfigurationsClient.prototype.update = function(configuration) {\r\n return net.put(\"/LongTrendConfigurations\", configuration);\r\n};\r\n\r\nexport default new LongTrendConfigurationsClient();","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import template from \"./vessel-groups.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport $ from \"jquery\";\r\nimport events from \"App/events\";\r\nimport vesselGroupsClient from \"Clients/vessel-groups-client\";\r\nimport vesselsClient from \"Clients/vessels-client\";\r\n\r\nfunction getVesselGroupNameError(name) {\r\n if (!name) {\r\n return \"Please enter a name for the vessel group.\";\r\n }\r\n if (name.length > 15) {\r\n return \"The vessel group name cannot exceed 15 characters.\";\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n self.isLoadingVesselGroups = ko.observable(true);\r\n self.isLoadingVessels = ko.observable(true);\r\n self.isCreatingVesselGroup = ko.observable(false);\r\n self.isEditingVesselGroup = ko.observable(false);\r\n self.vesselGroups = ko.observableArray([]);\r\n self.vessels = ko.observable();\r\n self.selectedVesselGroup = ko.observable();\r\n self.newVesselGroupName = ko.observable();\r\n self.createVesselGroupError = ko.observable();\r\n self.editVesselGroupError = ko.observable();\r\n self.removingVesselGroup = ko.observable();\r\n self.editingVesselGroup = ko.observable();\r\n self.editedVesselGroupName = ko.observable();\r\n\r\n self.selectVesselGroup = function(vesselGroup) {\r\n self.selectedVesselGroup(vesselGroup);\r\n self.editingVesselGroup(null);\r\n }.bind(self);\r\n\r\n self.startEditVesselGroup = function(vesselGroup, e) {\r\n var $container = $(e.target).closest(\".vessel-group-list-item\");\r\n self.editVesselGroupError(\"\");\r\n self.editedVesselGroupName(vesselGroup.name);\r\n self.editingVesselGroup(vesselGroup);\r\n\r\n var $input = $container.find(\"input\");\r\n $input.focus();\r\n $input.select();\r\n }.bind(self);\r\n\r\n self.doneEditVesselGroup = function() {\r\n var editedVesselGroup = _.clone(self.editingVesselGroup());\r\n editedVesselGroup.name = self.editedVesselGroupName();\r\n\r\n self.editVesselGroupError(\"\");\r\n var vesselGroupNameError = getVesselGroupNameError(editedVesselGroup.name);\r\n if (vesselGroupNameError) {\r\n self.editVesselGroupError(vesselGroupNameError);\r\n return;\r\n }\r\n\r\n self.isEditingVesselGroup(true);\r\n vesselGroupsClient.update(editedVesselGroup).always(function() {\r\n self.isEditingVesselGroup(false);\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n }.bind(self);\r\n\r\n self.cancelEditVesselGroup = function() {\r\n self.editingVesselGroup(null);\r\n }.bind(self);\r\n\r\n self.startRemoveVesselGroup = function(vesselGroup) {\r\n self.removingVesselGroup(vesselGroup);\r\n }.bind(self);\r\n\r\n self.isLoading = ko.pureComputed(function() {\r\n var isLoadingVessels = self.isLoadingVessels();\r\n var isLoadingVesselGroups = self.isLoadingVesselGroups();\r\n return isLoadingVessels || isLoadingVesselGroups;\r\n });\r\n\r\n self.addVesselToGroup = function(vessel) {\r\n var selectedVesselGroup = self.selectedVesselGroup();\r\n vesselGroupsClient.addVesselToGroup(vessel, selectedVesselGroup);\r\n }.bind(self);\r\n\r\n self.removeVesselFromGroup = function(vessel) {\r\n var selectedVesselGroup = self.selectedVesselGroup();\r\n vesselGroupsClient.removeVesselFromGroup(vessel, selectedVesselGroup);\r\n }.bind(self);\r\n\r\n self.removeVesselGroup = function() {\r\n var self = this;\r\n var vesselGroup = self.removingVesselGroup();\r\n vesselGroupsClient.remove(vesselGroup).always(function() {\r\n self.removingVesselGroup(null);\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n }.bind(self);\r\n\r\n self.vesselsInSelectedVesselGroup = ko.pureComputed(function() {\r\n var selectedVesselGroup = self.selectedVesselGroup();\r\n var vessels = self.vessels();\r\n if (!selectedVesselGroup) return [];\r\n\r\n var vesselsInSelectedVesselGroup = _.filter(vessels, function(vessel) {\r\n return _.contains(selectedVesselGroup.vesselIds, vessel.id);\r\n });\r\n\r\n return _.sortBy(vesselsInSelectedVesselGroup, \"name\");\r\n });\r\n\r\n self.vesselsNotInSelectedVesselGroup = ko.pureComputed(function() {\r\n var vesselsInSelectedVesselGroup = self.vesselsInSelectedVesselGroup();\r\n var vessels = self.vessels();\r\n\r\n var vesselsNotInSelectedVesselGroup = _.filter(vessels, function(vessel) {\r\n return !_.contains(vesselsInSelectedVesselGroup, vessel);\r\n });\r\n\r\n return _.sortBy(vesselsNotInSelectedVesselGroup, \"name\");\r\n });\r\n\r\n self.sortedVesselGroups = ko.pureComputed(function() {\r\n var vesselGroups = self.vesselGroups();\r\n return _.sortBy(vesselGroups, \"name\");\r\n });\r\n\r\n self.vesselGroupCreatedBinding = events.vesselGroupCreated.add(function(createdVesselGroup) {\r\n self.vesselGroups.push(createdVesselGroup);\r\n self.selectedVesselGroup(createdVesselGroup);\r\n });\r\n\r\n self.vesselGroupUpdatedBinding = events.vesselGroupUpdated.add(function(updatedVesselGroup) {\r\n var oldVesselGroup = _.find(self.vesselGroups(), function(vesselGroup) {\r\n return vesselGroup.id === updatedVesselGroup.id;\r\n });\r\n self.vesselGroups.replace(oldVesselGroup, updatedVesselGroup);\r\n\r\n var editingVesselGroup = self.editingVesselGroup();\r\n if (editingVesselGroup && editingVesselGroup.id === updatedVesselGroup.id) {\r\n self.editingVesselGroup(null);\r\n }\r\n\r\n var selectedVesselGroup = self.selectedVesselGroup();\r\n if (selectedVesselGroup && selectedVesselGroup.id === updatedVesselGroup.id) {\r\n self.selectedVesselGroup(updatedVesselGroup);\r\n }\r\n });\r\n\r\n self.vesselGroupDeletedBinding = events.vesselGroupDeleted.add(function(deletedVesselGroup) {\r\n self.vesselGroups.remove(deletedVesselGroup);\r\n if (self.selectedVesselGroup() === deletedVesselGroup) {\r\n self.selectedVesselGroup(null);\r\n }\r\n });\r\n\r\n self.load();\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n this.vesselGroupCreatedBinding.detach();\r\n this.vesselGroupUpdatedBinding.detach();\r\n this.vesselGroupDeletedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function() {\r\n this.loadVessels();\r\n this.loadVesselGroups();\r\n};\r\n\r\nViewModel.prototype.loadVessels = function() {\r\n var self = this;\r\n self.isLoadingVessels(true);\r\n vesselsClient.getVessels().done(function(data) {\r\n self.vessels(data);\r\n }).always(function() {\r\n self.isLoadingVessels(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.loadVesselGroups = function() {\r\n var self = this;\r\n self.isLoadingVesselGroups(true);\r\n vesselGroupsClient.getAll().done(function(data) {\r\n self.vesselGroups(data);\r\n }).always(function() {\r\n self.isLoadingVesselGroups(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.createVesselGroup = function() {\r\n var self = this;\r\n var newVesselGroup = {\r\n name: self.newVesselGroupName(),\r\n };\r\n\r\n self.createVesselGroupError(\"\");\r\n var vesselGroupNameError = getVesselGroupNameError(newVesselGroup.name);\r\n if (vesselGroupNameError) {\r\n self.createVesselGroupError(vesselGroupNameError);\r\n return;\r\n }\r\n\r\n self.isCreatingVesselGroup(true);\r\n vesselGroupsClient.create(newVesselGroup).done(function() {\r\n self.newVesselGroupName(\"\");\r\n }).always(function() {\r\n self.isCreatingVesselGroup(false);\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.handleError = function (error) {\r\n if (error && error.responseJSON && error.responseJSON.message) {\r\n this.error(error.responseJSON.message);\r\n } else {\r\n this.error(\"An error occurred.\");\r\n }\r\n events.errorEvent.dispatch(error);\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABvBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNC0wNS0wOVQwODoxNjo0NC0wNDowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxNC0wNS0wOVQxMjoxNzozNi0wNDowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTQtMDUtMDlUMTI6MTc6MzYtMDQ6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExMzdBRkNFQ0VEQjExRTM5MTNBQkEyM0JCOUMxNEY5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjExMzdBRkNGQ0VEQjExRTM5MTNBQkEyM0JCOUMxNEY5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6RDc5OEU0N0FDNTIwNjgxMTg4QzY4MzczMzAwMkU2RTciPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3IiBzdEV2dDp3aGVuPSIyMDE0LTA1LTA5VDA4OjE2OjQ0LTA0OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpEODk4RTQ3QUM1MjA2ODExODhDNjgzNzMzMDAyRTZFNyIgc3RFdnQ6d2hlbj0iMjAxNC0wNS0wOVQwODoxNzoxNC0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RDk5OEU0N0FDNTIwNjgxMTg4QzY4MzczMzAwMkU2RTciIHN0RXZ0OndoZW49IjIwMTQtMDUtMDlUMDg6MTc6MTQtMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUuMSBNYWNpbnRvc2giIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ5OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ3OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uvQJhAAAAS5JREFUeNpi/P//PwM1ASM2QdUJiQJAqgCI/YHYAE36AhBvBOIJtwvmfyBoINAwkEH1QCxAwDEgwxqBhk7AaSDQsPlAKoFEXy4AGpoI4zAjGdYPpDLICDYDYQ9DgXc7LuyEuxBomAOQ2g9TsSS4nMFMRh2vKaee3GSIWduJLOQIdOkBJiinngoRDDaDEeg6UCyeR5bRFJVj4GPnArM1RGUZqu0iwezWQ8sZbrx+DGZ/+vmN4frrR+iGGrIACQd0USwKwQBk2MknN/C50oGJiORBChBgYqAyoImBH6ho3geQgQeoaOABJmBivEAlQw+AzIKFYSMVDGxEKRygebkAXRUogYMSOix9ghI0FgAqygppW9qAALDE2AgsOT4CmRZAzEFEeVgJNKySpiU2QIABAH+YaOL1Kv1oAAAAAElFTkSuQmCC\"","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/cii-widget-tableview.4be1326a.png\";","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Event type\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageDashboardsDialog.vue?vue&type=style&index=0&id=433d8557&scoped=true&lang=scss&\"","// Module\nvar code = \"
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    0 && count() < maxVariables()\\\">\\r\\n
    \\r\\n
    \\r\\n = maxVariables()\\\">\\r\\n Maximum items reached.\\r\\n \\r\\n
    \\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 select any items you want to plot. If you want to plot multiple variables in the same chart use the Group button.\\r\\n To clear all selected variables and groups, press the Clear button.\\r\\n \\r\\n \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{style:({ zIndex: _vm.options.zIndex }),attrs:{\"max-width\":_vm.options.width},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.cancel.apply(null, arguments)}},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":_vm.options.color,\"dense\":\"\",\"flat\":\"\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])],1),_c('v-card-text',{directives:[{name:\"show\",rawName:\"v-show\",value:(!!_vm.message),expression:\"!!message\"}],staticClass:\"pa-4 black--text\",domProps:{\"innerHTML\":_vm._s(_vm.message)}}),_c('v-card-actions',{staticClass:\"pt-3\"},[_c('v-spacer'),(!_vm.options.noconfirm)?_c('v-btn',{attrs:{\"color\":\"grey\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.cancel.apply(null, arguments)}}},[_vm._v(\"Cancel\")]):_vm._e(),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.confirm.apply(null, arguments)}}},[_vm._v(\"OK\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component\nexport default class ConfirmDialog extends Vue {\n dialog = false;\n resolve!: any;\n reject!: any;\n message: string | null = null;\n title: string | null = null;\n options = {\n color: \"primary\",\n width: 400,\n zIndex: 200,\n noconfirm: false,\n };\n\n open(title: string, message: string, options: unknown): Promise {\n this.dialog = true;\n this.title = title;\n this.message = message;\n this.options = Object.assign(this.options, options);\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n confirm(): void {\n this.resolve(true);\n this.dialog = false;\n }\n\n cancel(): void {\n this.resolve(false);\n this.dialog = false;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=bc11f25c&\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConfirmDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VSpacer,VToolbar,VToolbarTitle})\n","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    \\r\\n \\r\\n Please provide the following information in order to download the emission report template:\\r\\n

      \\r\\n
    • \\r\\n Flow meter with manual input or a fuel tank.\\r\\n
    • \\r\\n
    • \\r\\n Which cargo unit(s) the vessel is typically carrying.\\r\\n
    • \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n Generate Excel Template\\r\\n \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \";\n// Exports\nmodule.exports = code;","import net from \"@/Scripts/app/net\";\r\nimport Store from \"@/store\";\r\n\r\nvar VesselsClient = function() {\r\n\r\n};\r\n\r\nVesselsClient.prototype.get = function(vesselId) {\r\n return net.get(\"/Vessels/\" + vesselId);\r\n};\r\n\r\nVesselsClient.prototype.getVessels = function () {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Vessels\" : \"/Vessels\";\r\n return net.get(url);\r\n};\r\n\r\nVesselsClient.prototype.getExtendedVessels = function () {\r\n return net.get(\"/Vessels/Extended\");\r\n};\r\n\r\nVesselsClient.prototype.updateVesselDraft = function (id, draft) {\r\n const draftMean = {\r\n draftMean: draft,\r\n };\r\n return net.put(\"/Vessels/\" + id + \"/Draft\", draftMean);\r\n};\r\n\r\nVesselsClient.prototype.updateVessel = function (vessel) {\r\n return net.put(`/Vessels/${vessel.id}`, vessel);\r\n};\r\n\r\nVesselsClient.prototype.getVesselVoyages = function (id) {\r\n return net.get(\"/Vessel/\" + id + \"/Voyages\");\r\n}\r\n\r\nexport default new VesselsClient();\r\n","// Module\nvar code = \"

    Data import status

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

    \\r\\n

    \\r\\n
    \\r\\n \\r\\n seconds\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n

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

    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n Last \\r\\n \\r\\n days\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n Total log data points:
    \\r\\n Total hours spent:
    \\r\\n Total hours spent on log 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

    Vessels being imported

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    IMOCurrent import\\r\\n Pending paths\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n Manual benchmark level is: \\r\\n % compared to baseline\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n

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

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

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

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/danelec-connect_negative.59ed434a.svg\";","// Module\nvar code = \"
    \\r\\n

    Zoom all graphs

    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/help-curves.3df19073.webp\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=style&index=0&lang=scss&\"","// Module\nvar code = \"\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/kyma-logos/kymalogo-only-blue.svg\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n

    API keys expired, please contact Danelec for assistance

    \\r\\n support@danelec.com\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\\"Logo\\r\\n

    Data Analysis

    \\r\\n

    Please select a vessel to get started

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/vessels/green.png\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"@/assets/images/vessels/orange.png\");\nvar ___HTML_LOADER_IMPORT_2___ = require(\"@/assets/images/vessels/red.png\");\nvar ___HTML_LOADER_IMPORT_3___ = require(\"@/assets/images/vessels/blue.png\");\nvar ___HTML_LOADER_IMPORT_4___ = require(\"@/assets/images/vessels/gray.png\");\nvar ___HTML_LOADER_IMPORT_5___ = require(\"@/assets/images/gps-up.png\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar ___HTML_LOADER_REPLACEMENT_3___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_3___);\nvar ___HTML_LOADER_REPLACEMENT_4___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_4___);\nvar ___HTML_LOADER_REPLACEMENT_5___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_5___);\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"green\\\"\\r\\n
    \\r\\n
    Ok
    \\r\\n\\r\\n
    \\r\\n \\\"Orange\\\"\\r\\n
    \\r\\n
    Observe
    \\r\\n\\r\\n
    \\r\\n \\\"Red\\\"\\r\\n
    \\r\\n
    Not ok
    \\r\\n\\r\\n
    \\r\\n \\\"Blue\\\"\\r\\n
    \\r\\n
    Benchmarking
    \\r\\n\\r\\n
    \\r\\n \\\"Gray\\\"\\r\\n
    \\r\\n
    Performance status N/A
    \\r\\n\\r\\n
    \\r\\n \\\"Black\\\"\\r\\n
    \\r\\n
    Previous positions
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import signals from \"signals\";\r\n\r\nexport default {\r\n longTrendUpdated: new signals.Signal(),\r\n showTooltip: new signals.Signal(),\r\n closeTooltip: new signals.Signal(),\r\n repositionTooltip: new signals.Signal(),\r\n vesselEventSelected: new signals.Signal(),\r\n showModal: new signals.Signal(),\r\n closeModal: new signals.Signal(),\r\n modalClosed: new signals.Signal(),\r\n curveCreated: new signals.Signal(),\r\n curveUpdated: new signals.Signal(),\r\n curveDeleted: new signals.Signal(),\r\n curvePlotCreated: new signals.Signal(),\r\n curvePlotUpdated: new signals.Signal(),\r\n curvePlotDeleted: new signals.Signal(),\r\n curvePlotSelected: new signals.Signal(),\r\n curvePlotSpecified: new signals.Signal(),\r\n editCurveStart: new signals.Signal(),\r\n editCurveDone: new signals.Signal(),\r\n filterGroupEmpty: new signals.Signal(),\r\n menuItemClick: new signals.Signal(),\r\n vesselAdministrationUpdated: new signals.Signal(),\r\n findDataReceiver: new signals.Signal(),\r\n vesselDeleted: new signals.Signal(),\r\n vesselArraySorted: new signals.Signal(),\r\n retryImport: new signals.Signal(),\r\n removeImport: new signals.Signal(),\r\n flowMeterDeleted: new signals.Signal(),\r\n flowMeterFuelConsumptionUpdated: new signals.Signal(),\r\n flowMeterFuelConsumptionDeleted: new signals.Signal(),\r\n flowMeterFuelConsumptionSelected: new signals.Signal(),\r\n overlappingFuelConsumptionUpdated: new signals.Signal(),\r\n voyageUpdated: new signals.Signal(),\r\n voyageCreated: new signals.Signal(),\r\n plotLineDateSelected: new signals.Signal(),\r\n dateSelectStarted: new signals.Signal(),\r\n dateSelectEnded: new signals.Signal(),\r\n vesselEventCreated: new signals.Signal(),\r\n vesselEventUpdated: new signals.Signal(),\r\n vesselEventDeleted: new signals.Signal(),\r\n voyageVesselEventUpdated: new signals.Signal(),\r\n vesselEventCargoDetailDeleted: new signals.Signal(),\r\n fuelTankDeleted: new signals.Signal(),\r\n fuelTankSoundingDeleted: new signals.Signal(),\r\n fuelTankOperationCreated: new signals.Signal(),\r\n fuelTankOperationDeleted: new signals.Signal(),\r\n flowMeterOperationDeleted: new signals.Signal(),\r\n departureSelected: new signals.Signal(),\r\n fuelTypeDeleted: new signals.Signal(),\r\n viewReport: new signals.Signal(),\r\n vesselFileUploaded: new signals.Signal(),\r\n curvePredictionUpdated: new signals.Signal(),\r\n notificationConditionCreated: new signals.Signal(),\r\n notificationConditionUpdated: new signals.Signal(),\r\n notificationConditionRemoved: new signals.Signal(),\r\n notificationChannelRemoved: new signals.Signal(),\r\n filteredVesselsChanged: new signals.Signal(),\r\n vesselGroupCreated: new signals.Signal(),\r\n vesselGroupUpdated: new signals.Signal(),\r\n vesselGroupDeleted: new signals.Signal(),\r\n compareGroupClicked: new signals.Signal(),\r\n compareVesselsSelected: new signals.Signal(),\r\n navigatedHome: new signals.Signal(),\r\n companyAdd: new signals.Signal(),\r\n companyEdit: new signals.Signal(),\r\n companyDelete: new signals.Signal(),\r\n companyView: new signals.Signal(),\r\n companyViewAs: new signals.Signal(),\r\n companyOnCreated: new signals.Signal(),\r\n companyOnUpdated: new signals.Signal(),\r\n companyOnRemoved: new signals.Signal(),\r\n vesselAccessGroupAdd: new signals.Signal(),\r\n vesselAccessGroupEdit: new signals.Signal(),\r\n vesselAccessGroupRename: new signals.Signal(),\r\n vesselAccessGroupDelete: new signals.Signal(),\r\n vesselAccessGroupOnCreated: new signals.Signal(),\r\n vesselAccessGroupOnUpdated: new signals.Signal(),\r\n vesselAccessGroupOnDeleted: new signals.Signal(),\r\n userAdd: new signals.Signal(),\r\n userEdit: new signals.Signal(),\r\n userDelete: new signals.Signal(),\r\n userView: new signals.Signal(),\r\n userManageApiKey: new signals.Signal(),\r\n userOnCreated: new signals.Signal(),\r\n userOnCreatedFailed: new signals.Signal(),\r\n userOnCreatedAlreadyExist: new signals.Signal(),\r\n userOnUpdated: new signals.Signal(),\r\n userOnRemoved: new signals.Signal(),\r\n userOnFailed: new signals.Signal(),\r\n viewPdf: new signals.Signal(),\r\n closePdf: new signals.Signal(),\r\n vesselFileDownload: new signals.Signal(),\r\n updateLoaderText: new signals.Signal(),\r\n presetChanged: new signals.Signal(),\r\n createEvent: new signals.Signal(),\r\n editEvent: new signals.Signal(),\r\n deleteEvent: new signals.Signal(),\r\n errorEvent: new signals.Signal(),\r\n updateEventList: new signals.Signal(),\r\n showDiagnosticsDetails: new signals.Signal(),\r\n};\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Action, Mutation } from \"vuex-module-decorators\";\r\nimport ShapoliClient from \"Clients/shapoli-client\";\r\nimport { ShapoliBreach } from \"@/types/ShapoliBreach\";\r\nimport { ShapoliEvent } from \"@/types/ShapoliEvent\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Shapoli\" })\r\nclass Shapoli extends VuexModule {\r\n private _events: ShapoliEvent[] | null = null;\r\n private _breaches: ShapoliBreach[] | null = null;\r\n\r\n // @Getters\r\n public get events(): ShapoliEvent[] | null {\r\n return this._events;\r\n }\r\n\r\n public get breaches(): ShapoliBreach[] | null {\r\n return this._breaches;\r\n }\r\n\r\n // @Actions\r\n @Action({ rawError: true })\r\n public async fetchBreaches(query: { vesselId: string | number; year: number | null; }): Promise {\r\n try {\r\n const breaches = await ShapoliClient.getBreaches(query);\r\n this.context.commit(\"SET_BREACHES\", breaches);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch breaches\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchBreachDetails(query: { vesselId: string | number; fromDate: string; toDate: string; }): Promise {\r\n try {\r\n return await ShapoliClient.getBreachDetails(query);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch breach details\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchEvents(query: { vesselId: string | number; year: number | null; }): Promise {\r\n try {\r\n const events = await ShapoliClient.getEvents(query);\r\n this.context.commit(\"SET_EVENTS\", events);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch events\", error });\r\n }\r\n }\r\n\r\n // @Mutations\r\n @Mutation\r\n public SET_EVENTS(events: ShapoliEvent[]): void {\r\n this._events = events;\r\n }\r\n\r\n @Mutation\r\n public SET_BREACHES(breaches: ShapoliBreach[]): void {\r\n this._breaches = breaches;\r\n }\r\n}\r\n\r\nexport default Shapoli;","// Module\nvar code = \"\\r\\n
    \\r\\n Home\\r\\n > Compare\\r\\n
    \\r\\n\\r\\n

    Compare Vessels - Overview

    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n Home\\r\\n >\\r\\n Compare\\r\\n > Details\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n Parameters may be excluded from the overall performance status by clearing the appropriate checkbox\\r\\n

    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    Data filter:

    \\r\\n
    \\r\\n \\r\\n Filter min & max\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n Filter outliers\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Please select at least 1 item.
    \\r\\n There was an error when trying to update the configuration.\\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar VesselPerformanceStatusesClient = function () {\r\n\r\n};\r\n\r\nVesselPerformanceStatusesClient.prototype.get = function (vesselId) {\r\n return net.get(\"/VesselPerformanceStatuses/\" + vesselId);\r\n};\r\n\r\nexport default new VesselPerformanceStatusesClient();","import template from \"./tree-select.html\";\r\nimport treeMaker from \"Utilities/kognifai-variable-tree\";\r\nimport ko from \"knockout\";\r\n\r\n/**\r\n * Context-menu style presentation of variables.\r\n * @param {Object} variables - ko.observableArray of the variables.\r\n * @param {Object} selectedId - ko.observable string. Id of selected item\r\n * @param {Object} selected - ko.pureComputed function that returns currently selected item.\r\n */\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.variableTree = ko.observable(treeMaker.makeTree(ko.unwrap(params.variables), \"|\"));\r\n self.selectedId = params.selectedId;\r\n self.selectedItem = ko.observable();\r\n self.menuOpen = ko.observable(false);\r\n self.menuVisible = ko.observable(false);\r\n self.safetyMargin = 30;\r\n\r\n if (params.selected)\r\n self.selectedItem(ko.unwrap(params.selected));\r\n\r\n self.selectItem = function (data) {\r\n self.selectedItem(data.payload);\r\n self.selectedId(data.payload.id);\r\n self.closeMenu();\r\n };\r\n\r\n self.selectedItemName = ko.pureComputed(function () {\r\n if (self.selectedItem())\r\n return self.selectedItem().name;\r\n return \"select\";\r\n }, this);\r\n\r\n self.closeMenu = function () {\r\n self.menuOpen(false);\r\n self.menuVisible(false);\r\n };\r\n\r\n self.toggleMenu = function (data, event) {\r\n if (self.menuOpen()) {\r\n self.menuOpen(false);\r\n self.menuVisible(false);\r\n } else {\r\n self.menuOpen(true);\r\n self.positionMenu(event); \r\n }\r\n };\r\n\r\n //opens the menu as a context menu, 5px right of the pointer. \r\n self.positionMenu = function (event) {\r\n var $menu = $(event.target).next();\r\n var menuHeight = $menu.height();\r\n var windowHeight = $(window).height() - self.safetyMargin;\r\n var top = event.clientY;\r\n var left = event.clientX + 5;\r\n \r\n //move menu up if it clips out of frame\r\n if (event.clientY + menuHeight > windowHeight) {\r\n var difference = (event.clientY + menuHeight) - windowHeight;\r\n top = event.clientY - difference;\r\n }\r\n\r\n var styles = {\r\n top: top + \"px\",\r\n left: left + \"px\",\r\n };\r\n\r\n $menu.css(styles);\r\n //adds class 'visible' to element which animates it in with opacity and transform\r\n self.menuVisible(true);\r\n };\r\n\r\n //make sure selected submenu is fully inside viewport. Because the submenus are positioned\r\n //relative to the tree-select parent and not viewport, we use $el.position() to set new positions.\r\n self.positionSubMenu = function (data, event) {\r\n var $el = $(event.target).find( \"[data-jqposition]\" ).first();\r\n if (!$el.length)\r\n return;\r\n\r\n var windowHeight = $(window).height();\r\n var windowWidth = $(window).width();\r\n var rect = $el[0].getBoundingClientRect();\r\n var availableHeight = windowHeight - (self.safetyMargin * 2);\r\n var availableBottom = windowHeight - self.safetyMargin;\r\n\r\n //Menu is clipping outside of the left side of viewport\r\n //Move menu to right side\r\n if (rect.left + rect.width > windowWidth) {\r\n var styles = {\r\n right:\"100%\",\r\n left: \"unset\",\r\n };\r\n $el.css(styles);\r\n } \r\n\r\n //Menu is taller than max allowed height. We set height that fits viewport + a little padding.\r\n //We set a negative margin-right corresponding to scrollbar-width so we don't break hover on the scrollbar\r\n if (rect.height > availableHeight) {\r\n var delta = self.safetyMargin - rect.top;\r\n var top = $el.position().top + delta;\r\n var styles = {\r\n height: availableHeight + \"px\",\r\n };\r\n $el.children().css(styles);\r\n $el.css(\"top\", top + \"px\");\r\n return;\r\n }\r\n\r\n //Menu is poking below viewport. We move it up so it's bottom aligns with the viewport bottom padding.\r\n if (rect.bottom > availableBottom) {\r\n var delta = rect.bottom - availableBottom;\r\n var top = $el.position().top - delta;\r\n $el.css(\"top\", top + \"px\");\r\n return;\r\n } \r\n };\r\n}\r\n\r\nexport default { viewModel: ViewModel, template: template };","module.exports = __webpack_public_path__ + \"img/danelec-square-original.06c2b688.svg\";","// Module\nvar code = \"\\r\\n

    Vessel access groups

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

    Manage vessel access group ''

    \\r\\n\\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 vessel access group

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

    Rename vessel access group

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

    Remove access group

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Are you sure you want to permanently delete the access group ''?\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/help-prediction.4c3b6035.webp\";","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    TimestampFuel typeFuel
    density (at 15°C)
    Fuel
    bunkered/de-bunkered (MT)
    Sulphur content (%)
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAcCAMAAACAobU3AAAAolBMVEUAAAD7sjj7sTX7sDH92qD92Jv6ri76ri/6rzD7sDP7sDP6pxz6pxz6pxz93qn90438xWn6rCn7wFv7tkP7tUH6rzD6rzD7sTX7sDP6sDL7sDP6rzD6rzD6ri76qiX6qSD6pxz6pxz////6pxz+9OP//vv8w2P6rCf//Pf/+/T/9un804394rT94K76rzD6ri7+8+D+7tP+68v+5r/8xmz6qB+39mH5AAAAInRSTlMA7fDv/v7t59i4nigeE/799fX08+/p5LOkl5WJg3NOMh0Gg7ugCAAAAJJJREFUGNO9zkUWg0AURNGPEyTunqIVje5/a6HDYcIC8kZ3UIOiQbfN7Nh7NOHzQ8fTFFCLs2FiawB3PzWLEkpoeFuieAm8PwLcTiiq8JKZLDHe0UqhkY2UXAdkAzljLAdsstBnDcwLIUTBf2aZif3dvG5Zmw8OkLuFx8zn8ImuR0ix7+pWqnIuROl+7VhWEF3pC5K0HohQeyR9AAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"img/help-plot.627e92ea.webp\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAaNJREFUeNpiZMAB1CYkKQCpACDWB2IFqPADIL4IxBtuFcx7gE0fIw6D6oE4gQE/WADEjegGM6IZ5gCk1gOxAANx4AMQJwIN3YBhINSw/QzkgUCYoYxQw0Auuk+Cy7C51BDkfSaoQD8phsUbujJoisohCwlAw52BEeq698QaFqRlzdDumsTw6ec3hri13QzXXz9ClhZkgiYNooCZjDrYMDwggAkpjcGBi7IhAx87F4oYyItTfXLg/PZDK9BdBwIKIAPl0b0E0rgouBRuqDSfCAq/cvc8hnXXjmJzoT0TNIbgIM7ABe6iSrsIsCFTfbLhhi08vxuXYeDYBhn4EcVApIAGuXZvYic8RkEGtQG9igdcBBl4AVkEFHuVu+eDaRCAuQxkCcirBMAFWMJ+j54OQa6ChRvIMJDLYZbgSdyKsIQ9EV0W5iKQIdlbphIyDGwGMKd8QM5657ElISLBA2jWA0cKA4gByuDoMU5CPg6EmsEA8zLIUFDkOEJtI8VljlC9OAtYkPcLgDgfT4HxARruE2Auw2kglgLXAU34ANCQA7j0AAQYADiBobRmfmESAAAAAElFTkSuQmCC\"","import store from \"@/store\";\r\n\r\nexport default function authHeader(): unknown {\r\n const acessToken = store.getters[\"Auth/getAccessToken\"];\r\n if (acessToken) {\r\n return { Authorization: \"Bearer \" + acessToken };\r\n } else {\r\n return {};\r\n }\r\n}\r\n","import net from \"App/net\";\r\n\r\nvar VesselHistoriesClient = function() {\r\n};\r\n\r\nVesselHistoriesClient.prototype.getVesselHistoryAdditionals = function(vesselHistoryId) {\r\n return net.get(\"/VesselHistoryAdditional/Find/\" + vesselHistoryId);\r\n};\r\n\r\nVesselHistoriesClient.prototype.getVesselHistories = function (vesselId, fromDate, toDate) {\r\n var filter = {\r\n vesselId: vesselId,\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n };\r\n return net.get(\"/VesselHistories/Find\", filter);\r\n};\r\n\r\nVesselHistoriesClient.prototype.getLatestVesselHistory = function (vesselId) {\r\n return net.get(\"/VesselHistories/Latest/\" + vesselId);\r\n};\r\n\r\nexport default new VesselHistoriesClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport VesselHistoriesClient from \"Clients/vessel-histories-client\";\r\nimport { VesselHistories, VesselHistory, VesselHistoryAdditional } from \"@/types/vesselHistory\";\r\nimport moment from \"moment\";\r\nimport { Vessel } from \"@/types/Vessel\";\r\n\r\n@Module({ namespaced: true, name: \"VesselsHistories\" })\r\nclass VesselsHistories extends VuexModule {\r\n //all stored vessel histories for all vessels\r\n private _vesselsHistories: VesselHistories[] = [];\r\n\r\n @Mutation\r\n public ADD_VESSEL_HISTORIES(vesselHistories: VesselHistories): void {\r\n this._vesselsHistories.push(vesselHistories);\r\n }\r\n\r\n //loads vessel histories from store if stored, else from database\r\n @Action({ rawError: true })\r\n public async getVesselHistories(input: { vessel: Vessel; timespan: number }): Promise {\r\n const vesselId = input.vessel.id;\r\n const timespan = input.timespan;\r\n\r\n let data = this._vesselsHistories.find(\r\n vesselHistories => vesselHistories.vesselId === vesselId,\r\n );\r\n\r\n if (!data) {\r\n const toDate = moment(input.vessel.lastExportDate);\r\n const fromDate = toDate.clone().subtract(timespan, \"days\");\r\n\r\n try {\r\n data = {\r\n vesselHistories: await VesselHistoriesClient.getVesselHistories(\r\n vesselId,\r\n fromDate.format(\"YYYY-MM-DDTHH:mm:ss[Z]\"),\r\n toDate.format(\"YYYY-MM-DDTHH:mm:ss[Z]\"),\r\n ),\r\n vesselId,\r\n timespan,\r\n };\r\n } catch (err) {\r\n data = {\r\n vesselHistories: [],\r\n vesselId,\r\n timespan,\r\n };\r\n\r\n console.warn((err as any).statusText);\r\n }\r\n\r\n this.context.commit(\"ADD_VESSEL_HISTORIES\", data);\r\n }\r\n\r\n return data;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getLatestVesselHistory(vesselId: number): Promise {\r\n try {\r\n return await VesselHistoriesClient.getLatestVesselHistory(vesselId);\r\n } catch (error) {\r\n return Promise.reject(`Failed to load latest vessel history: ${error}`);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getVesselHistoryAdditionals(vesselHistoryId: number): Promise {\r\n try {\r\n const vesselHistoryAdditionals = await VesselHistoriesClient.getVesselHistoryAdditionals(vesselHistoryId);\r\n return vesselHistoryAdditionals;\r\n } catch (error) {\r\n return Promise.reject(`Failed to load vessel history additional information: ${error}`);\r\n }\r\n }\r\n\r\n public get vesselsHistories(): VesselHistories[] {\r\n return this._vesselsHistories;\r\n }\r\n}\r\n\r\nexport default VesselsHistories;\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n Port of\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n []\\r\\n (MRV Port of Call)\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n []\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    0\\\">\\r\\n It looks like it could be one of the following ports, please select the correct one:
    \\r\\n

    \\r\\n

    \\r\\n

    \\r\\n Based on your input, we will search for matching ports and display them here.\\r\\n

    \\r\\n

    \\r\\n searching...\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"colorBackground\",attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[_c('v-card',{staticClass:\"mx-auto login-card\",attrs:{\"max-width\":\"350px\",\"width\":\"100%\"}},[_c('v-img',{attrs:{\"src\":require(\"@/assets/images/danelec-logos/danelec-square-original.svg\"),\"height\":\"250\"}}),(!_vm.forgotPassword)?_c('v-form',{staticClass:\"mt-2\",attrs:{\"id\":\"login-form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleLogin.apply(null, arguments)}},model:{value:(_vm.validLogin),callback:function ($$v) {_vm.validLogin=$$v},expression:\"validLogin\"}},[_c('v-card-text',[_c('v-text-field',{class:{ 'v-input--autofilled': _vm.isUsernameAutofilled },attrs:{\"label\":\"Username\",\"name\":\"username\",\"prepend-icon\":\"mdi-account\",\"rules\":[_vm.usernameRules.required],\"type\":\"email\"},model:{value:(_vm.user.username),callback:function ($$v) {_vm.$set(_vm.user, \"username\", $$v)},expression:\"user.username\"}}),_c('v-text-field',{class:{ 'v-input--autofilled': _vm.isPasswordAutofilled },attrs:{\"label\":\"Password\",\"name\":\"password\",\"prepend-icon\":\"mdi-lock\",\"append-icon\":_vm.showPassword ? 'mdi-eye' : 'mdi-eye-off',\"rules\":[_vm.passwordRules.required],\"type\":_vm.showPassword ? 'text' : 'password'},on:{\"click:append\":function($event){_vm.showPassword = !_vm.showPassword}},model:{value:(_vm.user.password),callback:function ($$v) {_vm.$set(_vm.user, \"password\", $$v)},expression:\"user.password\"}}),_c('v-checkbox',{attrs:{\"light\":\"light\",\"label\":\"Remember me\",\"hide-details\":\"hide-details\"},model:{value:(_vm.user.persist),callback:function ($$v) {_vm.$set(_vm.user, \"persist\", $$v)},expression:\"user.persist\"}}),(_vm.message)?_c('v-alert',{staticClass:\"mb-0 mt-2\",attrs:{\"outlined\":\"\",\"type\":\"error\",\"dense\":\"\",\"border\":\"left\"}},[_vm._v(_vm._s(_vm.message)+\" \")]):_vm._e()],1),_c('v-card-actions',[_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('div',{staticClass:\"my-2\"},[_c('v-btn',{attrs:{\"type\":\"submit\",\"form\":\"login-form\",\"color\":\"primary\",\"block\":\"\",\"loading\":_vm.loading,\"disabled\":!_vm.validLogin}},[_vm._v(\"Log in \")])],1),_c('v-btn',{attrs:{\"color\":\"primary\",\"small\":\"\",\"text\":\"\"},on:{\"click\":function($event){_vm.forgotPassword = true}}},[_vm._v(\"Forgot password \")])],1)],1)],1)],1):_vm._e(),(_vm.forgotPassword)?_c('v-form',{staticClass:\"mt-2\",attrs:{\"id\":\"forgot-password-form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleForgotPassword.apply(null, arguments)}},model:{value:(_vm.validResetPassword),callback:function ($$v) {_vm.validResetPassword=$$v},expression:\"validResetPassword\"}},[_c('v-card-text',[_c('v-card-title',{staticClass:\"justify-center mb-2 pt-0\"},[_vm._v(\"Forgot password\")]),_c('v-card-subtitle',{staticClass:\"text-center\"},[_vm._v(\"Enter your email and we will send you a link to reset your password.\")]),_c('v-text-field',{staticClass:\"mb-2\",attrs:{\"label\":\"Email\",\"name\":\"username\",\"prepend-icon\":\"mdi-email\",\"rules\":[_vm.emailRules.required, _vm.emailRules.valid],\"type\":\"text\"},model:{value:(_vm.forgotPasswordEmail),callback:function ($$v) {_vm.forgotPasswordEmail=$$v},expression:\"forgotPasswordEmail\"}}),(_vm.submittedEmail)?_c('v-alert',{attrs:{\"outlined\":\"\",\"type\":_vm.forgotPasswordAlertType,\"dense\":\"\",\"border\":\"left\"}},[_vm._v(_vm._s(_vm.forgotPasswordResponse)+\" \")]):_vm._e()],1),_c('v-card-actions',[_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('div',{staticClass:\"my-2\"},[_c('v-btn',{attrs:{\"type\":\"submit\",\"form\":\"forgot-password-form\",\"color\":\"primary\",\"block\":\"\",\"loading\":_vm.submittingEmail,\"disabled\":!_vm.validResetPassword}},[_vm._v(\"Reset password \")])],1),_c('v-btn',{attrs:{\"color\":\"primary\",\"small\":\"\",\"text\":\"\"},on:{\"click\":function($event){_vm.forgotPassword = false}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" Back to login \")],1)],1)],1)],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport store from \"@/store\";\nimport { getModule } from \"vuex-module-decorators\";\nimport AuthModule from \"@/store/clients/Auth.module\";\nimport { LoginData } from \"@/types/loginData\";\n\nconst Auth = getModule(AuthModule, store);\n\n@Component\nexport default class Login extends Vue {\n //data to send\n user: LoginData = { username: \"\", password: \"\", persist: true };\n //login form state\n validLogin = true;\n //reset password state\n validResetPassword = true;\n //state loading login\n loading = false;\n //error message if login fails\n message = \"\";\n //toggle input type to reveal password\n showPassword = false;\n //state toggle between login and forgot password screens\n forgotPassword = false;\n //data to send in forgot email\n forgotPasswordEmail = \"\";\n //state submittet forgot passwor email\n submittedEmail = false;\n //state submitting forgot passwor email\n submittingEmail = false;\n //alert is either success or error\n forgotPasswordAlertType = \"success\";\n //alert message after submitting forgot password email, fetched from network response\n forgotPasswordResponse = \"\";\n isUsernameAutofilled = false;\n isPasswordAutofilled = false;\n //input validation\n usernameRules = {\n required: (value: string) => !!value || \"Username required\",\n };\n emailRules = {\n required: (value: string) => !!value || \"Email required\",\n valid: (value: string) => /^([\\w\\.\\-\\+]+)@([\\w\\-]+)((\\.(\\w){2,6})+)$/.test(value) || \"Email must be valid\",\n };\n passwordRules = {\n required: (value: string) => !!value || \"Password required\",\n };\n\n get isLoggedIn(): boolean {\n return Auth.isLoggedIn;\n }\n\n created(): void {\n //redirect to frontpage if already logged in\n if (this.isLoggedIn) {\n this.$router.push(\"/\").catch(error => {});\n }\n }\n\n handleLogin(): void {\n this.loading = true;\n this.message = \"\";\n if (this.user.username && this.user.password) {\n Auth.login(this.user).then(\n data => {\n //we do the catch here to swallow an error thrown if user is redirected to kognifai\n this.$router.push(\"/\").catch(error => {});\n },\n error => {\n this.loading = false;\n this.message = error;\n }\n );\n }\n }\n\n handleForgotPassword(): void {\n this.forgotPasswordResponse = \"\";\n this.forgotPasswordAlertType = \"success\";\n this.submittedEmail = false;\n this.submittingEmail = true;\n Auth.lostPassword(this.forgotPasswordEmail).then(\n response => {\n this.forgotPasswordResponse = response;\n this.submittedEmail = true;\n this.submittingEmail = false;\n },\n error => {\n this.forgotPasswordAlertType = \"error\";\n this.forgotPasswordResponse = error.responseJSON;\n this.submittedEmail = true;\n this.submittingEmail = false;\n }\n );\n }\n\n checkAutofilledInputs(): void {\n setTimeout(() => {\n const usernameInput = document.querySelector(\"input[type='email']:-webkit-autofill\");\n const passwordInput = document.querySelector(\"input[type='password']:-webkit-autofill\");\n if (usernameInput) this.isUsernameAutofilled = true;\n if (passwordInput) this.isPasswordAutofilled = true;\n this.validLogin = true;\n }, 300);\n }\n\n mounted(): void {\n this.checkAutofilledInputs();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=8ea49e66&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=8ea49e66&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8ea49e66\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardSubtitle,VCardText,VCardTitle,VCheckbox,VCol,VContainer,VForm,VIcon,VImg,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"colorBackground\",attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[(!_vm.incompleteLink)?_c('v-card',{staticClass:\"mx-auto login-card\",attrs:{\"max-width\":\"350px\",\"width\":\"100%\"}},[_c('v-img',{attrs:{\"src\":require(\"@/assets/images/danelec-logos/danelec-square-original.svg\")}}),_c('v-form',{staticClass:\"mt-2\",attrs:{\"disabled\":_vm.submitting,\"id\":\"reset-password-form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleResetPassword.apply(null, arguments)}},model:{value:(_vm.isFormValid),callback:function ($$v) {_vm.isFormValid=$$v},expression:\"isFormValid\"}},[_c('v-card-text',[_c('v-card-title',{staticClass:\"justify-center mb-2 pt-0\"},[_vm._v(\"Create new password\")]),_c('v-card-subtitle',{staticClass:\"text-center\"},[_vm._v(\"Password must be at least \"+_vm._s(_vm.minimumPasswordLength)+\" characters\")]),(!_vm.submittedSuccess)?[_c('v-text-field',{staticClass:\"mb-2\",attrs:{\"label\":\"Enter a new password\",\"name\":Math.random(),\"autocomplete\":\"new-password\",\"prepend-icon\":\"mdi-lock-plus\",\"append-icon\":_vm.showPassword ? 'mdi-eye' : 'mdi-eye-off',\"rules\":[_vm.passwordRules.required, _vm.passwordRules.valid],\"type\":_vm.showPassword ? 'text' : 'password',\"hint\":'must be at least ' + _vm.minimumPasswordLength + ' characters'},on:{\"click:append\":function($event){_vm.showPassword = !_vm.showPassword}},model:{value:(_vm.payload.password),callback:function ($$v) {_vm.$set(_vm.payload, \"password\", $$v)},expression:\"payload.password\"}}),_c('v-text-field',{staticClass:\"mb-2\",attrs:{\"label\":\"Confirm password\",\"name\":Math.random(),\"autocomplete\":\"new-password-repeat\",\"prepend-icon\":_vm.passwordsEqualBool ? 'mdi-lock-check' : 'mdi-lock-question',\"type\":\"password\",\"rules\":[_vm.passwordsEqual]},model:{value:(_vm.repeatPassword),callback:function ($$v) {_vm.repeatPassword=$$v},expression:\"repeatPassword\"}})]:_vm._e(),(_vm.submitted)?_c('v-alert',{attrs:{\"outlined\":\"\",\"type\":_vm.alertType,\"dense\":\"\",\"border\":\"left\"}},[(_vm.alertType === 'error')?[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.errorResponse.title))]),_c('ul',_vm._l((_vm.errorResponse.messages),function(message,index){return _c('li',{key:index},[_vm._v(\" \"+_vm._s(message)+\" \")])}),0)]:[_vm._v(\" \"+_vm._s(_vm.response)+\" \")]],2):_vm._e()],2),_c('v-card-actions',[_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('div',{staticClass:\"my-2\"},[(!_vm.submittedSuccess)?_c('v-btn',{attrs:{\"type\":\"submit\",\"form\":\"reset-password-form\",\"color\":\"primary\",\"block\":\"\",\"loading\":_vm.submitting,\"disabled\":!_vm.isFormValid}},[_vm._v(\"Reset password \")]):_vm._e()],1),_c('v-btn',{attrs:{\"color\":\"primary\",\"small\":\"\",\"text\":\"\",\"link\":\"\",\"to\":\"/login\"}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" Back to login \")],1)],1)],1)],1)],1)],1):_vm._e(),(_vm.incompleteLink)?_c('v-card',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"500px\",\"width\":\"100%\"}},[_c('v-alert',{staticClass:\"mb-0\",attrs:{\"type\":\"error\"}},[_vm._v(\"Your password reset link appears to be incomplete. Please click the link you recieved in the email or copy and paste the full link into your browser. \")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport Utilities from \"@/utilities/utilities\";\nimport { FormattedError } from \"@/types/formattedError\";\nimport { ResetPasswordData } from \"@/types/resetPasswordData\";\nimport store from \"@/store\";\nimport { getModule } from \"vuex-module-decorators\";\nimport AuthModule from \"@/store/clients/Auth.module\";\n\nconst Auth = getModule(AuthModule, store);\n\n@Component\nexport default class ResetPassword extends Vue {\n //data to send\n payload: ResetPasswordData = { username: \"\", token: \"\", password: \"\" };\n //change this if we want to alter password minimum length frontend. Currently it is 6 on the server\n minimumPasswordLength = 6;\n //form state\n isFormValid = true;\n //true if user enters /ResetPassword without valid params in url\n incompleteLink = false;\n //toggle input type to reveal password\n showPassword = false;\n //holds the confirm password string\n repeatPassword = \"\";\n //state submitted\n submitted = false;\n //state submitting\n submitting = false;\n //state successfully changed password (removes inputs)\n submittedSuccess = false;\n //alert is either success or error\n alertType = \"success\";\n //response is string when success or object when error\n response = \"\";\n errorResponse!: FormattedError;\n //input validation\n passwordRules = {\n required: (value: string) => !!value || \"Password required\",\n valid: (value: string) => value.length >= this.minimumPasswordLength || `Password must be at least ${this.minimumPasswordLength} characters`,\n };\n\n //validate if passwords are equal\n get passwordsEqual(): boolean | string {\n return this.passwordsEqualBool || \"Password mismatch\";\n }\n\n get passwordsEqualBool(): boolean {\n return this.repeatPassword === this.payload.password;\n }\n\n created(): void {\n const query = this.$route.query;\n if (!query.username || !query.token) {\n this.incompleteLink = true;\n return;\n }\n this.payload.username = String(query.username);\n this.payload.token = String(query.token);\n }\n\n handleResetPassword(): void {\n this.response = \"\";\n this.alertType = \"success\";\n this.submitted = false;\n this.submitting = true;\n Auth.resetPassword(this.payload).then(\n response => {\n this.response = response;\n this.submitted = true;\n this.submitting = false;\n this.submittedSuccess = true;\n },\n error => {\n this.alertType = \"error\";\n this.errorResponse = Utilities.formatError(error);\n this.submitted = true;\n this.submitting = false;\n }\n );\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=5edfc566&\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ResetPassword.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardSubtitle,VCardText,VCardTitle,VCol,VContainer,VForm,VIcon,VImg,VRow,VTextField})\n","import Vue from \"vue\";\r\nimport VueRouter, { RouteConfig } from \"vue-router\";\r\nimport Store from \"@/store\";\r\nimport Login from \"@/views/account/Login.vue\";\r\nimport ResetPassword from \"@/views/account/ResetPassword.vue\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport AuthModule from \"@/store/clients/Auth.module\";\r\nimport UserModule from \"@/store/clients/User.module\";\r\n\r\nconst Auth = getModule(AuthModule, Store);\r\nconst User = getModule(UserModule, Store);\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes: Array = [\r\n {\r\n path: \"/login\",\r\n name: \"login\",\r\n meta: {\r\n title: \"Login\",\r\n },\r\n component: Login,\r\n },\r\n {\r\n path: \"/Account/ResetPassword\",\r\n name: \"ResetPassword\",\r\n meta: {\r\n title: \"Reset Password\",\r\n },\r\n component: ResetPassword,\r\n },\r\n {\r\n path: \"/\",\r\n name: \"Dashboard\",\r\n meta: {\r\n title: \"Dashboard\",\r\n },\r\n component: () => import(\"../views/Dashboard.vue\"),\r\n },\r\n {\r\n path: \"/VesselOverview\",\r\n name: \"VesselOverview\",\r\n meta: {\r\n title: \"Vessel Overview\",\r\n },\r\n component: () => import(\"../views/VesselOverview.vue\"),\r\n },\r\n {\r\n path: \"/Help\",\r\n component: () => import(\"../views/help/HelpPage.vue\"),\r\n children: [\r\n { path: \"\", redirect: { name: \"VersionHistory\" } },\r\n { path: \"VersionHistory\", name: \"VersionHistory\", meta: { title: \"Version History | Help\" }, component: () => import(\"../views/help/VersionHistory.vue\") },\r\n { path: \"GettingStarted\", meta: { title: \"Getting Started | Help\" }, component: () => import(\"../views/help/GettingStarted.vue\") },\r\n { path: \"CII\", meta: { title: \"CII | Help\" }, component: () => import(\"../views/help/CII.vue\") },\r\n { path: \"Basic\", meta: { title: \"Basic | Help\" }, component: () => import(\"../views/help/Basic.vue\") },\r\n { path: \"Diagnostics\", meta: { title: \"Diagnostics | Help\" }, component: () => import(\"../views/help/Diagnostics.vue\") },\r\n { path: \"Compare\", meta: { title: \"Compare | Help\" }, component: () => import(\"../views/help/Compare.vue\") },\r\n { path: \"CharterParty\", meta: { title: \"Charter Party | Help\" }, component: () => import(\"../views/help/CharterParty.vue\") },\r\n { path: \"Notifications\", meta: { title: \"Notifications | Help\" }, component: () => import(\"../views/help/Notifications.vue\") },\r\n { path: \"EmissionReport\", meta: { title: \"Emission Report | Help\" }, component: () => import(\"../views/help/EmissionReport.vue\") },\r\n { path: \"FAQ\", meta: { title: \"FAQ | Help\" }, component: () => import(\"../views/help/FAQ.vue\") },\r\n ],\r\n },\r\n {\r\n path: \"/Vessel/:vesselId/:vesselName\",\r\n component: () => import(\"../views/vessel/Vessel.vue\"),\r\n children: [\r\n { path: \"\", redirect: { name: \"Info\" } },\r\n { path: \"Info\", name: \"Info\", meta: { subTitle: \"Info\", title: \"Info\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/VesselInfo.vue\") },\r\n { path: \"Notes\", name: \"Notes\", meta: { subTitle: \"Notes\", title: \"Notes\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/VesselNotes.vue\") },\r\n { path: \"VesselFiles\", name: \"VesselFiles\", meta: { subTitle: \"Documents\", title: \"Documents\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/VesselFiles.vue\") },\r\n { path: \"Report\", name: \"Report\", meta: { subTitle: \"Reports\", title: \"Report\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/Report.vue\") },\r\n { path: \"Shapoli\", name: \"Shapoli\", meta: { subTitle: \"EEXI ShaPoLi\", title: \"EEXI ShaPoLi\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/Shapoli.vue\") },\r\n { path: \"LoggingHistory\", name: \"LoggingHistory\", meta: { subTitle: \"Logging History\", title: \"Logging History\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/LoggingHistory.vue\") },\r\n { path: \"LongTrend\", name: \"LongTrend\", meta: { subTitle: \"Long Trend\", title: \"Long Trend\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/LongTrend.vue\") },\r\n { path: \"Diagnostics\", name: \"Diagnostics\", meta: { subTitle: \"Diagnostics\", title: \"Diagnostics\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/Diagnostics/index.vue\") },\r\n { path: \"Fouling\", name: \"Fouling\", meta: { subTitle: \"Fouling\", title: \"Fouling\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/Fouling.vue\") },\r\n { path: \"EmissionReport\", name: \"EmissionReport\", meta: { subTitle: \"Emission Report\", title: \"Emission Report\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/EmissionReport.vue\") },\r\n { path: \"CharterParty\", name: \"CharterParty\", meta: { subTitle: \"Charter Party\", title: \"Charter Party\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/CharterParty.vue\") },\r\n { path: \"DataAnalysis\", name: \"DataAnalysis\", meta: { subTitle: \"Data Analysis\", title: \"Data Analysis\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/DataAnalysis.vue\") },\r\n ],\r\n },\r\n {\r\n path: \"/Users\",\r\n name: \"Users\",\r\n meta: {\r\n title: \"Users\",\r\n },\r\n component: () => import(\"../views/profile/Users.vue\"),\r\n },\r\n {\r\n path: \"/MyProfile\",\r\n name: \"MyProfile\",\r\n meta: {\r\n title: \"Profile\",\r\n },\r\n component: () => import(\"../views/profile/MyProfile.vue\"),\r\n },\r\n {\r\n path: \"/Company\",\r\n name: \"company\",\r\n meta: {\r\n title: \"Company\",\r\n },\r\n component: () => import(\"../views/company/CompanyManager.vue\"),\r\n },\r\n {\r\n path: \"/VesselAdministration\",\r\n name: \"VesselAdministration\",\r\n meta: {\r\n title: \"Vessel Administration\",\r\n },\r\n component: () => import(\"../views/vesseladmin/VesselAdministration.vue\"),\r\n },\r\n {\r\n path: \"/VesselGroups\",\r\n name: \"VesselGroups\",\r\n meta: {\r\n title: \"Vessel Groups\",\r\n },\r\n component: () => import(\"../views/vesseladmin/VesselGroups.vue\"),\r\n },\r\n {\r\n path: \"/VesselAccessControl\",\r\n name: \"VesselAccessControl\",\r\n meta: {\r\n title: \"Vessel Access Control\",\r\n },\r\n component: () => import(\"../views/vesseladmin/VesselAccessControl.vue\"),\r\n },\r\n {\r\n path: \"/ImportStatus\",\r\n name: \"ImportStatus\",\r\n meta: {\r\n title: \"Import Status\",\r\n },\r\n component: () => import(\"../views/importstatus/ImportStatus.vue\"),\r\n },\r\n {\r\n path: \"/Taxonomy\",\r\n name: \"Taxonomy\",\r\n meta: {\r\n title: \"Taxonomy\",\r\n },\r\n component: () => import(\"../views/Taxonomy.vue\"),\r\n },\r\n {\r\n path: \"/Announcement\",\r\n name: \"Announcement\",\r\n meta: {\r\n title: \"Announcement\",\r\n },\r\n component: () => import(\"../views/Announcement/AnnouncementTableView.vue\"),\r\n },\r\n {\r\n path: \"/MyNotifications\",\r\n name: \"MyNotifications\",\r\n meta: {\r\n title: \"Notifications\",\r\n },\r\n component: () => import(\"../views/MyNotifications/index.vue\")\r\n },\r\n {\r\n path: \"/MyNotifications/AddNotification\",\r\n name: \"AddNotification\",\r\n meta: {\r\n title: \"Add Notification\",\r\n },\r\n component: () => import(\"../views/MyNotifications/AddNotification.vue\")\r\n },\r\n {\r\n path: \"/About\",\r\n name: \"About\",\r\n meta: {\r\n title: \"About\",\r\n },\r\n component: () => import(\"../views/About.vue\"),\r\n },\r\n {\r\n path: \"/Kognifai\",\r\n name: \"Kognifai\",\r\n meta: {\r\n title: \"Kognifai\",\r\n },\r\n component: () => import(\"../views/kognifai/DataAnalysis.vue\"),\r\n beforeEnter(to, from, next) {\r\n if (User.isKognifai) {\r\n next();\r\n } else {\r\n next(\"/\");\r\n }\r\n },\r\n },\r\n {\r\n path: \"*\",\r\n name: \"NotFound\",\r\n meta: {\r\n title: \"Not Found\",\r\n },\r\n component: () => import(\"../views/NotFound.vue\"),\r\n },\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes,\r\n scrollBehavior(to, from, savedPosition) {\r\n if (savedPosition) {\r\n return savedPosition;\r\n } else {\r\n return { x: 0, y: 0 };\r\n }\r\n },\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n const publicPages = [\"/login\", \"/Account/ResetPassword\"];\r\n const authRequired = !publicPages.includes(to.path);\r\n\r\n // trying to access a restricted page + not logged in\r\n // redirect to login page\r\n if (authRequired && !Auth.isLoggedIn) {\r\n return next(\"/login\");\r\n //make sure user is valid and exists\r\n } else if (authRequired && User.userExpired) {\r\n User.getUser().then(() => {\r\n if (User.isKognifai && to.name !== \"Kognifai\") {\r\n return next(\"/Kognifai\");\r\n } else {\r\n return next();\r\n }\r\n })\r\n .catch(() => { });\r\n } else if (User.isKognifai && to.name !== \"Kognifai\") {\r\n return next(\"/Kognifai\");\r\n } else {\r\n return next();\r\n }\r\n});\r\n\r\nrouter.afterEach((to, from) => {\r\n if (to.meta?.parent === \"Vessel\") {\r\n document.title = to.meta.title + \" | \" + to.params.vesselName + \" | Danelec Connect\";\r\n } else {\r\n document.title = to.meta?.title + \" | Danelec Connect\";\r\n }\r\n});\r\n\r\nexport default router;\r\n","import { VuexModule, Module } from \"vuex-module-decorators\";\r\nimport { WidgetType } from \"@/types/widgetType\";\r\nconst tableWidgetIllustration = require(\"@/assets/images/widgets/table-widget-illustration-1.png\");\r\nconst graphWidgetIllustration = require(\"@/assets/images/widgets/graph-widget-illustration-1.png\");\r\nconst mapWidgetIllustration = require(\"@/assets/images/widgets/map-widget-illustration-1.png\");\r\nconst performanceStatusWidgetIllustration = require(\"@/assets/images/widgets/performance-status-widget-illustration-1.png\");\r\nconst notificationWidgetIllustration = require(\"@/assets/images/widgets/notification-widget-illustration.png\");\r\nconst ciiWidgetTableViewIllustration = require(\"@/assets/images/widgets/cii-widget-tableview.png\");\r\nconst ciiWidgetChartViewIllustration = require(\"@/assets/images/widgets/cii-widget-chartview.png\");\r\nconst foulingWidgetViewIllustration = require(\"@/assets/images/widgets/fouling-overview-widget-illustration.png\");\r\n\r\n@Module({ namespaced: true, name: \"WidgetTypes\" })\r\nclass WidgetTypes extends VuexModule {\r\n private _startup: WidgetType = {\r\n defaultName: \"Welcome\",\r\n template: \"WelcomeWidget\",\r\n defaultWidth: 20,\r\n defaultHeight: 12,\r\n icon: \"mdi-human-greeting\",\r\n multiple: true,\r\n description: \"\",\r\n images: [\r\n \"https://images.pexels.com/photos/128299/pexels-photo-128299.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260\",\r\n ],\r\n usingConfig: false,\r\n enabled: true,\r\n };\r\n\r\n private _VesselDataTable: WidgetType = {\r\n defaultName: \"Vessel data (table)\",\r\n template: \"VesselDataWidget\",\r\n displayType: \"VesselDataTable\",\r\n defaultWidth: 12,\r\n defaultHeight: 6,\r\n icon: \"table_chart\",\r\n multiple: true,\r\n description:\r\n \"This widget allows comparisons to be made between vessels: select the vessels that you wish to compare, then add columns as required. In each column you can select one variable from each vessel. A timespan must be chosen for each column: The available options are last received value, last voyage average/accumulate, and last x hours average/accumulate. Note that if accumulate is chosen, only a restricted number of units are allowed. After clicking Save, the configuration will be stored, and the chosen data displayed as a table. Multiple instances of this widget may be created, each with their own configuration.\",\r\n images: [tableWidgetIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _VesselDataGraph: WidgetType = {\r\n defaultName: \"Vessel data (graph)\",\r\n template: \"VesselDataWidget\",\r\n displayType: \"VesselDataGraph\",\r\n defaultWidth: 12,\r\n defaultHeight: 6,\r\n icon: \"mdi-chart-box\",\r\n multiple: true,\r\n description:\r\n \"This widget allows comparisons to be made between vessels: select the vessels that you wish to compare. You can select one variable from each vessel. A timespan must be chosen for the comparison: The available options are last received value, last voyage average/accumulate, and last x hours average/accumulate. Note that if accumulate is chosen, only a restricted number of units are allowed. After clicking Save, the configuration will be stored, and the chosen data displayed as a graph. Multiple instances of this widget may be created, each with their own configuration.\",\r\n images: [graphWidgetIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _map: WidgetType = {\r\n defaultName: \"Vessel map\",\r\n template: \"MapWidget\",\r\n defaultWidth: 9,\r\n defaultHeight: 9,\r\n icon: \"public\",\r\n multiple: false,\r\n description:\r\n \"This widget is a simple map. By default, the map displays all your vessels but you can choose to filter them based on vessel groups. The vessel details, such as name and tracking history, are usually hidden to avoid cluttering the display. If required, the vessel name and history can be made visible by clicking on the vessel. Clicking on the vessel name shown will display more detailed vessel information. You can only add one instance of this widget to your dashboard.\",\r\n images: [mapWidgetIllustration],\r\n usingConfig: false,\r\n enabled: true,\r\n };\r\n\r\n private _performanceStatus: WidgetType = {\r\n defaultName: \"Performance status\",\r\n template: \"PerformanceStatusWidget\",\r\n defaultWidth: 8,\r\n defaultHeight: 6,\r\n icon: \"checklist\",\r\n multiple: true,\r\n description:\r\n \"This widget allows you to see the performance status of your vessels: select the vessels that you wish to see. But remember that performance status data is only available for vessels with the diagnostics feature enabled. After clicking save, the configuration will be stored, and the performance status, for each selected vessel, will show. Multiple instances of this widget may be created, each with their own configuration.\",\r\n images: [performanceStatusWidgetIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _notification: WidgetType = {\r\n defaultName: \"Notifications\",\r\n template: \"NotificationWidget\",\r\n defaultWidth: 8,\r\n defaultHeight: 6,\r\n icon: \"mdi-checkbox-multiple-marked-circle\",\r\n multiple: true,\r\n description:\r\n \"This widget allows you to see notifications of incidents in your vessels: select the vessels that you wish to see. But remember that notifications are only available for vessels with the 'Notifications' feature enabled. After clicking save, the configuration will be stored, and the incidents, for each selected vessel, will show. Multiple instances of this widget may be created, each with their own configuration.\",\r\n images: [notificationWidgetIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _emissions: WidgetType = {\r\n defaultName: \"Carbon Intensity Indicator (CII)\",\r\n template: \"CiiWidget\",\r\n defaultWidth: 8,\r\n defaultHeight: 6,\r\n icon: \"mdi-weather-fog\",\r\n multiple: true,\r\n description:\r\n \"This widget allows you to see the CII and related data for your vessels: select the vessels that you wish to see. After clicking save, the configuration will be stored, and the CII data, for each selected vessel, will show. Multiple instances of this widget may be created, each with their own configuration.
    Calculations are based on available fuel consumption sensors onboard, and should be used for indicative purposes only.\",\r\n images: [ciiWidgetTableViewIllustration, ciiWidgetChartViewIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _foulingOverview: WidgetType = {\r\n defaultName: \"Fouling Overview\",\r\n template: \"FoulingOverviewWidget\",\r\n defaultWidth: 12,\r\n defaultHeight: 6,\r\n icon: \"mdi-ferry\",\r\n multiple: true,\r\n description:\r\n \"This widget allows you to view the current speed loss measurements across your fleet of vessels so that you can quickly see which ones require further action. Select the vessels you wish to include in this widget and then click save to store your configuration\",\r\n images: [foulingWidgetViewIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _allAddable: WidgetType[] = [\r\n this._VesselDataTable,\r\n this._VesselDataGraph,\r\n this._map,\r\n this._performanceStatus,\r\n this._notification,\r\n this._emissions,\r\n this._foulingOverview,\r\n ];\r\n\r\n public get getTypeByTemplateName(): (id: string) => unknown {\r\n return (id: string) => {\r\n switch (id) {\r\n case \"WelcomeWidget\":\r\n return this._startup;\r\n case \"VesselDataTable\":\r\n return this._VesselDataTable;\r\n case \"VesselDataGraph\":\r\n return this._VesselDataGraph;\r\n case \"MapWidget\":\r\n return this._map;\r\n case \"PerformanceStatusWidget\":\r\n return this._performanceStatus;\r\n case \"NotificationWidget\":\r\n return this._notification;\r\n case \"CiiWidget\":\r\n return this._emissions;\r\n case \"FoulingOverviewWidget\":\r\n return this._foulingOverview;\r\n }\r\n };\r\n }\r\n\r\n get startup(): WidgetType {\r\n return this._startup;\r\n }\r\n\r\n get VesselDataTable(): WidgetType {\r\n return this._VesselDataTable;\r\n }\r\n\r\n get VesselDataGraph(): WidgetType {\r\n return this._VesselDataGraph;\r\n }\r\n\r\n get map(): WidgetType {\r\n return this._map;\r\n }\r\n\r\n get performanceStatus(): WidgetType {\r\n return this._performanceStatus;\r\n }\r\n\r\n get notification(): WidgetType {\r\n return this._notification;\r\n }\r\n\r\n get emissions(): WidgetType {\r\n return this._emissions;\r\n }\r\n\r\n get allAddable(): WidgetType[] {\r\n return this._allAddable;\r\n }\r\n\r\n get foulingOverview(): WidgetType {\r\n return this._foulingOverview;\r\n }\r\n}\r\n\r\nexport default WidgetTypes;\r\n","import _ from \"underscore\";\r\n/**\r\n * Takes a flat array of log variables and groups them in a tree-structure based on the variable-name\r\n * which follows the Vessel Insight Common Asset Structure naming scheme with the separator\r\n * set to '|' in kognifaiService.cs\r\n * @param {Array} items\r\n * @param {String} separator\r\n * @example Aux_Engines | 1 | Fuel_Flow will be found in\r\n * [{\r\n * name: \"Aux_engines\",\r\n * children: [\r\n * {\r\n * name: \"1\",\r\n * children: [\r\n * {\r\n * name: \"fuel_flow\",\r\n * payload: {\r\n * id: \"942\",\r\n * name: \"Aux_Engines | 1 | Fuel_Flow\",\r\n * unit: { name: \"todo\", caption: \"todo\" },\r\n * vesselId: \"938\",\r\n * },\r\n * },\r\n * ],\r\n * },\r\n * ],\r\n * }]\r\n */\r\nfunction makeTree (items, separator) {\r\n //Just make sure there are no identical variable names, otherwide it will create an infinite recursive loop.\r\n //This should not happen with normal data anyway but it did in the test data. If it turns out to be a real issue\r\n //perhaps the duplicate should be included with a modified name (name + id or something)\r\n var uniqueItems = _.uniq(items, item => item.name);\r\n\r\n //first add an array of levels to each item based on its name\r\n //if internet explorer suddenly becomes required, use .replace(/ /g, '-') instead\r\n _.forEach(uniqueItems, function(item) {\r\n item.levels = item.name.replaceAll(\" \", \"\").split(separator);\r\n });\r\n return makeTreeRecursive(uniqueItems);\r\n}\r\n\r\n//recursively build our tree structure based on the levels of each item\r\nfunction makeTreeRecursive (items) {\r\n var grouped = _.groupBy(items, function(item) {\r\n if (item.levels.length > 0)\r\n return item.levels.shift();\r\n });\r\n\r\n var result = _.map(grouped, function(children, name) {\r\n if (children.length > 1) {\r\n var nextlevel = makeTreeRecursive(children);\r\n return {\r\n name: name,\r\n children: nextlevel,\r\n };\r\n } else return {\r\n name: name,\r\n payload: children[0],\r\n };\r\n });\r\n return result;\r\n}\r\n\r\nexport default {\r\n makeTree: function(data, separator) {\r\n return makeTree(data, separator);\r\n },\r\n};\r\n","import net from \"App/net\";\r\n\r\nvar AnnouncementClient = function () {\r\n\r\n};\r\n\r\nAnnouncementClient.prototype.find = function () {\r\n\r\n return net.get(\"/Announcement\");\r\n};\r\n\r\nAnnouncementClient.prototype.new = function (newAnnouncement) {\r\n return net.post(\"/Announcement\", newAnnouncement);\r\n};\r\n\r\nAnnouncementClient.prototype.findByUser = function () {\r\n return net.get(\"/Announcement/GetByUser\");\r\n}\r\n\r\nAnnouncementClient.prototype.readByUser = function (announcementDetails) {\r\n return net.post(\"/Announcement/ReadByUser\", announcementDetails);\r\n}\r\n\r\nAnnouncementClient.prototype.deleteAnnounement = function (announcementId) {\r\n return net.del(\"/Announcement/\" + announcementId);\r\n}\r\n\r\nAnnouncementClient.prototype.sendEmail = function (newAnnouncement) {\r\n return net.post(\"/Announcement/SendEmailToOnlineUser\", newAnnouncement)\r\n}\r\n\r\nAnnouncementClient.prototype.AcknowledgeIncident = function (id) {\r\n return net.put(\"/Incidents/\" + id);\r\n}\r\n\r\nAnnouncementClient.prototype.AcknowledgeAllIncidents = function (openIncidents) {\r\n return net.post(\"/Incidents\", openIncidents)\r\n}\r\n\r\nexport default new AnnouncementClient();\r\n","import net from \"App/net\";\r\nimport _ from \"underscore\";\r\nimport Store from \"@/store\";\r\nimport logVariableHelper from \"../utilities/log-variable-helper\";\r\n\r\nvar LogVariablesClient = function () {\r\n\r\n};\r\n\r\nLogVariablesClient.prototype.findAll = function (vesselId, unitType, hasLogData, extended = false) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/LogVariables\" : \"/LogVariables/Find\";\r\n if (!Store.getters[\"User/isKognifai\"] && extended) {\r\n url = \"/LogVariables/Extended\";\r\n }\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n if (unitType) {\r\n filter.unitType = unitType;\r\n }\r\n\r\n //important that hasLogData is set on filter, otherwise the default value of API (true) is used.\r\n filter.hasLogData = !_.isUndefined(hasLogData) ? hasLogData : \"\";\r\n\r\n return net.get(url, filter)\r\n .done((variables) => {\r\n new Promise((resolve) => {\r\n var dupNames = logVariableHelper.getDuplicateLogVariableNames(variables);\r\n\r\n variables.forEach(variable => {\r\n variable['displayName'] = logVariableHelper.formatLogVariableDisplayName(variable, dupNames);\r\n });\r\n\r\n resolve(variables);\r\n })\r\n });\r\n};\r\n\r\nLogVariablesClient.prototype.findAvailableLogVariables = function (vesselId, unitType) {\r\n return this.findAll(vesselId, unitType, true, false);\r\n};\r\n\r\nLogVariablesClient.prototype.findAvailableLogVariablesExtended = function(vesselId, unitType) {\r\n return this.findAll(vesselId, unitType, true, true);\r\n}\r\n\r\nLogVariablesClient.prototype.findMassFlowRateVariables = function (vesselId) {\r\n return this.findAvailableLogVariables(vesselId, \"MassFlowRate\");\r\n};\r\n\r\nLogVariablesClient.prototype.findSpeedVariables = function (vesselId) {\r\n return this.findAvailableLogVariables(vesselId, \"Speed\");\r\n};\r\n\r\nLogVariablesClient.prototype.findGpsSpeedVariable = function (vesselId) {\r\n return net.get(\"/LogVariables/\" + vesselId + \"/GpsSpeed\");\r\n};\r\n\r\nLogVariablesClient.prototype.findVesselsLogVariables = function (vesselIds) {\r\n var filter = {\r\n vesselIds: vesselIds,\r\n };\r\n\r\n return net.get(\"/LogVariables/\", filter);\r\n};\r\n\r\nLogVariablesClient.prototype.findVesselLogVariablesTaxa = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n return net.get(\"/LogVariables/Taxa\", filter);\r\n};\r\n\r\nLogVariablesClient.prototype.findVesselLogVariablesShaftPower = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n return net.get(\"/LogVariables/ShaftPower\", filter);\r\n};\r\n\r\nexport default new LogVariablesClient();\r\n","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

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

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

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n MRV report\\r\\n \\r\\n \\r\\n MRV report is not available
    between non Member States.\\r\\n
    \\r\\n \\r\\n \\r\\n IMO report\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n DNV GL (csv)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Send to DNV GL\\r\\n \\r\\n\\r\\n \\r\\n

    \";\n// Exports\nmodule.exports = code;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=8ea49e66&lang=scss&scoped=true&\"","import template from \"./logging-history-config.html\";\r\nimport ko from \"knockout\";\r\nimport loggingHistoryConfigurationsClient from \"Clients/logging-history-configurations-client\";\r\nimport logVariablesClient from \"Clients/log-variables-client\";\r\nimport vesselsClient from \"@/Scripts/clients/vessels-client\";\r\nimport moment from \"moment\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport events from \"App/events\";\r\n\r\nimport Store from \"@/store\";\r\n\r\nconst filterMinMaxTooltipText = \"If checked the plotted graph will filter data values that lay outside the min and max ranges, for each of the selected items.\";\r\nconst filterOutliersTooltipText = \"If checked the plotted graph will filter the data using Chauvenet's criterion.\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n self.currentVessel = Store.getters[\"Vessels/currentVessel\"];\r\n\r\n self.showLastHours = true;\r\n self.showLastMinutes = true;\r\n self.showFromTime = true;\r\n self.showToTime = true;\r\n\r\n self.isConfigLoading = ko.observable(true);\r\n self.isVariablesLoading = ko.observable(true);\r\n self.isVoyagesLoading = ko.observable(true);\r\n self.isLoadError = ko.observable(false);\r\n self.isUpdateConfigurationError = ko.observable(false);\r\n self.isUpdateConfigurationLoading = ko.observable(false);\r\n self.isFilterMinMaxTooltipOpen = ko.observable(false);\r\n self.isFilterOutliersTooltipOpen = ko.observable(false);\r\n self.submitError = ko.observable(false);\r\n\r\n self.variables = ko.observableArray([]);\r\n\r\n self.selectedVariables = ko.observable();\r\n self.config = ko.observable();\r\n self.selectedTimePeriod = ko.observable();\r\n self.lastDays = ko.observable();\r\n self.lastHours = ko.observable();\r\n self.lastMinutes = ko.observable();\r\n self.fromDate = ko.observable();\r\n self.toDate = ko.observable();\r\n self.fromTime = ko.observable();\r\n self.toTime = ko.observable();\r\n self.voyages = ko.observable();\r\n self.selectedDataInterval = ko.observable();\r\n self.filterMinMax = ko.observable();\r\n self.filterOutliers = ko.observable();\r\n\r\n self.lastPeriodValuesValid = ko.observable();\r\n self.setPeriodValuesValid = ko.observable();\r\n\r\n self.isLoading = ko.pureComputed(function () {\r\n return self.isConfigLoading() || self.isVoyagesLoading() || self.isVariablesLoading();\r\n });\r\n\r\n self.lastVoyage = ko.pureComputed((function() {\r\n if (self.voyages().length < 1) return null;\r\n\r\n for (let i = self.voyages().length - 1; i > 0; i--) {\r\n if (self.voyages()[i].startDate !== \"0001-01-01T00:00:00\" && self.voyages()[i].endDate !== \"0001-01-01T00:00:00\") {\r\n return self.voyages()[i];\r\n }\r\n }\r\n\r\n return null;\r\n }));\r\n\r\n self.updateTimePeriod = function (fromDateTime, toDateTime) {\r\n self.fromDate(moment(fromDateTime).format(\"DD. MMM, YYYY\"));\r\n self.fromTime(moment(fromDateTime).format(\"HH:mm\"));\r\n self.toDate(moment(toDateTime).format(\"DD. MMM, YYYY\"));\r\n self.toTime(moment(toDateTime).format(\"HH:mm\"));\r\n self.selectedTimePeriod(\"SetPeriod\");\r\n\r\n self.submit();\r\n };\r\n\r\n self.submit = function() {\r\n var selectedVariables = self.selectedVariables();\r\n var endChar = selectedVariables.charAt(selectedVariables.length - 1);\r\n var config = self.config();\r\n\r\n if (endChar === \";\") {\r\n selectedVariables = selectedVariables.slice(0, -1);\r\n }\r\n\r\n config.logVariableIds = selectedVariables;\r\n config.fromDateTime = dateHelper.getSubmitDateString(self.fromDate(), self.fromTime());\r\n config.toDateTime = dateHelper.getSubmitDateString(self.toDate(), self.toTime());\r\n config.lastNumberDays = self.lastDays();\r\n config.lastNumberHours = self.lastHours();\r\n config.lastNumberMinutes = self.lastMinutes();\r\n config.timeConfigurationType = self.selectedTimePeriod();\r\n config.dataInterval = self.selectedDataInterval();\r\n config.lastVoyage = self.lastVoyage();\r\n config.filterMinMax = self.filterMinMax();\r\n config.filterOutliers = self.filterOutliers();\r\n\r\n self.isUpdateConfigurationLoading(true);\r\n\r\n self.onSubmit(config);\r\n\r\n loggingHistoryConfigurationsClient.update(config).done(function () {\r\n self.isUpdateConfigurationError(false);\r\n }).fail(function () {\r\n self.isUpdateConfigurationError(true);\r\n }).always(function () {\r\n self.isUpdateConfigurationLoading(false);\r\n });\r\n };\r\n\r\n self.disableSubmit = ko.pureComputed(function () {\r\n return self.selectedVariables() === \"|\" || !self.lastPeriodValuesValid() || !self.setPeriodValuesValid() || self.isUpdateConfigurationLoading()\r\n || self.submitError();\r\n });\r\n\r\n self.displayEmptyVariableSelectionWarning = ko.pureComputed(function() {\r\n return self.selectedVariables() === \"|\";\r\n });\r\n\r\n self.selectedTimeInMinutes = ko.pureComputed(function () {\r\n var minDate = moment.utc(self.currentVessel.logDataMinDate);\r\n var maxDate = moment.utc(self.currentVessel.logDataMaxDate);\r\n\r\n var maxMinutes = maxDate.diff(minDate, \"minutes\");\r\n\r\n var selectedTime = 0;\r\n\r\n if (self.selectedTimePeriod() === \"AllValues\") {\r\n selectedTime = maxMinutes;\r\n } else if (self.selectedTimePeriod() === \"LastVoyage\") {\r\n var from = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().startDate));\r\n var to = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().endDate));\r\n\r\n selectedTime = to.diff(from, \"minutes\");\r\n } else if (self.selectedTimePeriod() === \"LastPeriod\") {\r\n selectedTime = toMinutes(self.lastDays(), self.lastHours(), self.lastMinutes());\r\n } else if (self.selectedTimePeriod() === \"SetPeriod\") {\r\n var from = dateHelper.getDateTime(self.fromDate(), self.fromTime());\r\n var to = dateHelper.getDateTime(self.toDate(), self.toTime());\r\n\r\n selectedTime = to.diff(from, \"minutes\");\r\n }\r\n\r\n if (selectedTime <= 0) {\r\n self.submitError(true);\r\n } else {\r\n self.submitError(false);\r\n }\r\n\r\n return selectedTime;\r\n });\r\n\r\n function toMinutes(days, hours, minutes) {\r\n days = Number(days);\r\n hours = Number(hours);\r\n minutes = Number(minutes);\r\n\r\n return (days * 24 * 60) + (hours * 60) + minutes;\r\n }\r\n\r\n loggingHistoryConfigurationsClient.getByVesselId(self.currentVessel.id).done(function (data) {\r\n self.config(data);\r\n\r\n self.selectedVariables(data.logVariableIds);\r\n self.selectedDataInterval(data.dataInterval);\r\n\r\n self.selectedTimePeriod(data.timeConfigurationType);\r\n self.lastDays(data.lastNumberDays);\r\n self.lastHours(data.lastNumberHours);\r\n self.lastMinutes(data.lastNumberMinutes);\r\n self.filterMinMax(data.filterMinMax);\r\n self.filterOutliers(data.filterOutliers);\r\n\r\n self.fromDate(dateHelper.getFormatedDateString(data.fromDateTime));\r\n self.toDate(dateHelper.getFormatedDateString(data.toDateTime));\r\n self.fromTime(dateHelper.getFormatedTimeString(data.fromDateTime));\r\n self.toTime(dateHelper.getFormatedTimeString(data.toDateTime));\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isConfigLoading(false);\r\n });\r\n\r\n logVariablesClient.findAvailableLogVariablesExtended(self.currentVessel.id).done(function (data) {\r\n self.variables(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVariablesLoading(false);\r\n });\r\n\r\n vesselsClient.getVesselVoyages(self.currentVessel.id).done(function (data) {\r\n self.voyages(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVoyagesLoading(false);\r\n });\r\n}\r\n\r\nViewModel.prototype.toggleFilterMinMaxTooltip = function(vm, e) {\r\n var isFilterMinMaxTooltipOpen = this.isFilterMinMaxTooltipOpen();\r\n if (!isFilterMinMaxTooltipOpen) {\r\n var element = e.currentTarget;\r\n events.showTooltip.dispatch(\"tooltip-text\", { text: filterMinMaxTooltipText, isWide: true, tooltipPosition: \"right\" }, element);\r\n this.isFilterMinMaxTooltipOpen(true);\r\n } else {\r\n this.isFilterMinMaxTooltipOpen(false);\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.toggleFilterOutliersTooltip = function(vm, e) {\r\n var isFilterOutliersTooltipOpen = this.isFilterOutliersTooltipOpen();\r\n if (!isFilterOutliersTooltipOpen) {\r\n var element = e.currentTarget;\r\n events.showTooltip.dispatch(\"tooltip-text\", { text: filterOutliersTooltipText, isWide: true, tooltipPosition: \"right\" }, element);\r\n this.isFilterOutliersTooltipOpen(true);\r\n } else {\r\n this.isFilterOutliersTooltipOpen(false);\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.hideTooltips = function() {\r\n if (this.isFilterMinMaxTooltipOpen() || this.isFilterOutliersTooltipOpen()) {\r\n this.isFilterMinMaxTooltipOpen(false);\r\n this.isFilterOutliersTooltipOpen(false);\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","\r\n(function(factory) {\r\n \"use strict\";\r\n\tif (typeof require === \"function\" && typeof exports === \"object\" && typeof module === \"object\") {\r\n\t\t// CommonJS or Node: hard-coded dependency on \"knockout\"\r\n\t\tfactory(require(\"knockout\"), exports);\r\n\t} else if (typeof define === \"function\" && define[\"amd\"]) {\r\n\t\t// AMD anonymous module with hard-coded dependency on \"knockout\"\r\n\t\tdefine([\"knockout\", \"exports\"], factory);\r\n\t} else {\r\n\t\t//