@manojkmfsi/monodog 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +12 -0
- package/dist/config-loader.js +5 -6
- package/dist/get-db-url.js +0 -1
- package/dist/index.js +219 -80
- package/dist/serve.js +7 -91
- package/dist/services/commitService.js +1 -1
- package/dist/{gitService.js → services/gitService.js} +0 -101
- package/dist/setup.js +0 -0
- package/dist/utils/utilities.js +92 -14
- package/{monodog-conf.json → monodog-config.json} +2 -4
- package/monodog-dashboard/README.md +58 -0
- package/monodog-dashboard/dist/assets/{index-dadb5f0d.js → index-1a6836e4.js} +2 -2
- package/monodog-dashboard/dist/index.html +1 -1
- package/package.json +19 -19
- package/src/config-loader.ts +5 -7
- package/src/get-db-url.ts +0 -2
- package/src/index.ts +227 -72
- package/src/serve.ts +6 -68
- package/src/services/commitService.ts +1 -1
- package/src/services/gitService.ts +165 -0
- package/src/utils/utilities.ts +105 -14
- package/.turbo/turbo-lint.log +0 -4
- package/.turbo/turbo-test.log +0 -828
- package/coverage/clover.xml +0 -2661
- package/coverage/coverage-final.json +0 -99
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/ci-status.ts.html +0 -2002
- package/coverage/lcov-report/components/configuration/Configuration.tsx.html +0 -358
- package/coverage/lcov-report/components/configuration/components/BrandingSettings.tsx.html +0 -472
- package/coverage/lcov-report/components/configuration/components/ConfigurationHeader.tsx.html +0 -199
- package/coverage/lcov-report/components/configuration/components/ConfigurationModal.tsx.html +0 -157
- package/coverage/lcov-report/components/configuration/components/ConfigurationTabs.tsx.html +0 -175
- package/coverage/lcov-report/components/configuration/components/FeatureToggles.tsx.html +0 -283
- package/coverage/lcov-report/components/configuration/components/GeneralSettings.tsx.html +0 -316
- package/coverage/lcov-report/components/configuration/components/MonorepoSettings.tsx.html +0 -625
- package/coverage/lcov-report/components/configuration/components/index.html +0 -221
- package/coverage/lcov-report/components/configuration/components/index.ts.html +0 -109
- package/coverage/lcov-report/components/configuration/index.html +0 -116
- package/coverage/lcov-report/components/configuration/utils/config.utils.ts.html +0 -427
- package/coverage/lcov-report/components/configuration/utils/index.html +0 -116
- package/coverage/lcov-report/components/main-dashboard/Dashboard.tsx.html +0 -769
- package/coverage/lcov-report/components/main-dashboard/components/Header.tsx.html +0 -226
- package/coverage/lcov-report/components/main-dashboard/components/PackageDistribution.tsx.html +0 -187
- package/coverage/lcov-report/components/main-dashboard/components/PackageSearchFilter.tsx.html +0 -226
- package/coverage/lcov-report/components/main-dashboard/components/PackageTable.tsx.html +0 -343
- package/coverage/lcov-report/components/main-dashboard/components/QuickActions.tsx.html +0 -265
- package/coverage/lcov-report/components/main-dashboard/components/StatsCards.tsx.html +0 -289
- package/coverage/lcov-report/components/main-dashboard/components/index.html +0 -206
- package/coverage/lcov-report/components/main-dashboard/components/index.ts.html +0 -106
- package/coverage/lcov-report/components/main-dashboard/index.html +0 -116
- package/coverage/lcov-report/components/main-dashboard/utils/dashboard.utils.ts.html +0 -292
- package/coverage/lcov-report/components/main-dashboard/utils/index.html +0 -116
- package/coverage/lcov-report/components/modules/ci-integration/CIIntegration.tsx.html +0 -913
- package/coverage/lcov-report/components/modules/ci-integration/components/BuildDetails.tsx.html +0 -769
- package/coverage/lcov-report/components/modules/ci-integration/components/BuildList.tsx.html +0 -721
- package/coverage/lcov-report/components/modules/ci-integration/components/BuildOverview.tsx.html +0 -559
- package/coverage/lcov-report/components/modules/ci-integration/components/CIIntegrationHeader.tsx.html +0 -199
- package/coverage/lcov-report/components/modules/ci-integration/components/ErrorState.tsx.html +0 -160
- package/coverage/lcov-report/components/modules/ci-integration/components/LoadingState.tsx.html +0 -139
- package/coverage/lcov-report/components/modules/ci-integration/components/PipelineStatus.tsx.html +0 -754
- package/coverage/lcov-report/components/modules/ci-integration/components/index.html +0 -221
- package/coverage/lcov-report/components/modules/ci-integration/components/index.ts.html +0 -109
- package/coverage/lcov-report/components/modules/ci-integration/index.html +0 -116
- package/coverage/lcov-report/components/modules/ci-integration/utils/ci.utils.ts.html +0 -871
- package/coverage/lcov-report/components/modules/ci-integration/utils/index.html +0 -116
- package/coverage/lcov-report/components/modules/config-inspector/ConfigInspector.tsx.html +0 -1054
- package/coverage/lcov-report/components/modules/config-inspector/components/ConfigEditor.tsx.html +0 -361
- package/coverage/lcov-report/components/modules/config-inspector/components/ConfigInspectorHeader.tsx.html +0 -193
- package/coverage/lcov-report/components/modules/config-inspector/components/ConfigPreview.tsx.html +0 -352
- package/coverage/lcov-report/components/modules/config-inspector/components/ConfigSidebar.tsx.html +0 -505
- package/coverage/lcov-report/components/modules/config-inspector/components/ConfigToolbar.tsx.html +0 -637
- package/coverage/lcov-report/components/modules/config-inspector/components/ErrorState.tsx.html +0 -160
- package/coverage/lcov-report/components/modules/config-inspector/components/LoadingState.tsx.html +0 -139
- package/coverage/lcov-report/components/modules/config-inspector/components/ValidationPanel.tsx.html +0 -550
- package/coverage/lcov-report/components/modules/config-inspector/components/index.html +0 -236
- package/coverage/lcov-report/components/modules/config-inspector/components/index.ts.html +0 -112
- package/coverage/lcov-report/components/modules/config-inspector/index.html +0 -116
- package/coverage/lcov-report/components/modules/config-inspector/utils/config.utils.ts.html +0 -2242
- package/coverage/lcov-report/components/modules/config-inspector/utils/index.html +0 -116
- package/coverage/lcov-report/components/modules/dependency-graph/DependencyGraph.tsx.html +0 -754
- package/coverage/lcov-report/components/modules/dependency-graph/components/CircularDependencies.tsx.html +0 -613
- package/coverage/lcov-report/components/modules/dependency-graph/components/DependencyDetails.tsx.html +0 -661
- package/coverage/lcov-report/components/modules/dependency-graph/components/DependencyGraphHeader.tsx.html +0 -187
- package/coverage/lcov-report/components/modules/dependency-graph/components/DependencyList.tsx.html +0 -613
- package/coverage/lcov-report/components/modules/dependency-graph/components/ErrorState.tsx.html +0 -160
- package/coverage/lcov-report/components/modules/dependency-graph/components/GraphLegend.tsx.html +0 -430
- package/coverage/lcov-report/components/modules/dependency-graph/components/GraphStats.tsx.html +0 -493
- package/coverage/lcov-report/components/modules/dependency-graph/components/GraphToolbar.tsx.html +0 -406
- package/coverage/lcov-report/components/modules/dependency-graph/components/GraphVisualization.tsx.html +0 -619
- package/coverage/lcov-report/components/modules/dependency-graph/components/LoadingState.tsx.html +0 -139
- package/coverage/lcov-report/components/modules/dependency-graph/components/index.html +0 -266
- package/coverage/lcov-report/components/modules/dependency-graph/components/index.ts.html +0 -118
- package/coverage/lcov-report/components/modules/dependency-graph/index.html +0 -116
- package/coverage/lcov-report/components/modules/dependency-graph/utils/dependency.utils.ts.html +0 -1393
- package/coverage/lcov-report/components/modules/dependency-graph/utils/index.html +0 -116
- package/coverage/lcov-report/components/modules/health-status/HealthStatus.tsx.html +0 -2305
- package/coverage/lcov-report/components/modules/health-status/index.html +0 -116
- package/coverage/lcov-report/components/modules/packages/PackageDetail.tsx.html +0 -850
- package/coverage/lcov-report/components/modules/packages/PackagesOverview.tsx.html +0 -580
- package/coverage/lcov-report/components/modules/packages/components/ConfigurationTab.tsx.html +0 -1027
- package/coverage/lcov-report/components/modules/packages/components/DependenciesTab.tsx.html +0 -556
- package/coverage/lcov-report/components/modules/packages/components/ErrorState.tsx.html +0 -148
- package/coverage/lcov-report/components/modules/packages/components/HealthMetricsTab.tsx.html +0 -910
- package/coverage/lcov-report/components/modules/packages/components/LoadingState.tsx.html +0 -127
- package/coverage/lcov-report/components/modules/packages/components/PackageDetailHeader.tsx.html +0 -592
- package/coverage/lcov-report/components/modules/packages/components/PackageDetailTabs.tsx.html +0 -232
- package/coverage/lcov-report/components/modules/packages/components/PackageStats.tsx.html +0 -301
- package/coverage/lcov-report/components/modules/packages/components/PackagesTable.tsx.html +0 -589
- package/coverage/lcov-report/components/modules/packages/components/RecentCommitsTab.tsx.html +0 -364
- package/coverage/lcov-report/components/modules/packages/components/SearchAndFilter.tsx.html +0 -301
- package/coverage/lcov-report/components/modules/packages/components/index.html +0 -281
- package/coverage/lcov-report/components/modules/packages/components/index.ts.html +0 -121
- package/coverage/lcov-report/components/modules/packages/index.html +0 -131
- package/coverage/lcov-report/components/modules/packages/utils/index.html +0 -116
- package/coverage/lcov-report/components/modules/packages/utils/packages.utils.ts.html +0 -613
- package/coverage/lcov-report/components/publish-control/PublishControl.tsx.html +0 -769
- package/coverage/lcov-report/components/publish-control/components/ChangelogViewer.tsx.html +0 -394
- package/coverage/lcov-report/components/publish-control/components/ErrorState.tsx.html +0 -154
- package/coverage/lcov-report/components/publish-control/components/LoadingState.tsx.html +0 -121
- package/coverage/lcov-report/components/publish-control/components/PackageReleaseTable.tsx.html +0 -505
- package/coverage/lcov-report/components/publish-control/components/PublishHeader.tsx.html +0 -175
- package/coverage/lcov-report/components/publish-control/components/QuickActionCards.tsx.html +0 -253
- package/coverage/lcov-report/components/publish-control/components/ReleaseSchedule.tsx.html +0 -397
- package/coverage/lcov-report/components/publish-control/components/index.html +0 -221
- package/coverage/lcov-report/components/publish-control/components/index.ts.html +0 -109
- package/coverage/lcov-report/components/publish-control/index.html +0 -116
- package/coverage/lcov-report/components/publish-control/utils/index.html +0 -116
- package/coverage/lcov-report/components/publish-control/utils/publish.utils.ts.html +0 -262
- package/coverage/lcov-report/components/setup-guide/SetupGuide.tsx.html +0 -373
- package/coverage/lcov-report/components/setup-guide/components/SetupHeader.tsx.html +0 -157
- package/coverage/lcov-report/components/setup-guide/components/SetupModal.tsx.html +0 -163
- package/coverage/lcov-report/components/setup-guide/components/SetupProgress.tsx.html +0 -172
- package/coverage/lcov-report/components/setup-guide/components/StepContent.tsx.html +0 -901
- package/coverage/lcov-report/components/setup-guide/components/StepNavigation.tsx.html +0 -271
- package/coverage/lcov-report/components/setup-guide/components/index.html +0 -191
- package/coverage/lcov-report/components/setup-guide/components/index.ts.html +0 -103
- package/coverage/lcov-report/components/setup-guide/index.html +0 -116
- package/coverage/lcov-report/components/setup-guide/utils/index.html +0 -116
- package/coverage/lcov-report/components/setup-guide/utils/setup.utils.ts.html +0 -322
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -536
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/Configuration.tsx.html +0 -358
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/components/BrandingSettings.tsx.html +0 -472
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/components/ConfigurationHeader.tsx.html +0 -199
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/components/ConfigurationModal.tsx.html +0 -157
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/components/ConfigurationTabs.tsx.html +0 -175
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/components/FeatureToggles.tsx.html +0 -283
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/components/GeneralSettings.tsx.html +0 -316
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/components/MonorepoSettings.tsx.html +0 -625
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/components/index.html +0 -221
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/components/index.ts.html +0 -109
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/utils/config.utils.ts.html +0 -427
- package/coverage/lcov-report/monodog-dashboard/src/components/configuration/utils/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/Dashboard.tsx.html +0 -769
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/components/Header.tsx.html +0 -226
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/components/PackageDistribution.tsx.html +0 -187
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/components/PackageSearchFilter.tsx.html +0 -226
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/components/PackageTable.tsx.html +0 -343
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/components/QuickActions.tsx.html +0 -265
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/components/StatsCards.tsx.html +0 -289
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/components/index.html +0 -206
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/components/index.ts.html +0 -106
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/utils/dashboard.utils.ts.html +0 -292
- package/coverage/lcov-report/monodog-dashboard/src/components/main-dashboard/utils/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/CIIntegration.tsx.html +0 -913
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/components/BuildDetails.tsx.html +0 -769
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/components/BuildList.tsx.html +0 -721
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/components/BuildOverview.tsx.html +0 -559
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/components/CIIntegrationHeader.tsx.html +0 -199
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/components/ErrorState.tsx.html +0 -160
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/components/LoadingState.tsx.html +0 -139
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/components/PipelineStatus.tsx.html +0 -754
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/components/index.html +0 -221
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/components/index.ts.html +0 -109
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/utils/ci.utils.ts.html +0 -871
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/ci-integration/utils/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/ConfigInspector.tsx.html +0 -1054
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/ConfigEditor.tsx.html +0 -361
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/ConfigInspectorHeader.tsx.html +0 -193
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/ConfigPreview.tsx.html +0 -352
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/ConfigSidebar.tsx.html +0 -505
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/ConfigToolbar.tsx.html +0 -637
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/ErrorState.tsx.html +0 -160
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/LoadingState.tsx.html +0 -139
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/ValidationPanel.tsx.html +0 -550
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/index.html +0 -236
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/components/index.ts.html +0 -112
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/utils/config.utils.ts.html +0 -2242
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/config-inspector/utils/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/DependencyGraph.tsx.html +0 -754
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/CircularDependencies.tsx.html +0 -613
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyDetails.tsx.html +0 -661
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyGraphHeader.tsx.html +0 -187
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyList.tsx.html +0 -613
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/ErrorState.tsx.html +0 -160
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/GraphLegend.tsx.html +0 -430
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/GraphStats.tsx.html +0 -493
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/GraphToolbar.tsx.html +0 -406
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/GraphVisualization.tsx.html +0 -619
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/LoadingState.tsx.html +0 -139
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/index.html +0 -266
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/components/index.ts.html +0 -118
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/utils/dependency.utils.ts.html +0 -1393
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/dependency-graph/utils/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/health-status/HealthStatus.tsx.html +0 -2296
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/health-status/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/PackageDetail.tsx.html +0 -850
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/PackagesOverview.tsx.html +0 -580
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/ConfigurationTab.tsx.html +0 -1027
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/DependenciesTab.tsx.html +0 -556
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/ErrorState.tsx.html +0 -148
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/HealthMetricsTab.tsx.html +0 -910
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/LoadingState.tsx.html +0 -127
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/PackageDetailHeader.tsx.html +0 -592
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/PackageDetailTabs.tsx.html +0 -232
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/PackageStats.tsx.html +0 -301
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/PackagesTable.tsx.html +0 -589
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/RecentCommitsTab.tsx.html +0 -364
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/SearchAndFilter.tsx.html +0 -301
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/index.html +0 -281
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/components/index.ts.html +0 -121
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/index.html +0 -131
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/utils/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/modules/packages/utils/packages.utils.ts.html +0 -613
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/PublishControl.tsx.html +0 -769
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/components/ChangelogViewer.tsx.html +0 -394
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/components/ErrorState.tsx.html +0 -154
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/components/LoadingState.tsx.html +0 -121
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/components/PackageReleaseTable.tsx.html +0 -505
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/components/PublishHeader.tsx.html +0 -175
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/components/QuickActionCards.tsx.html +0 -253
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/components/ReleaseSchedule.tsx.html +0 -397
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/components/index.html +0 -221
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/components/index.ts.html +0 -109
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/utils/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/publish-control/utils/publish.utils.ts.html +0 -262
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/SetupGuide.tsx.html +0 -373
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/components/SetupHeader.tsx.html +0 -157
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/components/SetupModal.tsx.html +0 -163
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/components/SetupProgress.tsx.html +0 -172
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/components/StepContent.tsx.html +0 -901
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/components/StepNavigation.tsx.html +0 -271
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/components/index.html +0 -191
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/components/index.ts.html +0 -103
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/utils/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/components/setup-guide/utils/setup.utils.ts.html +0 -322
- package/coverage/lcov-report/monodog-dashboard/src/pages/CIPage.tsx.html +0 -103
- package/coverage/lcov-report/monodog-dashboard/src/pages/ConfigPage.tsx.html +0 -103
- package/coverage/lcov-report/monodog-dashboard/src/pages/DashboardPage.tsx.html +0 -103
- package/coverage/lcov-report/monodog-dashboard/src/pages/HealthPage.tsx.html +0 -103
- package/coverage/lcov-report/monodog-dashboard/src/pages/PackageDetailPage.tsx.html +0 -103
- package/coverage/lcov-report/monodog-dashboard/src/pages/PackagesPage.tsx.html +0 -103
- package/coverage/lcov-report/monodog-dashboard/src/pages/PublishPage.tsx.html +0 -103
- package/coverage/lcov-report/monodog-dashboard/src/pages/index.html +0 -206
- package/coverage/lcov-report/monodog-dashboard/src/services/index.html +0 -116
- package/coverage/lcov-report/monodog-dashboard/src/services/monorepoService.ts.html +0 -3010
- package/coverage/lcov-report/pages/CIPage.tsx.html +0 -103
- package/coverage/lcov-report/pages/ConfigPage.tsx.html +0 -103
- package/coverage/lcov-report/pages/DashboardPage.tsx.html +0 -103
- package/coverage/lcov-report/pages/HealthPage.tsx.html +0 -103
- package/coverage/lcov-report/pages/PackageDetailPage.tsx.html +0 -103
- package/coverage/lcov-report/pages/PackagesPage.tsx.html +0 -103
- package/coverage/lcov-report/pages/PublishPage.tsx.html +0 -103
- package/coverage/lcov-report/pages/index.html +0 -206
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/services/index.html +0 -116
- package/coverage/lcov-report/services/monorepoService.ts.html +0 -3010
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -210
- package/coverage/lcov-report/src/config-loader.ts.html +0 -442
- package/coverage/lcov-report/src/index.html +0 -116
- package/coverage/lcov-report/src/utils/ci-status.ts.html +0 -2002
- package/coverage/lcov-report/src/utils/index.html +0 -131
- package/coverage/lcov-report/src/utils/utilities.ts.html +0 -1534
- package/coverage/lcov-report/utilities.ts.html +0 -1516
- package/coverage/lcov.info +0 -5870
- package/src/gitService.ts +0 -276
- /package/{monodog-conf.example.json → monodog-config.example.json} +0 -0
|
@@ -1,3010 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for monodog-dashboard/src/services/monorepoService.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../index.html">All files</a> / <a href="index.html">monodog-dashboard/src/services</a> monorepoService.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">71.23% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>104/146</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">24.19% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>15/62</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">72.72% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>16/22</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">72.14% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>101/140</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line medium'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
-
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
-
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
-
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
-
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
-
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
-
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
-
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
-
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
-
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
-
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
-
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
-
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
-
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
-
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
-
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
-
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
-
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
-
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
-
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
-
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
-
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
-
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
-
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
-
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
-
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
-
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
-
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
-
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
-
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
-
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
-
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
-
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
-
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
-
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
-
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
-
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
-
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
-
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
-
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
-
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
-
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
-
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
-
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
-
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
-
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
-
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
-
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
-
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
-
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
-
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
-
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
-
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
-
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
-
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
-
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
-
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
-
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
-
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
-
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
-
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
-
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
-
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
-
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
-
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
-
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
-
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
-
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
-
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
-
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
-
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
-
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
-
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
-
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
-
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
-
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
-
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
-
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
-
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
-
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
-
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
-
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
-
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
-
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
-
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
-
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
-
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
-
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
-
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
-
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
-
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
-
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
-
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
-
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
-
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
-
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
-
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
-
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
-
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
-
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
-
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
-
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
-
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
-
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
-
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
-
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
-
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
-
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
-
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
-
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
-
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
-
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
-
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
-
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
-
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
-
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
-
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
-
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
-
<a name='L391'></a><a href='#L391'>391</a>
|
|
457
|
-
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
|
-
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
|
-
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
-
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
-
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
-
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
-
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
-
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
-
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
-
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
-
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
-
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
-
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
-
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
-
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
-
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
-
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
-
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
-
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
-
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
-
<a name='L412'></a><a href='#L412'>412</a>
|
|
478
|
-
<a name='L413'></a><a href='#L413'>413</a>
|
|
479
|
-
<a name='L414'></a><a href='#L414'>414</a>
|
|
480
|
-
<a name='L415'></a><a href='#L415'>415</a>
|
|
481
|
-
<a name='L416'></a><a href='#L416'>416</a>
|
|
482
|
-
<a name='L417'></a><a href='#L417'>417</a>
|
|
483
|
-
<a name='L418'></a><a href='#L418'>418</a>
|
|
484
|
-
<a name='L419'></a><a href='#L419'>419</a>
|
|
485
|
-
<a name='L420'></a><a href='#L420'>420</a>
|
|
486
|
-
<a name='L421'></a><a href='#L421'>421</a>
|
|
487
|
-
<a name='L422'></a><a href='#L422'>422</a>
|
|
488
|
-
<a name='L423'></a><a href='#L423'>423</a>
|
|
489
|
-
<a name='L424'></a><a href='#L424'>424</a>
|
|
490
|
-
<a name='L425'></a><a href='#L425'>425</a>
|
|
491
|
-
<a name='L426'></a><a href='#L426'>426</a>
|
|
492
|
-
<a name='L427'></a><a href='#L427'>427</a>
|
|
493
|
-
<a name='L428'></a><a href='#L428'>428</a>
|
|
494
|
-
<a name='L429'></a><a href='#L429'>429</a>
|
|
495
|
-
<a name='L430'></a><a href='#L430'>430</a>
|
|
496
|
-
<a name='L431'></a><a href='#L431'>431</a>
|
|
497
|
-
<a name='L432'></a><a href='#L432'>432</a>
|
|
498
|
-
<a name='L433'></a><a href='#L433'>433</a>
|
|
499
|
-
<a name='L434'></a><a href='#L434'>434</a>
|
|
500
|
-
<a name='L435'></a><a href='#L435'>435</a>
|
|
501
|
-
<a name='L436'></a><a href='#L436'>436</a>
|
|
502
|
-
<a name='L437'></a><a href='#L437'>437</a>
|
|
503
|
-
<a name='L438'></a><a href='#L438'>438</a>
|
|
504
|
-
<a name='L439'></a><a href='#L439'>439</a>
|
|
505
|
-
<a name='L440'></a><a href='#L440'>440</a>
|
|
506
|
-
<a name='L441'></a><a href='#L441'>441</a>
|
|
507
|
-
<a name='L442'></a><a href='#L442'>442</a>
|
|
508
|
-
<a name='L443'></a><a href='#L443'>443</a>
|
|
509
|
-
<a name='L444'></a><a href='#L444'>444</a>
|
|
510
|
-
<a name='L445'></a><a href='#L445'>445</a>
|
|
511
|
-
<a name='L446'></a><a href='#L446'>446</a>
|
|
512
|
-
<a name='L447'></a><a href='#L447'>447</a>
|
|
513
|
-
<a name='L448'></a><a href='#L448'>448</a>
|
|
514
|
-
<a name='L449'></a><a href='#L449'>449</a>
|
|
515
|
-
<a name='L450'></a><a href='#L450'>450</a>
|
|
516
|
-
<a name='L451'></a><a href='#L451'>451</a>
|
|
517
|
-
<a name='L452'></a><a href='#L452'>452</a>
|
|
518
|
-
<a name='L453'></a><a href='#L453'>453</a>
|
|
519
|
-
<a name='L454'></a><a href='#L454'>454</a>
|
|
520
|
-
<a name='L455'></a><a href='#L455'>455</a>
|
|
521
|
-
<a name='L456'></a><a href='#L456'>456</a>
|
|
522
|
-
<a name='L457'></a><a href='#L457'>457</a>
|
|
523
|
-
<a name='L458'></a><a href='#L458'>458</a>
|
|
524
|
-
<a name='L459'></a><a href='#L459'>459</a>
|
|
525
|
-
<a name='L460'></a><a href='#L460'>460</a>
|
|
526
|
-
<a name='L461'></a><a href='#L461'>461</a>
|
|
527
|
-
<a name='L462'></a><a href='#L462'>462</a>
|
|
528
|
-
<a name='L463'></a><a href='#L463'>463</a>
|
|
529
|
-
<a name='L464'></a><a href='#L464'>464</a>
|
|
530
|
-
<a name='L465'></a><a href='#L465'>465</a>
|
|
531
|
-
<a name='L466'></a><a href='#L466'>466</a>
|
|
532
|
-
<a name='L467'></a><a href='#L467'>467</a>
|
|
533
|
-
<a name='L468'></a><a href='#L468'>468</a>
|
|
534
|
-
<a name='L469'></a><a href='#L469'>469</a>
|
|
535
|
-
<a name='L470'></a><a href='#L470'>470</a>
|
|
536
|
-
<a name='L471'></a><a href='#L471'>471</a>
|
|
537
|
-
<a name='L472'></a><a href='#L472'>472</a>
|
|
538
|
-
<a name='L473'></a><a href='#L473'>473</a>
|
|
539
|
-
<a name='L474'></a><a href='#L474'>474</a>
|
|
540
|
-
<a name='L475'></a><a href='#L475'>475</a>
|
|
541
|
-
<a name='L476'></a><a href='#L476'>476</a>
|
|
542
|
-
<a name='L477'></a><a href='#L477'>477</a>
|
|
543
|
-
<a name='L478'></a><a href='#L478'>478</a>
|
|
544
|
-
<a name='L479'></a><a href='#L479'>479</a>
|
|
545
|
-
<a name='L480'></a><a href='#L480'>480</a>
|
|
546
|
-
<a name='L481'></a><a href='#L481'>481</a>
|
|
547
|
-
<a name='L482'></a><a href='#L482'>482</a>
|
|
548
|
-
<a name='L483'></a><a href='#L483'>483</a>
|
|
549
|
-
<a name='L484'></a><a href='#L484'>484</a>
|
|
550
|
-
<a name='L485'></a><a href='#L485'>485</a>
|
|
551
|
-
<a name='L486'></a><a href='#L486'>486</a>
|
|
552
|
-
<a name='L487'></a><a href='#L487'>487</a>
|
|
553
|
-
<a name='L488'></a><a href='#L488'>488</a>
|
|
554
|
-
<a name='L489'></a><a href='#L489'>489</a>
|
|
555
|
-
<a name='L490'></a><a href='#L490'>490</a>
|
|
556
|
-
<a name='L491'></a><a href='#L491'>491</a>
|
|
557
|
-
<a name='L492'></a><a href='#L492'>492</a>
|
|
558
|
-
<a name='L493'></a><a href='#L493'>493</a>
|
|
559
|
-
<a name='L494'></a><a href='#L494'>494</a>
|
|
560
|
-
<a name='L495'></a><a href='#L495'>495</a>
|
|
561
|
-
<a name='L496'></a><a href='#L496'>496</a>
|
|
562
|
-
<a name='L497'></a><a href='#L497'>497</a>
|
|
563
|
-
<a name='L498'></a><a href='#L498'>498</a>
|
|
564
|
-
<a name='L499'></a><a href='#L499'>499</a>
|
|
565
|
-
<a name='L500'></a><a href='#L500'>500</a>
|
|
566
|
-
<a name='L501'></a><a href='#L501'>501</a>
|
|
567
|
-
<a name='L502'></a><a href='#L502'>502</a>
|
|
568
|
-
<a name='L503'></a><a href='#L503'>503</a>
|
|
569
|
-
<a name='L504'></a><a href='#L504'>504</a>
|
|
570
|
-
<a name='L505'></a><a href='#L505'>505</a>
|
|
571
|
-
<a name='L506'></a><a href='#L506'>506</a>
|
|
572
|
-
<a name='L507'></a><a href='#L507'>507</a>
|
|
573
|
-
<a name='L508'></a><a href='#L508'>508</a>
|
|
574
|
-
<a name='L509'></a><a href='#L509'>509</a>
|
|
575
|
-
<a name='L510'></a><a href='#L510'>510</a>
|
|
576
|
-
<a name='L511'></a><a href='#L511'>511</a>
|
|
577
|
-
<a name='L512'></a><a href='#L512'>512</a>
|
|
578
|
-
<a name='L513'></a><a href='#L513'>513</a>
|
|
579
|
-
<a name='L514'></a><a href='#L514'>514</a>
|
|
580
|
-
<a name='L515'></a><a href='#L515'>515</a>
|
|
581
|
-
<a name='L516'></a><a href='#L516'>516</a>
|
|
582
|
-
<a name='L517'></a><a href='#L517'>517</a>
|
|
583
|
-
<a name='L518'></a><a href='#L518'>518</a>
|
|
584
|
-
<a name='L519'></a><a href='#L519'>519</a>
|
|
585
|
-
<a name='L520'></a><a href='#L520'>520</a>
|
|
586
|
-
<a name='L521'></a><a href='#L521'>521</a>
|
|
587
|
-
<a name='L522'></a><a href='#L522'>522</a>
|
|
588
|
-
<a name='L523'></a><a href='#L523'>523</a>
|
|
589
|
-
<a name='L524'></a><a href='#L524'>524</a>
|
|
590
|
-
<a name='L525'></a><a href='#L525'>525</a>
|
|
591
|
-
<a name='L526'></a><a href='#L526'>526</a>
|
|
592
|
-
<a name='L527'></a><a href='#L527'>527</a>
|
|
593
|
-
<a name='L528'></a><a href='#L528'>528</a>
|
|
594
|
-
<a name='L529'></a><a href='#L529'>529</a>
|
|
595
|
-
<a name='L530'></a><a href='#L530'>530</a>
|
|
596
|
-
<a name='L531'></a><a href='#L531'>531</a>
|
|
597
|
-
<a name='L532'></a><a href='#L532'>532</a>
|
|
598
|
-
<a name='L533'></a><a href='#L533'>533</a>
|
|
599
|
-
<a name='L534'></a><a href='#L534'>534</a>
|
|
600
|
-
<a name='L535'></a><a href='#L535'>535</a>
|
|
601
|
-
<a name='L536'></a><a href='#L536'>536</a>
|
|
602
|
-
<a name='L537'></a><a href='#L537'>537</a>
|
|
603
|
-
<a name='L538'></a><a href='#L538'>538</a>
|
|
604
|
-
<a name='L539'></a><a href='#L539'>539</a>
|
|
605
|
-
<a name='L540'></a><a href='#L540'>540</a>
|
|
606
|
-
<a name='L541'></a><a href='#L541'>541</a>
|
|
607
|
-
<a name='L542'></a><a href='#L542'>542</a>
|
|
608
|
-
<a name='L543'></a><a href='#L543'>543</a>
|
|
609
|
-
<a name='L544'></a><a href='#L544'>544</a>
|
|
610
|
-
<a name='L545'></a><a href='#L545'>545</a>
|
|
611
|
-
<a name='L546'></a><a href='#L546'>546</a>
|
|
612
|
-
<a name='L547'></a><a href='#L547'>547</a>
|
|
613
|
-
<a name='L548'></a><a href='#L548'>548</a>
|
|
614
|
-
<a name='L549'></a><a href='#L549'>549</a>
|
|
615
|
-
<a name='L550'></a><a href='#L550'>550</a>
|
|
616
|
-
<a name='L551'></a><a href='#L551'>551</a>
|
|
617
|
-
<a name='L552'></a><a href='#L552'>552</a>
|
|
618
|
-
<a name='L553'></a><a href='#L553'>553</a>
|
|
619
|
-
<a name='L554'></a><a href='#L554'>554</a>
|
|
620
|
-
<a name='L555'></a><a href='#L555'>555</a>
|
|
621
|
-
<a name='L556'></a><a href='#L556'>556</a>
|
|
622
|
-
<a name='L557'></a><a href='#L557'>557</a>
|
|
623
|
-
<a name='L558'></a><a href='#L558'>558</a>
|
|
624
|
-
<a name='L559'></a><a href='#L559'>559</a>
|
|
625
|
-
<a name='L560'></a><a href='#L560'>560</a>
|
|
626
|
-
<a name='L561'></a><a href='#L561'>561</a>
|
|
627
|
-
<a name='L562'></a><a href='#L562'>562</a>
|
|
628
|
-
<a name='L563'></a><a href='#L563'>563</a>
|
|
629
|
-
<a name='L564'></a><a href='#L564'>564</a>
|
|
630
|
-
<a name='L565'></a><a href='#L565'>565</a>
|
|
631
|
-
<a name='L566'></a><a href='#L566'>566</a>
|
|
632
|
-
<a name='L567'></a><a href='#L567'>567</a>
|
|
633
|
-
<a name='L568'></a><a href='#L568'>568</a>
|
|
634
|
-
<a name='L569'></a><a href='#L569'>569</a>
|
|
635
|
-
<a name='L570'></a><a href='#L570'>570</a>
|
|
636
|
-
<a name='L571'></a><a href='#L571'>571</a>
|
|
637
|
-
<a name='L572'></a><a href='#L572'>572</a>
|
|
638
|
-
<a name='L573'></a><a href='#L573'>573</a>
|
|
639
|
-
<a name='L574'></a><a href='#L574'>574</a>
|
|
640
|
-
<a name='L575'></a><a href='#L575'>575</a>
|
|
641
|
-
<a name='L576'></a><a href='#L576'>576</a>
|
|
642
|
-
<a name='L577'></a><a href='#L577'>577</a>
|
|
643
|
-
<a name='L578'></a><a href='#L578'>578</a>
|
|
644
|
-
<a name='L579'></a><a href='#L579'>579</a>
|
|
645
|
-
<a name='L580'></a><a href='#L580'>580</a>
|
|
646
|
-
<a name='L581'></a><a href='#L581'>581</a>
|
|
647
|
-
<a name='L582'></a><a href='#L582'>582</a>
|
|
648
|
-
<a name='L583'></a><a href='#L583'>583</a>
|
|
649
|
-
<a name='L584'></a><a href='#L584'>584</a>
|
|
650
|
-
<a name='L585'></a><a href='#L585'>585</a>
|
|
651
|
-
<a name='L586'></a><a href='#L586'>586</a>
|
|
652
|
-
<a name='L587'></a><a href='#L587'>587</a>
|
|
653
|
-
<a name='L588'></a><a href='#L588'>588</a>
|
|
654
|
-
<a name='L589'></a><a href='#L589'>589</a>
|
|
655
|
-
<a name='L590'></a><a href='#L590'>590</a>
|
|
656
|
-
<a name='L591'></a><a href='#L591'>591</a>
|
|
657
|
-
<a name='L592'></a><a href='#L592'>592</a>
|
|
658
|
-
<a name='L593'></a><a href='#L593'>593</a>
|
|
659
|
-
<a name='L594'></a><a href='#L594'>594</a>
|
|
660
|
-
<a name='L595'></a><a href='#L595'>595</a>
|
|
661
|
-
<a name='L596'></a><a href='#L596'>596</a>
|
|
662
|
-
<a name='L597'></a><a href='#L597'>597</a>
|
|
663
|
-
<a name='L598'></a><a href='#L598'>598</a>
|
|
664
|
-
<a name='L599'></a><a href='#L599'>599</a>
|
|
665
|
-
<a name='L600'></a><a href='#L600'>600</a>
|
|
666
|
-
<a name='L601'></a><a href='#L601'>601</a>
|
|
667
|
-
<a name='L602'></a><a href='#L602'>602</a>
|
|
668
|
-
<a name='L603'></a><a href='#L603'>603</a>
|
|
669
|
-
<a name='L604'></a><a href='#L604'>604</a>
|
|
670
|
-
<a name='L605'></a><a href='#L605'>605</a>
|
|
671
|
-
<a name='L606'></a><a href='#L606'>606</a>
|
|
672
|
-
<a name='L607'></a><a href='#L607'>607</a>
|
|
673
|
-
<a name='L608'></a><a href='#L608'>608</a>
|
|
674
|
-
<a name='L609'></a><a href='#L609'>609</a>
|
|
675
|
-
<a name='L610'></a><a href='#L610'>610</a>
|
|
676
|
-
<a name='L611'></a><a href='#L611'>611</a>
|
|
677
|
-
<a name='L612'></a><a href='#L612'>612</a>
|
|
678
|
-
<a name='L613'></a><a href='#L613'>613</a>
|
|
679
|
-
<a name='L614'></a><a href='#L614'>614</a>
|
|
680
|
-
<a name='L615'></a><a href='#L615'>615</a>
|
|
681
|
-
<a name='L616'></a><a href='#L616'>616</a>
|
|
682
|
-
<a name='L617'></a><a href='#L617'>617</a>
|
|
683
|
-
<a name='L618'></a><a href='#L618'>618</a>
|
|
684
|
-
<a name='L619'></a><a href='#L619'>619</a>
|
|
685
|
-
<a name='L620'></a><a href='#L620'>620</a>
|
|
686
|
-
<a name='L621'></a><a href='#L621'>621</a>
|
|
687
|
-
<a name='L622'></a><a href='#L622'>622</a>
|
|
688
|
-
<a name='L623'></a><a href='#L623'>623</a>
|
|
689
|
-
<a name='L624'></a><a href='#L624'>624</a>
|
|
690
|
-
<a name='L625'></a><a href='#L625'>625</a>
|
|
691
|
-
<a name='L626'></a><a href='#L626'>626</a>
|
|
692
|
-
<a name='L627'></a><a href='#L627'>627</a>
|
|
693
|
-
<a name='L628'></a><a href='#L628'>628</a>
|
|
694
|
-
<a name='L629'></a><a href='#L629'>629</a>
|
|
695
|
-
<a name='L630'></a><a href='#L630'>630</a>
|
|
696
|
-
<a name='L631'></a><a href='#L631'>631</a>
|
|
697
|
-
<a name='L632'></a><a href='#L632'>632</a>
|
|
698
|
-
<a name='L633'></a><a href='#L633'>633</a>
|
|
699
|
-
<a name='L634'></a><a href='#L634'>634</a>
|
|
700
|
-
<a name='L635'></a><a href='#L635'>635</a>
|
|
701
|
-
<a name='L636'></a><a href='#L636'>636</a>
|
|
702
|
-
<a name='L637'></a><a href='#L637'>637</a>
|
|
703
|
-
<a name='L638'></a><a href='#L638'>638</a>
|
|
704
|
-
<a name='L639'></a><a href='#L639'>639</a>
|
|
705
|
-
<a name='L640'></a><a href='#L640'>640</a>
|
|
706
|
-
<a name='L641'></a><a href='#L641'>641</a>
|
|
707
|
-
<a name='L642'></a><a href='#L642'>642</a>
|
|
708
|
-
<a name='L643'></a><a href='#L643'>643</a>
|
|
709
|
-
<a name='L644'></a><a href='#L644'>644</a>
|
|
710
|
-
<a name='L645'></a><a href='#L645'>645</a>
|
|
711
|
-
<a name='L646'></a><a href='#L646'>646</a>
|
|
712
|
-
<a name='L647'></a><a href='#L647'>647</a>
|
|
713
|
-
<a name='L648'></a><a href='#L648'>648</a>
|
|
714
|
-
<a name='L649'></a><a href='#L649'>649</a>
|
|
715
|
-
<a name='L650'></a><a href='#L650'>650</a>
|
|
716
|
-
<a name='L651'></a><a href='#L651'>651</a>
|
|
717
|
-
<a name='L652'></a><a href='#L652'>652</a>
|
|
718
|
-
<a name='L653'></a><a href='#L653'>653</a>
|
|
719
|
-
<a name='L654'></a><a href='#L654'>654</a>
|
|
720
|
-
<a name='L655'></a><a href='#L655'>655</a>
|
|
721
|
-
<a name='L656'></a><a href='#L656'>656</a>
|
|
722
|
-
<a name='L657'></a><a href='#L657'>657</a>
|
|
723
|
-
<a name='L658'></a><a href='#L658'>658</a>
|
|
724
|
-
<a name='L659'></a><a href='#L659'>659</a>
|
|
725
|
-
<a name='L660'></a><a href='#L660'>660</a>
|
|
726
|
-
<a name='L661'></a><a href='#L661'>661</a>
|
|
727
|
-
<a name='L662'></a><a href='#L662'>662</a>
|
|
728
|
-
<a name='L663'></a><a href='#L663'>663</a>
|
|
729
|
-
<a name='L664'></a><a href='#L664'>664</a>
|
|
730
|
-
<a name='L665'></a><a href='#L665'>665</a>
|
|
731
|
-
<a name='L666'></a><a href='#L666'>666</a>
|
|
732
|
-
<a name='L667'></a><a href='#L667'>667</a>
|
|
733
|
-
<a name='L668'></a><a href='#L668'>668</a>
|
|
734
|
-
<a name='L669'></a><a href='#L669'>669</a>
|
|
735
|
-
<a name='L670'></a><a href='#L670'>670</a>
|
|
736
|
-
<a name='L671'></a><a href='#L671'>671</a>
|
|
737
|
-
<a name='L672'></a><a href='#L672'>672</a>
|
|
738
|
-
<a name='L673'></a><a href='#L673'>673</a>
|
|
739
|
-
<a name='L674'></a><a href='#L674'>674</a>
|
|
740
|
-
<a name='L675'></a><a href='#L675'>675</a>
|
|
741
|
-
<a name='L676'></a><a href='#L676'>676</a>
|
|
742
|
-
<a name='L677'></a><a href='#L677'>677</a>
|
|
743
|
-
<a name='L678'></a><a href='#L678'>678</a>
|
|
744
|
-
<a name='L679'></a><a href='#L679'>679</a>
|
|
745
|
-
<a name='L680'></a><a href='#L680'>680</a>
|
|
746
|
-
<a name='L681'></a><a href='#L681'>681</a>
|
|
747
|
-
<a name='L682'></a><a href='#L682'>682</a>
|
|
748
|
-
<a name='L683'></a><a href='#L683'>683</a>
|
|
749
|
-
<a name='L684'></a><a href='#L684'>684</a>
|
|
750
|
-
<a name='L685'></a><a href='#L685'>685</a>
|
|
751
|
-
<a name='L686'></a><a href='#L686'>686</a>
|
|
752
|
-
<a name='L687'></a><a href='#L687'>687</a>
|
|
753
|
-
<a name='L688'></a><a href='#L688'>688</a>
|
|
754
|
-
<a name='L689'></a><a href='#L689'>689</a>
|
|
755
|
-
<a name='L690'></a><a href='#L690'>690</a>
|
|
756
|
-
<a name='L691'></a><a href='#L691'>691</a>
|
|
757
|
-
<a name='L692'></a><a href='#L692'>692</a>
|
|
758
|
-
<a name='L693'></a><a href='#L693'>693</a>
|
|
759
|
-
<a name='L694'></a><a href='#L694'>694</a>
|
|
760
|
-
<a name='L695'></a><a href='#L695'>695</a>
|
|
761
|
-
<a name='L696'></a><a href='#L696'>696</a>
|
|
762
|
-
<a name='L697'></a><a href='#L697'>697</a>
|
|
763
|
-
<a name='L698'></a><a href='#L698'>698</a>
|
|
764
|
-
<a name='L699'></a><a href='#L699'>699</a>
|
|
765
|
-
<a name='L700'></a><a href='#L700'>700</a>
|
|
766
|
-
<a name='L701'></a><a href='#L701'>701</a>
|
|
767
|
-
<a name='L702'></a><a href='#L702'>702</a>
|
|
768
|
-
<a name='L703'></a><a href='#L703'>703</a>
|
|
769
|
-
<a name='L704'></a><a href='#L704'>704</a>
|
|
770
|
-
<a name='L705'></a><a href='#L705'>705</a>
|
|
771
|
-
<a name='L706'></a><a href='#L706'>706</a>
|
|
772
|
-
<a name='L707'></a><a href='#L707'>707</a>
|
|
773
|
-
<a name='L708'></a><a href='#L708'>708</a>
|
|
774
|
-
<a name='L709'></a><a href='#L709'>709</a>
|
|
775
|
-
<a name='L710'></a><a href='#L710'>710</a>
|
|
776
|
-
<a name='L711'></a><a href='#L711'>711</a>
|
|
777
|
-
<a name='L712'></a><a href='#L712'>712</a>
|
|
778
|
-
<a name='L713'></a><a href='#L713'>713</a>
|
|
779
|
-
<a name='L714'></a><a href='#L714'>714</a>
|
|
780
|
-
<a name='L715'></a><a href='#L715'>715</a>
|
|
781
|
-
<a name='L716'></a><a href='#L716'>716</a>
|
|
782
|
-
<a name='L717'></a><a href='#L717'>717</a>
|
|
783
|
-
<a name='L718'></a><a href='#L718'>718</a>
|
|
784
|
-
<a name='L719'></a><a href='#L719'>719</a>
|
|
785
|
-
<a name='L720'></a><a href='#L720'>720</a>
|
|
786
|
-
<a name='L721'></a><a href='#L721'>721</a>
|
|
787
|
-
<a name='L722'></a><a href='#L722'>722</a>
|
|
788
|
-
<a name='L723'></a><a href='#L723'>723</a>
|
|
789
|
-
<a name='L724'></a><a href='#L724'>724</a>
|
|
790
|
-
<a name='L725'></a><a href='#L725'>725</a>
|
|
791
|
-
<a name='L726'></a><a href='#L726'>726</a>
|
|
792
|
-
<a name='L727'></a><a href='#L727'>727</a>
|
|
793
|
-
<a name='L728'></a><a href='#L728'>728</a>
|
|
794
|
-
<a name='L729'></a><a href='#L729'>729</a>
|
|
795
|
-
<a name='L730'></a><a href='#L730'>730</a>
|
|
796
|
-
<a name='L731'></a><a href='#L731'>731</a>
|
|
797
|
-
<a name='L732'></a><a href='#L732'>732</a>
|
|
798
|
-
<a name='L733'></a><a href='#L733'>733</a>
|
|
799
|
-
<a name='L734'></a><a href='#L734'>734</a>
|
|
800
|
-
<a name='L735'></a><a href='#L735'>735</a>
|
|
801
|
-
<a name='L736'></a><a href='#L736'>736</a>
|
|
802
|
-
<a name='L737'></a><a href='#L737'>737</a>
|
|
803
|
-
<a name='L738'></a><a href='#L738'>738</a>
|
|
804
|
-
<a name='L739'></a><a href='#L739'>739</a>
|
|
805
|
-
<a name='L740'></a><a href='#L740'>740</a>
|
|
806
|
-
<a name='L741'></a><a href='#L741'>741</a>
|
|
807
|
-
<a name='L742'></a><a href='#L742'>742</a>
|
|
808
|
-
<a name='L743'></a><a href='#L743'>743</a>
|
|
809
|
-
<a name='L744'></a><a href='#L744'>744</a>
|
|
810
|
-
<a name='L745'></a><a href='#L745'>745</a>
|
|
811
|
-
<a name='L746'></a><a href='#L746'>746</a>
|
|
812
|
-
<a name='L747'></a><a href='#L747'>747</a>
|
|
813
|
-
<a name='L748'></a><a href='#L748'>748</a>
|
|
814
|
-
<a name='L749'></a><a href='#L749'>749</a>
|
|
815
|
-
<a name='L750'></a><a href='#L750'>750</a>
|
|
816
|
-
<a name='L751'></a><a href='#L751'>751</a>
|
|
817
|
-
<a name='L752'></a><a href='#L752'>752</a>
|
|
818
|
-
<a name='L753'></a><a href='#L753'>753</a>
|
|
819
|
-
<a name='L754'></a><a href='#L754'>754</a>
|
|
820
|
-
<a name='L755'></a><a href='#L755'>755</a>
|
|
821
|
-
<a name='L756'></a><a href='#L756'>756</a>
|
|
822
|
-
<a name='L757'></a><a href='#L757'>757</a>
|
|
823
|
-
<a name='L758'></a><a href='#L758'>758</a>
|
|
824
|
-
<a name='L759'></a><a href='#L759'>759</a>
|
|
825
|
-
<a name='L760'></a><a href='#L760'>760</a>
|
|
826
|
-
<a name='L761'></a><a href='#L761'>761</a>
|
|
827
|
-
<a name='L762'></a><a href='#L762'>762</a>
|
|
828
|
-
<a name='L763'></a><a href='#L763'>763</a>
|
|
829
|
-
<a name='L764'></a><a href='#L764'>764</a>
|
|
830
|
-
<a name='L765'></a><a href='#L765'>765</a>
|
|
831
|
-
<a name='L766'></a><a href='#L766'>766</a>
|
|
832
|
-
<a name='L767'></a><a href='#L767'>767</a>
|
|
833
|
-
<a name='L768'></a><a href='#L768'>768</a>
|
|
834
|
-
<a name='L769'></a><a href='#L769'>769</a>
|
|
835
|
-
<a name='L770'></a><a href='#L770'>770</a>
|
|
836
|
-
<a name='L771'></a><a href='#L771'>771</a>
|
|
837
|
-
<a name='L772'></a><a href='#L772'>772</a>
|
|
838
|
-
<a name='L773'></a><a href='#L773'>773</a>
|
|
839
|
-
<a name='L774'></a><a href='#L774'>774</a>
|
|
840
|
-
<a name='L775'></a><a href='#L775'>775</a>
|
|
841
|
-
<a name='L776'></a><a href='#L776'>776</a>
|
|
842
|
-
<a name='L777'></a><a href='#L777'>777</a>
|
|
843
|
-
<a name='L778'></a><a href='#L778'>778</a>
|
|
844
|
-
<a name='L779'></a><a href='#L779'>779</a>
|
|
845
|
-
<a name='L780'></a><a href='#L780'>780</a>
|
|
846
|
-
<a name='L781'></a><a href='#L781'>781</a>
|
|
847
|
-
<a name='L782'></a><a href='#L782'>782</a>
|
|
848
|
-
<a name='L783'></a><a href='#L783'>783</a>
|
|
849
|
-
<a name='L784'></a><a href='#L784'>784</a>
|
|
850
|
-
<a name='L785'></a><a href='#L785'>785</a>
|
|
851
|
-
<a name='L786'></a><a href='#L786'>786</a>
|
|
852
|
-
<a name='L787'></a><a href='#L787'>787</a>
|
|
853
|
-
<a name='L788'></a><a href='#L788'>788</a>
|
|
854
|
-
<a name='L789'></a><a href='#L789'>789</a>
|
|
855
|
-
<a name='L790'></a><a href='#L790'>790</a>
|
|
856
|
-
<a name='L791'></a><a href='#L791'>791</a>
|
|
857
|
-
<a name='L792'></a><a href='#L792'>792</a>
|
|
858
|
-
<a name='L793'></a><a href='#L793'>793</a>
|
|
859
|
-
<a name='L794'></a><a href='#L794'>794</a>
|
|
860
|
-
<a name='L795'></a><a href='#L795'>795</a>
|
|
861
|
-
<a name='L796'></a><a href='#L796'>796</a>
|
|
862
|
-
<a name='L797'></a><a href='#L797'>797</a>
|
|
863
|
-
<a name='L798'></a><a href='#L798'>798</a>
|
|
864
|
-
<a name='L799'></a><a href='#L799'>799</a>
|
|
865
|
-
<a name='L800'></a><a href='#L800'>800</a>
|
|
866
|
-
<a name='L801'></a><a href='#L801'>801</a>
|
|
867
|
-
<a name='L802'></a><a href='#L802'>802</a>
|
|
868
|
-
<a name='L803'></a><a href='#L803'>803</a>
|
|
869
|
-
<a name='L804'></a><a href='#L804'>804</a>
|
|
870
|
-
<a name='L805'></a><a href='#L805'>805</a>
|
|
871
|
-
<a name='L806'></a><a href='#L806'>806</a>
|
|
872
|
-
<a name='L807'></a><a href='#L807'>807</a>
|
|
873
|
-
<a name='L808'></a><a href='#L808'>808</a>
|
|
874
|
-
<a name='L809'></a><a href='#L809'>809</a>
|
|
875
|
-
<a name='L810'></a><a href='#L810'>810</a>
|
|
876
|
-
<a name='L811'></a><a href='#L811'>811</a>
|
|
877
|
-
<a name='L812'></a><a href='#L812'>812</a>
|
|
878
|
-
<a name='L813'></a><a href='#L813'>813</a>
|
|
879
|
-
<a name='L814'></a><a href='#L814'>814</a>
|
|
880
|
-
<a name='L815'></a><a href='#L815'>815</a>
|
|
881
|
-
<a name='L816'></a><a href='#L816'>816</a>
|
|
882
|
-
<a name='L817'></a><a href='#L817'>817</a>
|
|
883
|
-
<a name='L818'></a><a href='#L818'>818</a>
|
|
884
|
-
<a name='L819'></a><a href='#L819'>819</a>
|
|
885
|
-
<a name='L820'></a><a href='#L820'>820</a>
|
|
886
|
-
<a name='L821'></a><a href='#L821'>821</a>
|
|
887
|
-
<a name='L822'></a><a href='#L822'>822</a>
|
|
888
|
-
<a name='L823'></a><a href='#L823'>823</a>
|
|
889
|
-
<a name='L824'></a><a href='#L824'>824</a>
|
|
890
|
-
<a name='L825'></a><a href='#L825'>825</a>
|
|
891
|
-
<a name='L826'></a><a href='#L826'>826</a>
|
|
892
|
-
<a name='L827'></a><a href='#L827'>827</a>
|
|
893
|
-
<a name='L828'></a><a href='#L828'>828</a>
|
|
894
|
-
<a name='L829'></a><a href='#L829'>829</a>
|
|
895
|
-
<a name='L830'></a><a href='#L830'>830</a>
|
|
896
|
-
<a name='L831'></a><a href='#L831'>831</a>
|
|
897
|
-
<a name='L832'></a><a href='#L832'>832</a>
|
|
898
|
-
<a name='L833'></a><a href='#L833'>833</a>
|
|
899
|
-
<a name='L834'></a><a href='#L834'>834</a>
|
|
900
|
-
<a name='L835'></a><a href='#L835'>835</a>
|
|
901
|
-
<a name='L836'></a><a href='#L836'>836</a>
|
|
902
|
-
<a name='L837'></a><a href='#L837'>837</a>
|
|
903
|
-
<a name='L838'></a><a href='#L838'>838</a>
|
|
904
|
-
<a name='L839'></a><a href='#L839'>839</a>
|
|
905
|
-
<a name='L840'></a><a href='#L840'>840</a>
|
|
906
|
-
<a name='L841'></a><a href='#L841'>841</a>
|
|
907
|
-
<a name='L842'></a><a href='#L842'>842</a>
|
|
908
|
-
<a name='L843'></a><a href='#L843'>843</a>
|
|
909
|
-
<a name='L844'></a><a href='#L844'>844</a>
|
|
910
|
-
<a name='L845'></a><a href='#L845'>845</a>
|
|
911
|
-
<a name='L846'></a><a href='#L846'>846</a>
|
|
912
|
-
<a name='L847'></a><a href='#L847'>847</a>
|
|
913
|
-
<a name='L848'></a><a href='#L848'>848</a>
|
|
914
|
-
<a name='L849'></a><a href='#L849'>849</a>
|
|
915
|
-
<a name='L850'></a><a href='#L850'>850</a>
|
|
916
|
-
<a name='L851'></a><a href='#L851'>851</a>
|
|
917
|
-
<a name='L852'></a><a href='#L852'>852</a>
|
|
918
|
-
<a name='L853'></a><a href='#L853'>853</a>
|
|
919
|
-
<a name='L854'></a><a href='#L854'>854</a>
|
|
920
|
-
<a name='L855'></a><a href='#L855'>855</a>
|
|
921
|
-
<a name='L856'></a><a href='#L856'>856</a>
|
|
922
|
-
<a name='L857'></a><a href='#L857'>857</a>
|
|
923
|
-
<a name='L858'></a><a href='#L858'>858</a>
|
|
924
|
-
<a name='L859'></a><a href='#L859'>859</a>
|
|
925
|
-
<a name='L860'></a><a href='#L860'>860</a>
|
|
926
|
-
<a name='L861'></a><a href='#L861'>861</a>
|
|
927
|
-
<a name='L862'></a><a href='#L862'>862</a>
|
|
928
|
-
<a name='L863'></a><a href='#L863'>863</a>
|
|
929
|
-
<a name='L864'></a><a href='#L864'>864</a>
|
|
930
|
-
<a name='L865'></a><a href='#L865'>865</a>
|
|
931
|
-
<a name='L866'></a><a href='#L866'>866</a>
|
|
932
|
-
<a name='L867'></a><a href='#L867'>867</a>
|
|
933
|
-
<a name='L868'></a><a href='#L868'>868</a>
|
|
934
|
-
<a name='L869'></a><a href='#L869'>869</a>
|
|
935
|
-
<a name='L870'></a><a href='#L870'>870</a>
|
|
936
|
-
<a name='L871'></a><a href='#L871'>871</a>
|
|
937
|
-
<a name='L872'></a><a href='#L872'>872</a>
|
|
938
|
-
<a name='L873'></a><a href='#L873'>873</a>
|
|
939
|
-
<a name='L874'></a><a href='#L874'>874</a>
|
|
940
|
-
<a name='L875'></a><a href='#L875'>875</a>
|
|
941
|
-
<a name='L876'></a><a href='#L876'>876</a>
|
|
942
|
-
<a name='L877'></a><a href='#L877'>877</a>
|
|
943
|
-
<a name='L878'></a><a href='#L878'>878</a>
|
|
944
|
-
<a name='L879'></a><a href='#L879'>879</a>
|
|
945
|
-
<a name='L880'></a><a href='#L880'>880</a>
|
|
946
|
-
<a name='L881'></a><a href='#L881'>881</a>
|
|
947
|
-
<a name='L882'></a><a href='#L882'>882</a>
|
|
948
|
-
<a name='L883'></a><a href='#L883'>883</a>
|
|
949
|
-
<a name='L884'></a><a href='#L884'>884</a>
|
|
950
|
-
<a name='L885'></a><a href='#L885'>885</a>
|
|
951
|
-
<a name='L886'></a><a href='#L886'>886</a>
|
|
952
|
-
<a name='L887'></a><a href='#L887'>887</a>
|
|
953
|
-
<a name='L888'></a><a href='#L888'>888</a>
|
|
954
|
-
<a name='L889'></a><a href='#L889'>889</a>
|
|
955
|
-
<a name='L890'></a><a href='#L890'>890</a>
|
|
956
|
-
<a name='L891'></a><a href='#L891'>891</a>
|
|
957
|
-
<a name='L892'></a><a href='#L892'>892</a>
|
|
958
|
-
<a name='L893'></a><a href='#L893'>893</a>
|
|
959
|
-
<a name='L894'></a><a href='#L894'>894</a>
|
|
960
|
-
<a name='L895'></a><a href='#L895'>895</a>
|
|
961
|
-
<a name='L896'></a><a href='#L896'>896</a>
|
|
962
|
-
<a name='L897'></a><a href='#L897'>897</a>
|
|
963
|
-
<a name='L898'></a><a href='#L898'>898</a>
|
|
964
|
-
<a name='L899'></a><a href='#L899'>899</a>
|
|
965
|
-
<a name='L900'></a><a href='#L900'>900</a>
|
|
966
|
-
<a name='L901'></a><a href='#L901'>901</a>
|
|
967
|
-
<a name='L902'></a><a href='#L902'>902</a>
|
|
968
|
-
<a name='L903'></a><a href='#L903'>903</a>
|
|
969
|
-
<a name='L904'></a><a href='#L904'>904</a>
|
|
970
|
-
<a name='L905'></a><a href='#L905'>905</a>
|
|
971
|
-
<a name='L906'></a><a href='#L906'>906</a>
|
|
972
|
-
<a name='L907'></a><a href='#L907'>907</a>
|
|
973
|
-
<a name='L908'></a><a href='#L908'>908</a>
|
|
974
|
-
<a name='L909'></a><a href='#L909'>909</a>
|
|
975
|
-
<a name='L910'></a><a href='#L910'>910</a>
|
|
976
|
-
<a name='L911'></a><a href='#L911'>911</a>
|
|
977
|
-
<a name='L912'></a><a href='#L912'>912</a>
|
|
978
|
-
<a name='L913'></a><a href='#L913'>913</a>
|
|
979
|
-
<a name='L914'></a><a href='#L914'>914</a>
|
|
980
|
-
<a name='L915'></a><a href='#L915'>915</a>
|
|
981
|
-
<a name='L916'></a><a href='#L916'>916</a>
|
|
982
|
-
<a name='L917'></a><a href='#L917'>917</a>
|
|
983
|
-
<a name='L918'></a><a href='#L918'>918</a>
|
|
984
|
-
<a name='L919'></a><a href='#L919'>919</a>
|
|
985
|
-
<a name='L920'></a><a href='#L920'>920</a>
|
|
986
|
-
<a name='L921'></a><a href='#L921'>921</a>
|
|
987
|
-
<a name='L922'></a><a href='#L922'>922</a>
|
|
988
|
-
<a name='L923'></a><a href='#L923'>923</a>
|
|
989
|
-
<a name='L924'></a><a href='#L924'>924</a>
|
|
990
|
-
<a name='L925'></a><a href='#L925'>925</a>
|
|
991
|
-
<a name='L926'></a><a href='#L926'>926</a>
|
|
992
|
-
<a name='L927'></a><a href='#L927'>927</a>
|
|
993
|
-
<a name='L928'></a><a href='#L928'>928</a>
|
|
994
|
-
<a name='L929'></a><a href='#L929'>929</a>
|
|
995
|
-
<a name='L930'></a><a href='#L930'>930</a>
|
|
996
|
-
<a name='L931'></a><a href='#L931'>931</a>
|
|
997
|
-
<a name='L932'></a><a href='#L932'>932</a>
|
|
998
|
-
<a name='L933'></a><a href='#L933'>933</a>
|
|
999
|
-
<a name='L934'></a><a href='#L934'>934</a>
|
|
1000
|
-
<a name='L935'></a><a href='#L935'>935</a>
|
|
1001
|
-
<a name='L936'></a><a href='#L936'>936</a>
|
|
1002
|
-
<a name='L937'></a><a href='#L937'>937</a>
|
|
1003
|
-
<a name='L938'></a><a href='#L938'>938</a>
|
|
1004
|
-
<a name='L939'></a><a href='#L939'>939</a>
|
|
1005
|
-
<a name='L940'></a><a href='#L940'>940</a>
|
|
1006
|
-
<a name='L941'></a><a href='#L941'>941</a>
|
|
1007
|
-
<a name='L942'></a><a href='#L942'>942</a>
|
|
1008
|
-
<a name='L943'></a><a href='#L943'>943</a>
|
|
1009
|
-
<a name='L944'></a><a href='#L944'>944</a>
|
|
1010
|
-
<a name='L945'></a><a href='#L945'>945</a>
|
|
1011
|
-
<a name='L946'></a><a href='#L946'>946</a>
|
|
1012
|
-
<a name='L947'></a><a href='#L947'>947</a>
|
|
1013
|
-
<a name='L948'></a><a href='#L948'>948</a>
|
|
1014
|
-
<a name='L949'></a><a href='#L949'>949</a>
|
|
1015
|
-
<a name='L950'></a><a href='#L950'>950</a>
|
|
1016
|
-
<a name='L951'></a><a href='#L951'>951</a>
|
|
1017
|
-
<a name='L952'></a><a href='#L952'>952</a>
|
|
1018
|
-
<a name='L953'></a><a href='#L953'>953</a>
|
|
1019
|
-
<a name='L954'></a><a href='#L954'>954</a>
|
|
1020
|
-
<a name='L955'></a><a href='#L955'>955</a>
|
|
1021
|
-
<a name='L956'></a><a href='#L956'>956</a>
|
|
1022
|
-
<a name='L957'></a><a href='#L957'>957</a>
|
|
1023
|
-
<a name='L958'></a><a href='#L958'>958</a>
|
|
1024
|
-
<a name='L959'></a><a href='#L959'>959</a>
|
|
1025
|
-
<a name='L960'></a><a href='#L960'>960</a>
|
|
1026
|
-
<a name='L961'></a><a href='#L961'>961</a>
|
|
1027
|
-
<a name='L962'></a><a href='#L962'>962</a>
|
|
1028
|
-
<a name='L963'></a><a href='#L963'>963</a>
|
|
1029
|
-
<a name='L964'></a><a href='#L964'>964</a>
|
|
1030
|
-
<a name='L965'></a><a href='#L965'>965</a>
|
|
1031
|
-
<a name='L966'></a><a href='#L966'>966</a>
|
|
1032
|
-
<a name='L967'></a><a href='#L967'>967</a>
|
|
1033
|
-
<a name='L968'></a><a href='#L968'>968</a>
|
|
1034
|
-
<a name='L969'></a><a href='#L969'>969</a>
|
|
1035
|
-
<a name='L970'></a><a href='#L970'>970</a>
|
|
1036
|
-
<a name='L971'></a><a href='#L971'>971</a>
|
|
1037
|
-
<a name='L972'></a><a href='#L972'>972</a>
|
|
1038
|
-
<a name='L973'></a><a href='#L973'>973</a>
|
|
1039
|
-
<a name='L974'></a><a href='#L974'>974</a>
|
|
1040
|
-
<a name='L975'></a><a href='#L975'>975</a>
|
|
1041
|
-
<a name='L976'></a><a href='#L976'>976</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
1042
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1043
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1044
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1045
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1046
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1047
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1048
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1049
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1050
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1051
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1052
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1053
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1054
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1055
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1056
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1057
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1058
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1059
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1060
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1061
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1062
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1063
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1064
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1065
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1066
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1067
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1068
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1069
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1070
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1071
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1072
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1073
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1074
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1075
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1076
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1077
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1078
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1079
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1080
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1081
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1082
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1083
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1084
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1085
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1086
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1087
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1088
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1089
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1090
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1091
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1092
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1093
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1094
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1095
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1096
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1097
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1098
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1099
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1100
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1101
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1102
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1103
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1104
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1105
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1106
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1107
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1108
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1109
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1110
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1111
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1112
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1113
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1114
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1115
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1116
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1117
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1118
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1119
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1120
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1121
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1122
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1123
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1124
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1125
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1126
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1127
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1128
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1129
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1130
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1131
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1132
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1133
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1134
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1135
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1136
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1137
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1138
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1139
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1140
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1141
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1142
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1143
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1144
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1145
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1146
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1147
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1148
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1149
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1150
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1151
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1152
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1153
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1154
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1155
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1156
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1157
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1158
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1159
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1160
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1161
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1162
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1163
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1164
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1165
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1166
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1167
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1168
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1169
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1170
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1171
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1172
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1173
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1174
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1175
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1176
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1177
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1178
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1181
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1182
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1183
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1184
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1185
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1186
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1187
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1188
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1189
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1190
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1191
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1192
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1193
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1194
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1195
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1196
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1197
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1198
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1199
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1200
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1201
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1202
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1203
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1204
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1205
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1206
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1207
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1209
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1210
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1211
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1212
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1213
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1214
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1215
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1216
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1217
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1218
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1219
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1220
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1221
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1222
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1223
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1224
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1225
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1226
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1228
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1229
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1230
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1231
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1232
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1233
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1235
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1236
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1237
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1238
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1239
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1240
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1241
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1242
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1243
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1244
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1245
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1246
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1247
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1248
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1249
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1250
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1251
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1252
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1253
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1254
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1255
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1256
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1257
|
-
<span class="cline-any cline-no"> </span>
|
|
1258
|
-
<span class="cline-any cline-no"> </span>
|
|
1259
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1260
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1261
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1262
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1263
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1264
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1265
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1266
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1267
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1268
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1269
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1270
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1271
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1272
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1273
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1274
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1275
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1276
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1277
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1278
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1279
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1280
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1281
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1282
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1283
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1284
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1285
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1286
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1287
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1288
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1289
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1290
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1291
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1292
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1293
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1294
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1295
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1296
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1297
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1298
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1299
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1300
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1301
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1302
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1303
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1304
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1305
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1306
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1307
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1308
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1309
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1310
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1311
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1312
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1313
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1314
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1315
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1316
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1317
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1318
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1319
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1320
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1321
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1323
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1324
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1325
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1326
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1327
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1328
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1329
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1330
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1331
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1332
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1333
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1334
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1335
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1336
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1337
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1338
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1339
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1340
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1352
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1354
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1355
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1357
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1358
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1359
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1360
|
-
<span class="cline-any cline-no"> </span>
|
|
1361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1363
|
-
<span class="cline-any cline-no"> </span>
|
|
1364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1367
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1368
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1370
|
-
<span class="cline-any cline-no"> </span>
|
|
1371
|
-
<span class="cline-any cline-no"> </span>
|
|
1372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1375
|
-
<span class="cline-any cline-no"> </span>
|
|
1376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1378
|
-
<span class="cline-any cline-no"> </span>
|
|
1379
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1380
|
-
<span class="cline-any cline-no"> </span>
|
|
1381
|
-
<span class="cline-any cline-no"> </span>
|
|
1382
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1384
|
-
<span class="cline-any cline-no"> </span>
|
|
1385
|
-
<span class="cline-any cline-no"> </span>
|
|
1386
|
-
<span class="cline-any cline-no"> </span>
|
|
1387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1388
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1389
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1390
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1391
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1393
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1395
|
-
<span class="cline-any cline-no"> </span>
|
|
1396
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1398
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1401
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1404
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1406
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1407
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1408
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1410
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1411
|
-
<span class="cline-any cline-no"> </span>
|
|
1412
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1413
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1414
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1415
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1418
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1419
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1421
|
-
<span class="cline-any cline-no"> </span>
|
|
1422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1423
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1434
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1435
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1437
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1439
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1440
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1446
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1447
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1448
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1452
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1454
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1468
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1473
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1474
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1475
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1476
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1480
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1481
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1486
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1488
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1491
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1494
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1497
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1498
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1500
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1502
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1503
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1505
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1506
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1507
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1509
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1514
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1516
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1519
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1522
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1524
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1527
|
-
<span class="cline-any cline-no"> </span>
|
|
1528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1529
|
-
<span class="cline-any cline-no"> </span>
|
|
1530
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1532
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1540
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1542
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1544
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1545
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1546
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1548
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1549
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1550
|
-
<span class="cline-any cline-no"> </span>
|
|
1551
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1556
|
-
<span class="cline-any cline-no"> </span>
|
|
1557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1558
|
-
<span class="cline-any cline-no"> </span>
|
|
1559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1561
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1565
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1566
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1567
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1569
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1570
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1571
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1576
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1577
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1579
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1581
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1583
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1584
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1586
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1587
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1593
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1594
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1595
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1598
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1599
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1600
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1601
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1602
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1603
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1608
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1614
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1616
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1617
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1618
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1620
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1622
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1625
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1626
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1627
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1628
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1630
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1631
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1632
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1633
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1634
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1635
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1636
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1637
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1638
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1640
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1641
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1642
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1643
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1645
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1646
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1647
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1648
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1649
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1650
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1651
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1652
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1653
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1654
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1655
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1656
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1657
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1658
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1659
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1661
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1665
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1666
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1668
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1669
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1670
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1671
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1672
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1673
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1675
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1676
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1677
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1678
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1679
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1680
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1681
|
-
<span class="cline-any cline-no"> </span>
|
|
1682
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1684
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1685
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1686
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1687
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1688
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1690
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1692
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1693
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1694
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1695
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1696
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1697
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1698
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1699
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1700
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1701
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1702
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1703
|
-
<span class="cline-any cline-no"> </span>
|
|
1704
|
-
<span class="cline-any cline-no"> </span>
|
|
1705
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1706
|
-
<span class="cline-any cline-no"> </span>
|
|
1707
|
-
<span class="cline-any cline-no"> </span>
|
|
1708
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1709
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1710
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1711
|
-
<span class="cline-any cline-no"> </span>
|
|
1712
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1713
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1714
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1715
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1716
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1717
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1718
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1719
|
-
<span class="cline-any cline-no"> </span>
|
|
1720
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1721
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1722
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1723
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1724
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1726
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1727
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1728
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1731
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1732
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1734
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1736
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1737
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1739
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1742
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1743
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1744
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1745
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1746
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1747
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1748
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1749
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1750
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1751
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1752
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1753
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1754
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1755
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1756
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1758
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1759
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1760
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1761
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1762
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1763
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1764
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1765
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1766
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1767
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1768
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1769
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1770
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1771
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1772
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1774
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1775
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1776
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1777
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1778
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1780
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1781
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1783
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1784
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1785
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1786
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1787
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1788
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1789
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1791
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1793
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1794
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1795
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1797
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1798
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1799
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1800
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1801
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1803
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1804
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1805
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1806
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1807
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1808
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1809
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1811
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1812
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1814
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1815
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1816
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1818
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1819
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1820
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1821
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1822
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1823
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1824
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1825
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1826
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1827
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1828
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1829
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1830
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1831
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1832
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1833
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1834
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1835
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1836
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1837
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1841
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1842
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1843
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1844
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1845
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1846
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1847
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1848
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1849
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1850
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1852
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1854
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1855
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1856
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1858
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1859
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1860
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1862
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1863
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1864
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1866
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1867
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1868
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1869
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1870
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1871
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1872
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1873
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1874
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1875
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1876
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1877
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1878
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1879
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1880
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1881
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1882
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1883
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1884
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1885
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1886
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1887
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1888
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1890
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1891
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1892
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1893
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1894
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1895
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1896
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1897
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1898
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1899
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1900
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1901
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1902
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1903
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1904
|
-
<span class="cline-any cline-no"> </span>
|
|
1905
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1906
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1907
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1908
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1909
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1910
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1911
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1912
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1913
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1914
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1915
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1916
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1917
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1918
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1919
|
-
<span class="cline-any cline-no"> </span>
|
|
1920
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1921
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1922
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1923
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1924
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1925
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1926
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1927
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1928
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1929
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1930
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1931
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1932
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1933
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1934
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1935
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1936
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1937
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1938
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1939
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1940
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1941
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1942
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1943
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1944
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1945
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1946
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1947
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1948
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1949
|
-
<span class="cline-any cline-no"> </span>
|
|
1950
|
-
<span class="cline-any cline-no"> </span>
|
|
1951
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1952
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1953
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1954
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1955
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1956
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1957
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1958
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1959
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1960
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1961
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1962
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1963
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1964
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1965
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1966
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1967
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1968
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1969
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1970
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1971
|
-
<span class="cline-any cline-no"> </span>
|
|
1972
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1973
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1974
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1975
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1976
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1977
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1978
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1979
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1980
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1981
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1982
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1983
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1985
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1986
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1987
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1988
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1989
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1990
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1991
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1992
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1993
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1994
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1995
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1996
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1997
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1998
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1999
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2000
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2001
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2002
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2003
|
-
<span class="cline-any cline-no"> </span>
|
|
2004
|
-
<span class="cline-any cline-no"> </span>
|
|
2005
|
-
<span class="cline-any cline-no"> </span>
|
|
2006
|
-
<span class="cline-any cline-no"> </span>
|
|
2007
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2008
|
-
<span class="cline-any cline-no"> </span>
|
|
2009
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2010
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2011
|
-
<span class="cline-any cline-no"> </span>
|
|
2012
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2013
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2014
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2015
|
-
<span class="cline-any cline-yes">3x</span>
|
|
2016
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">// Browser-compatible monorepo service
|
|
2017
|
-
// In a real production app, this would make API calls to a backend service
|
|
2018
|
-
const apiUrl = (window as any).ENV?.API_URL ?? 'localhost:8999';
|
|
2019
|
-
|
|
2020
|
-
export interface Package {
|
|
2021
|
-
name: string;
|
|
2022
|
-
version: string;
|
|
2023
|
-
type: 'app' | 'lib' | 'tool' | 'service';
|
|
2024
|
-
status: 'healthy' | 'warning' | 'error' | 'building';
|
|
2025
|
-
lastUpdated: string;
|
|
2026
|
-
dependencies: string[];
|
|
2027
|
-
maintainers: string[];
|
|
2028
|
-
tags: string[];
|
|
2029
|
-
description: string;
|
|
2030
|
-
path: string;
|
|
2031
|
-
private?: boolean;
|
|
2032
|
-
scripts?: Record<string, string>;
|
|
2033
|
-
peerDependencies?: string[];
|
|
2034
|
-
devDependencies?: string[];
|
|
2035
|
-
}
|
|
2036
|
-
|
|
2037
|
-
export interface DependencyInfo {
|
|
2038
|
-
name: string;
|
|
2039
|
-
version: string;
|
|
2040
|
-
type: 'dependency' | 'devDependency' | 'peerDependency';
|
|
2041
|
-
latest?: string;
|
|
2042
|
-
outdated?: boolean;
|
|
2043
|
-
status: string;
|
|
2044
|
-
}
|
|
2045
|
-
|
|
2046
|
-
export interface HealthMetric {
|
|
2047
|
-
name: string;
|
|
2048
|
-
value: number;
|
|
2049
|
-
status: 'healthy' | 'warning' | 'error';
|
|
2050
|
-
description: string;
|
|
2051
|
-
}
|
|
2052
|
-
|
|
2053
|
-
export interface BuildStatus {
|
|
2054
|
-
id: string;
|
|
2055
|
-
package: string;
|
|
2056
|
-
status: 'success' | 'failed' | 'building' | 'queued';
|
|
2057
|
-
startTime: string;
|
|
2058
|
-
endTime?: string;
|
|
2059
|
-
duration?: number;
|
|
2060
|
-
stages: BuildStage[];
|
|
2061
|
-
}
|
|
2062
|
-
|
|
2063
|
-
export interface BuildStage {
|
|
2064
|
-
name: string;
|
|
2065
|
-
status: 'success' | 'failed' | 'running' | 'pending';
|
|
2066
|
-
duration?: number;
|
|
2067
|
-
logs?: string[];
|
|
2068
|
-
}
|
|
2069
|
-
|
|
2070
|
-
export interface ConfigFile {
|
|
2071
|
-
id: string;
|
|
2072
|
-
name: string;
|
|
2073
|
-
path: string;
|
|
2074
|
-
type: 'json' | 'yaml' | 'js' | 'ts' | 'env';
|
|
2075
|
-
content: string;
|
|
2076
|
-
lastModified: string;
|
|
2077
|
-
size: number;
|
|
2078
|
-
hasSecrets: boolean;
|
|
2079
|
-
}
|
|
2080
|
-
const host = '0.0.0.0';
|
|
2081
|
-
const port = '4004';
|
|
2082
|
-
const API_BASE = `http://${apiUrl}/api`;
|
|
2083
|
-
class MonorepoService {
|
|
2084
|
-
// Simulated monorepo data based on typical monorepo structure
|
|
2085
|
-
private mockPackages: Package[] = [
|
|
2086
|
-
// {
|
|
2087
|
-
// name: '@monodog/dashboard',
|
|
2088
|
-
// version: '1.0.0',
|
|
2089
|
-
// type: 'app',
|
|
2090
|
-
// status: 'healthy',
|
|
2091
|
-
// lastUpdated: '2024-01-16',
|
|
2092
|
-
// dependencies: 12,
|
|
2093
|
-
// maintainers: ['team-frontend'],
|
|
2094
|
-
// tags: ['core', 'ui', 'application'],
|
|
2095
|
-
// description: 'React dashboard for monodog monorepo management',
|
|
2096
|
-
// path: 'apps/dashboard',
|
|
2097
|
-
// private: false,
|
|
2098
|
-
// scripts: {
|
|
2099
|
-
// dev: 'vite',
|
|
2100
|
-
// build: 'tsc && vite build',
|
|
2101
|
-
// preview: 'vite preview',
|
|
2102
|
-
// lint: 'eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0',
|
|
2103
|
-
// test: 'jest',
|
|
2104
|
-
// },
|
|
2105
|
-
// dependenciesList: [
|
|
2106
|
-
// 'react',
|
|
2107
|
-
// 'react-dom',
|
|
2108
|
-
// 'react-router-dom',
|
|
2109
|
-
// '@heroicons/react',
|
|
2110
|
-
// 'recharts',
|
|
2111
|
-
// 'clsx',
|
|
2112
|
-
// 'date-fns',
|
|
2113
|
-
// 'zustand',
|
|
2114
|
-
// ],
|
|
2115
|
-
// devDependenciesList: [
|
|
2116
|
-
// '@types/react',
|
|
2117
|
-
// '@types/react-dom',
|
|
2118
|
-
// '@vitejs/plugin-react',
|
|
2119
|
-
// 'typescript',
|
|
2120
|
-
// 'vite',
|
|
2121
|
-
// 'tailwindcss',
|
|
2122
|
-
// ],
|
|
2123
|
-
// },
|
|
2124
|
-
// {
|
|
2125
|
-
// name: '@monodog/backend',
|
|
2126
|
-
// version: '1.0.0',
|
|
2127
|
-
// type: 'service',
|
|
2128
|
-
// status: 'healthy',
|
|
2129
|
-
// lastUpdated: '2024-01-16',
|
|
2130
|
-
// dependencies: 8,
|
|
2131
|
-
// maintainers: ['team-backend'],
|
|
2132
|
-
// tags: ['core', 'api', 'service'],
|
|
2133
|
-
// description: 'Backend API server for monodog monorepo dashboard',
|
|
2134
|
-
// path: 'packages/backend',
|
|
2135
|
-
// private: false,
|
|
2136
|
-
// scripts: {
|
|
2137
|
-
// dev: 'tsx watch index.ts',
|
|
2138
|
-
// start: 'tsx index.ts',
|
|
2139
|
-
// build: 'tsc',
|
|
2140
|
-
// test: 'jest',
|
|
2141
|
-
// },
|
|
2142
|
-
// dependenciesList: ['express', 'cors', 'body-parser', '@prisma/client'],
|
|
2143
|
-
// devDependenciesList: [
|
|
2144
|
-
// '@types/express',
|
|
2145
|
-
// '@types/cors',
|
|
2146
|
-
// '@types/node',
|
|
2147
|
-
// 'tsx',
|
|
2148
|
-
// 'typescript',
|
|
2149
|
-
// 'prisma',
|
|
2150
|
-
// ],
|
|
2151
|
-
// },
|
|
2152
|
-
// {
|
|
2153
|
-
// name: '@monodog/utils',
|
|
2154
|
-
// version: '1.0.0',
|
|
2155
|
-
// type: 'lib',
|
|
2156
|
-
// status: 'healthy',
|
|
2157
|
-
// lastUpdated: '2024-01-16',
|
|
2158
|
-
// dependencies: 3,
|
|
2159
|
-
// maintainers: ['team-shared'],
|
|
2160
|
-
// tags: ['shared', 'utilities', 'library'],
|
|
2161
|
-
// description: 'Shared utility functions for monodog monorepo dashboard',
|
|
2162
|
-
// path: 'libs/utils',
|
|
2163
|
-
// private: false,
|
|
2164
|
-
// scripts: {
|
|
2165
|
-
// build: 'tsc',
|
|
2166
|
-
// test: 'jest',
|
|
2167
|
-
// },
|
|
2168
|
-
// dependenciesList: [],
|
|
2169
|
-
// devDependenciesList: ['@types/node', 'typescript'],
|
|
2170
|
-
// },
|
|
2171
|
-
// {
|
|
2172
|
-
// name: '@monodog/monorepo-scanner',
|
|
2173
|
-
// version: '0.2.0',
|
|
2174
|
-
// type: 'tool',
|
|
2175
|
-
// status: 'warning',
|
|
2176
|
-
// lastUpdated: '2024-01-15',
|
|
2177
|
-
// dependencies: 7,
|
|
2178
|
-
// maintainers: ['team-devops'],
|
|
2179
|
-
// tags: ['tooling', 'scanner', 'core'],
|
|
2180
|
-
// description: 'Monorepo package discovery and analysis tool',
|
|
2181
|
-
// path: 'packages/monorepo-scanner',
|
|
2182
|
-
// private: false,
|
|
2183
|
-
// scripts: {
|
|
2184
|
-
// build: 'tsc',
|
|
2185
|
-
// test: 'jest',
|
|
2186
|
-
// scan: 'node dist/index.js',
|
|
2187
|
-
// },
|
|
2188
|
-
// dependenciesList: ['chalk', 'commander', 'glob', 'fs-extra'],
|
|
2189
|
-
// devDependenciesList: ['@types/node', 'typescript', 'jest'],
|
|
2190
|
-
// },
|
|
2191
|
-
// {
|
|
2192
|
-
// name: '@monodog/ci-status',
|
|
2193
|
-
// version: '0.3.1',
|
|
2194
|
-
// type: 'tool',
|
|
2195
|
-
// status: 'healthy',
|
|
2196
|
-
// lastUpdated: '2024-01-14',
|
|
2197
|
-
// dependencies: 5,
|
|
2198
|
-
// maintainers: ['team-devops'],
|
|
2199
|
-
// tags: ['tooling', 'ci', 'monitoring'],
|
|
2200
|
-
// description: 'CI/CD status monitoring and reporting tool',
|
|
2201
|
-
// path: 'packages/ci-status',
|
|
2202
|
-
// private: false,
|
|
2203
|
-
// scripts: {
|
|
2204
|
-
// build: 'tsc',
|
|
2205
|
-
// test: 'jest',
|
|
2206
|
-
// start: 'node dist/index.js',
|
|
2207
|
-
// },
|
|
2208
|
-
// dependenciesList: ['axios', 'ws', 'dotenv'],
|
|
2209
|
-
// devDependenciesList: ['@types/node', 'typescript', 'jest'],
|
|
2210
|
-
// },
|
|
2211
|
-
];
|
|
2212
|
-
|
|
2213
|
-
async getPackages(): Promise<Package[]> {
|
|
2214
|
-
try {
|
|
2215
|
-
const res = await fetch(`${API_BASE}/packages`);
|
|
2216
|
-
|
|
2217
|
-
if (res.ok) {
|
|
2218
|
-
const data = await res.json();
|
|
2219
|
-
return data;
|
|
2220
|
-
}
|
|
2221
|
-
|
|
2222
|
-
// Log the failure and attempt a refresh, but don't throw so tests
|
|
2223
|
-
// that expect a graceful fallback will remain deterministic.
|
|
2224
|
-
console.error(
|
|
2225
|
-
`getPackages: initial fetch failed with status ${res.status}. Attempting refresh...`
|
|
2226
|
-
);
|
|
2227
|
-
|
|
2228
|
-
try {
|
|
2229
|
-
const refreshedData = await this.refreshPackages();
|
|
2230
|
-
return refreshedData;
|
|
2231
|
-
} catch (refreshError) {
|
|
2232
|
-
<span class="cstat-no" title="statement not covered" > console.error('getPackages: refresh failed', refreshError);</span>
|
|
2233
|
-
<span class="cstat-no" title="statement not covered" > return [];</span>
|
|
2234
|
-
}
|
|
2235
|
-
} catch (error) {
|
|
2236
|
-
console.error('getPackages: unexpected error', error);
|
|
2237
|
-
// Final fallback: return empty list so callers don't receive a thrown error
|
|
2238
|
-
return [];
|
|
2239
|
-
}
|
|
2240
|
-
}
|
|
2241
|
-
|
|
2242
|
-
async getPackage(name: string): Promise<Package[]> {
|
|
2243
|
-
const res = await fetch(`${API_BASE}/packages/` + encodeURIComponent(name));
|
|
2244
|
-
if (!res.ok) {
|
|
2245
|
-
throw new Error(
|
|
2246
|
-
`Failed to fetch package details for "${name}" (Status: ${res.status})`
|
|
2247
|
-
);
|
|
2248
|
-
}
|
|
2249
|
-
return await res.json();
|
|
2250
|
-
}
|
|
2251
|
-
|
|
2252
|
-
async getDependencies(): Promise<DependencyInfo[]> {
|
|
2253
|
-
await new Promise(resolve => setTimeout(resolve, 200));
|
|
2254
|
-
const allDeps = new Set<string>();
|
|
2255
|
-
try {
|
|
2256
|
-
const packages = await this.getPackages();
|
|
2257
|
-
|
|
2258
|
-
packages.forEach(pkg => {
|
|
2259
|
-
pkg.dependencies?.forEach(dep => allDeps.add(dep));
|
|
2260
|
-
});
|
|
2261
|
-
|
|
2262
|
-
const dependencyInfoArray: DependencyInfo[] = Array.from(allDeps).map(
|
|
2263
|
-
dep => ({
|
|
2264
|
-
name: dep,
|
|
2265
|
-
version: 'unknown',
|
|
2266
|
-
type: 'dependency',
|
|
2267
|
-
status: 'active',
|
|
2268
|
-
})
|
|
2269
|
-
);
|
|
2270
|
-
|
|
2271
|
-
return dependencyInfoArray;
|
|
2272
|
-
} catch (error) {
|
|
2273
|
-
console.error('Error fetching dependencies:', error);
|
|
2274
|
-
return [];
|
|
2275
|
-
}
|
|
2276
|
-
}
|
|
2277
|
-
|
|
2278
|
-
async refreshPackages(): Promise<Package[]> {
|
|
2279
|
-
try {
|
|
2280
|
-
const pkg = await fetch(`${API_BASE}/packages/refresh`);
|
|
2281
|
-
|
|
2282
|
-
if (!pkg.ok) {
|
|
2283
|
-
console.error(
|
|
2284
|
-
`refreshPackages: fetch failed with status ${pkg.status}`
|
|
2285
|
-
);
|
|
2286
|
-
return [];
|
|
2287
|
-
}
|
|
2288
|
-
|
|
2289
|
-
const pkgData = await pkg.json();
|
|
2290
|
-
console.log('data from refreshPackage:', pkgData);
|
|
2291
|
-
|
|
2292
|
-
return pkgData;
|
|
2293
|
-
} catch (error) {
|
|
2294
|
-
console.error('refreshPackages: unexpected error', error);
|
|
2295
|
-
return [];
|
|
2296
|
-
}
|
|
2297
|
-
}
|
|
2298
|
-
// async getHealthStatus(): Promise<{
|
|
2299
|
-
// overallScore: number;
|
|
2300
|
-
// metrics: HealthMetric[];
|
|
2301
|
-
// packageHealth: Array<{ package: string; score: number; issues: string[] }>;
|
|
2302
|
-
// }> {
|
|
2303
|
-
// console.log('Fetching health status...');
|
|
2304
|
-
// try {
|
|
2305
|
-
// // Call your real backend API
|
|
2306
|
-
// const healthRes = await fetch(`${API_BASE}/health/packages`);
|
|
2307
|
-
|
|
2308
|
-
// if (!healthRes.ok) {
|
|
2309
|
-
// throw new Error('Failed to fetch health data');
|
|
2310
|
-
// }
|
|
2311
|
-
|
|
2312
|
-
// const healthData = await healthRes.json();
|
|
2313
|
-
// console.log('Health data:', healthData);
|
|
2314
|
-
|
|
2315
|
-
// // Transform the data to match your frontend expectations
|
|
2316
|
-
// return this.transformHealthData(healthData);
|
|
2317
|
-
// } catch (error) {
|
|
2318
|
-
// console.error('Error fetching health data:', error);
|
|
2319
|
-
// // Fallback to the existing mock implementation
|
|
2320
|
-
// return await this.getFallbackHealthStatus();
|
|
2321
|
-
// }
|
|
2322
|
-
// }
|
|
2323
|
-
|
|
2324
|
-
async getHealthStatus(): Promise<{
|
|
2325
|
-
overallScore: number;
|
|
2326
|
-
metrics: HealthMetric[];
|
|
2327
|
-
packageHealth: Array<{ package: string; score: number; issues: string[] }>;
|
|
2328
|
-
}> {
|
|
2329
|
-
console.log('getHealthStatus');
|
|
2330
|
-
try {
|
|
2331
|
-
// First attempt to get health data
|
|
2332
|
-
const healthRes = await fetch(`${API_BASE}/health/packages`);
|
|
2333
|
-
console.log('Health data from getHealthStatus:', healthRes);
|
|
2334
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!healthRes.ok) {
|
|
2335
|
-
<span class="cstat-no" title="statement not covered" > console.log('Health data not available, attempting refresh...');</span>
|
|
2336
|
-
|
|
2337
|
-
// If initial fetch fails, try to refresh the data
|
|
2338
|
-
const refreshRes = <span class="cstat-no" title="statement not covered" >await fetch(`${API_BASE}/health/refresh`, {</span>
|
|
2339
|
-
method: 'POST',
|
|
2340
|
-
headers: {
|
|
2341
|
-
'Content-Type': 'application/json',
|
|
2342
|
-
},
|
|
2343
|
-
});
|
|
2344
|
-
|
|
2345
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!refreshRes.ok) {</span>
|
|
2346
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Failed to refresh health data');</span>
|
|
2347
|
-
}
|
|
2348
|
-
|
|
2349
|
-
// Wait a moment for the refresh to complete, then fetch again
|
|
2350
|
-
<span class="cstat-no" title="statement not covered" > await new Promise(<span class="fstat-no" title="function not covered" >resolve </span>=> <span class="cstat-no" title="statement not covered" >setTimeout(resolve, 1000))</span>;</span>
|
|
2351
|
-
|
|
2352
|
-
// Second attempt to get health data after refresh
|
|
2353
|
-
const retryRes = <span class="cstat-no" title="statement not covered" >await fetch(`${API_BASE}/health/packages`);</span>
|
|
2354
|
-
|
|
2355
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!retryRes.ok) {</span>
|
|
2356
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Failed to fetch health data after refresh');</span>
|
|
2357
|
-
}
|
|
2358
|
-
|
|
2359
|
-
const healthData = <span class="cstat-no" title="statement not covered" >await retryRes.json();</span>
|
|
2360
|
-
<span class="cstat-no" title="statement not covered" > console.log('Health data after refresh:', healthData);</span>
|
|
2361
|
-
<span class="cstat-no" title="statement not covered" > return healthData;</span>
|
|
2362
|
-
// return this.transformHealthData(healthData);
|
|
2363
|
-
}
|
|
2364
|
-
|
|
2365
|
-
const healthData = await healthRes.json();
|
|
2366
|
-
console.log('Health data from getHealthStatus:', healthData);
|
|
2367
|
-
// return this.transformHealthData(healthData);
|
|
2368
|
-
return healthData;
|
|
2369
|
-
} catch (error) {
|
|
2370
|
-
<span class="cstat-no" title="statement not covered" > console.error('Error fetching health data:', error);</span>
|
|
2371
|
-
// Fallback to the existing mock implementation
|
|
2372
|
-
// return await this.getFallbackHealthStatus();
|
|
2373
|
-
}
|
|
2374
|
-
}
|
|
2375
|
-
|
|
2376
|
-
async refreshHealthStatus(): Promise<{
|
|
2377
|
-
overallScore: number;
|
|
2378
|
-
metrics: HealthMetric[];
|
|
2379
|
-
packageHealth: Array<{ package: string; score: number; issues: string[] }>;
|
|
2380
|
-
}> {
|
|
2381
|
-
try {
|
|
2382
|
-
// Call your real backend API
|
|
2383
|
-
const healthRes = await fetch(`${API_BASE}/health/refresh`);
|
|
2384
|
-
|
|
2385
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!healthRes.ok) {
|
|
2386
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Failed to fetch health data');</span>
|
|
2387
|
-
}
|
|
2388
|
-
|
|
2389
|
-
const healthData = await healthRes.json();
|
|
2390
|
-
console.log('Health data from refreshHealthStatus:', healthData);
|
|
2391
|
-
|
|
2392
|
-
// Transform the data to match your frontend expectations
|
|
2393
|
-
// return this.transformHealthData(healthData);
|
|
2394
|
-
return healthData;
|
|
2395
|
-
} catch (error) {
|
|
2396
|
-
<span class="cstat-no" title="statement not covered" > console.error('Error fetching health data:', error);</span>
|
|
2397
|
-
// Fallback to the existing mock implementation
|
|
2398
|
-
// return await this.getFallbackHealthStatus();
|
|
2399
|
-
}
|
|
2400
|
-
}
|
|
2401
|
-
// Add this private method for fallback data
|
|
2402
|
-
// async getHealthStatus(): Promise<{
|
|
2403
|
-
// overallScore: number;
|
|
2404
|
-
// metrics: HealthMetric[];
|
|
2405
|
-
// packageHealth: Array<{ package: string; score: number; issues: string[] }>;
|
|
2406
|
-
// }> {
|
|
2407
|
-
// const healthRes = await fetch(`${API_BASE}/health/packages`);
|
|
2408
|
-
// await new Promise(resolve => setTimeout(resolve, 400));
|
|
2409
|
-
|
|
2410
|
-
// const metrics: HealthMetric[] = [];
|
|
2411
|
-
// let totalScore = 0;
|
|
2412
|
-
|
|
2413
|
-
// // Package count metric
|
|
2414
|
-
// const packageCount = this.mockPackages.length;
|
|
2415
|
-
// const packageCountScore = Math.min(100, (packageCount / 10) * 100);
|
|
2416
|
-
// metrics.push({
|
|
2417
|
-
// name: 'Package Count',
|
|
2418
|
-
// value: packageCount,
|
|
2419
|
-
// status:
|
|
2420
|
-
// packageCountScore >= 80
|
|
2421
|
-
// ? 'healthy'
|
|
2422
|
-
// : packageCountScore >= 60
|
|
2423
|
-
// ? 'warning'
|
|
2424
|
-
// : 'error',
|
|
2425
|
-
// description: `${packageCount} packages in monorepo`,
|
|
2426
|
-
// });
|
|
2427
|
-
// totalScore += packageCountScore;
|
|
2428
|
-
|
|
2429
|
-
// // Dependency health metric
|
|
2430
|
-
// const avgDependencies =
|
|
2431
|
-
// this.mockPackages.reduce((sum, pkg) => sum + pkg.dependencies, 0) /
|
|
2432
|
-
// this.mockPackages.length;
|
|
2433
|
-
// const dependencyScore =
|
|
2434
|
-
// avgDependencies <= 15 ? 100 : avgDependencies <= 25 ? 80 : 60;
|
|
2435
|
-
// metrics.push({
|
|
2436
|
-
// name: 'Dependency Health',
|
|
2437
|
-
// value: Math.round(avgDependencies),
|
|
2438
|
-
// status:
|
|
2439
|
-
// dependencyScore >= 80
|
|
2440
|
-
// ? 'healthy'
|
|
2441
|
-
// : dependencyScore >= 60
|
|
2442
|
-
// ? 'warning'
|
|
2443
|
-
// : 'error',
|
|
2444
|
-
// description: `Average ${Math.round(avgDependencies)} dependencies per package`,
|
|
2445
|
-
// });
|
|
2446
|
-
// totalScore += dependencyScore;
|
|
2447
|
-
|
|
2448
|
-
// // Version consistency metric
|
|
2449
|
-
// const versions = this.mockPackages.map(pkg => pkg.version);
|
|
2450
|
-
// const uniqueVersions = new Set(versions).size;
|
|
2451
|
-
// const versionScore =
|
|
2452
|
-
// uniqueVersions <= 3 ? 100 : uniqueVersions <= 5 ? 80 : 60;
|
|
2453
|
-
// metrics.push({
|
|
2454
|
-
// name: 'Version Consistency',
|
|
2455
|
-
// value: uniqueVersions,
|
|
2456
|
-
// status:
|
|
2457
|
-
// versionScore >= 80
|
|
2458
|
-
// ? 'healthy'
|
|
2459
|
-
// : versionScore >= 60
|
|
2460
|
-
// ? 'warning'
|
|
2461
|
-
// : 'error',
|
|
2462
|
-
// description: `${uniqueVersions} different versions in use`,
|
|
2463
|
-
// });
|
|
2464
|
-
// totalScore += versionScore;
|
|
2465
|
-
|
|
2466
|
-
// // Package health analysis
|
|
2467
|
-
// const packageHealth = this.mockPackages.map(pkg => {
|
|
2468
|
-
// let score = 100;
|
|
2469
|
-
// const issues: string[] = [];
|
|
2470
|
-
|
|
2471
|
-
// if (!pkg.description || pkg.description === 'No description provided') {
|
|
2472
|
-
// score -= 20;
|
|
2473
|
-
// issues.push('Missing description');
|
|
2474
|
-
// }
|
|
2475
|
-
|
|
2476
|
-
// if (pkg.dependencies > 20) {
|
|
2477
|
-
// score -= 15;
|
|
2478
|
-
// issues.push('High dependency count');
|
|
2479
|
-
// }
|
|
2480
|
-
|
|
2481
|
-
// if (pkg.private && !pkg.scripts?.build) {
|
|
2482
|
-
// score -= 10;
|
|
2483
|
-
// issues.push('Private package without build script');
|
|
2484
|
-
// }
|
|
2485
|
-
|
|
2486
|
-
// return { package: pkg.name, score: Math.max(0, score), issues };
|
|
2487
|
-
// });
|
|
2488
|
-
|
|
2489
|
-
// const overallScore = Math.round(totalScore / metrics.length);
|
|
2490
|
-
|
|
2491
|
-
// return {
|
|
2492
|
-
// overallScore,
|
|
2493
|
-
// metrics,
|
|
2494
|
-
// packageHealth,
|
|
2495
|
-
// };
|
|
2496
|
-
// }
|
|
2497
|
-
private <span class="fstat-no" title="function not covered" >async </span>getFallbackHealthStatus(): Promise<{
|
|
2498
|
-
overallScore: number;
|
|
2499
|
-
metrics: HealthMetric[];
|
|
2500
|
-
packageHealth: Array<{ package: string; score: number; issues: string[] }>;
|
|
2501
|
-
}> {
|
|
2502
|
-
<span class="cstat-no" title="statement not covered" > await new Promise(<span class="fstat-no" title="function not covered" >resolve </span>=> <span class="cstat-no" title="statement not covered" >setTimeout(resolve, 400))</span>;</span>
|
|
2503
|
-
|
|
2504
|
-
const metrics: HealthMetric[] = <span class="cstat-no" title="statement not covered" >[</span>
|
|
2505
|
-
{
|
|
2506
|
-
name: 'Package Count',
|
|
2507
|
-
value: this.mockPackages.length,
|
|
2508
|
-
status: 'healthy',
|
|
2509
|
-
description: `${this.mockPackages.length} packages in monorepo`,
|
|
2510
|
-
},
|
|
2511
|
-
{
|
|
2512
|
-
name: 'Dependency Health',
|
|
2513
|
-
value: 85,
|
|
2514
|
-
status: 'healthy',
|
|
2515
|
-
description: 'Dependencies are up to date',
|
|
2516
|
-
},
|
|
2517
|
-
{
|
|
2518
|
-
name: 'Build Status',
|
|
2519
|
-
value: 95,
|
|
2520
|
-
status: 'healthy',
|
|
2521
|
-
description: 'Most builds are successful',
|
|
2522
|
-
},
|
|
2523
|
-
];
|
|
2524
|
-
|
|
2525
|
-
const packageHealth = <span class="cstat-no" title="statement not covered" >this.mockPackages.map(<span class="fstat-no" title="function not covered" >pkg </span>=> (<span class="cstat-no" title="statement not covered" >{</span></span>
|
|
2526
|
-
package: pkg.name,
|
|
2527
|
-
score: pkg.status === 'healthy' ? 90 : pkg.status === 'warning' ? 70 : 50,
|
|
2528
|
-
issues: pkg.status === 'healthy' ? [] : ['Needs attention'],
|
|
2529
|
-
}));
|
|
2530
|
-
|
|
2531
|
-
const overallScore = <span class="cstat-no" title="statement not covered" >85;</span>
|
|
2532
|
-
|
|
2533
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2534
|
-
overallScore,
|
|
2535
|
-
metrics,
|
|
2536
|
-
packageHealth,
|
|
2537
|
-
};
|
|
2538
|
-
}
|
|
2539
|
-
|
|
2540
|
-
// Add this private transform method
|
|
2541
|
-
// private transformHealthData(healthData: any): {
|
|
2542
|
-
// overallScore: number;
|
|
2543
|
-
// metrics: HealthMetric[];
|
|
2544
|
-
// packageHealth: Array<{ package: string; score: number; issues: string[] }>;
|
|
2545
|
-
// } {
|
|
2546
|
-
// console.log('-->', healthData);
|
|
2547
|
-
// const overallScore = healthData.summary?.averageScore || 75;
|
|
2548
|
-
|
|
2549
|
-
// // Create metrics from health data
|
|
2550
|
-
// const metrics: HealthMetric[] = [
|
|
2551
|
-
// {
|
|
2552
|
-
// name: 'Package Health',
|
|
2553
|
-
// value: healthData.summary?.healthy || 0,
|
|
2554
|
-
// status: this.calculateHealthStatus(
|
|
2555
|
-
// healthData.summary?.healthy,
|
|
2556
|
-
// healthData.summary?.total
|
|
2557
|
-
// ),
|
|
2558
|
-
// description: `${healthData.summary?.healthy || 0} healthy packages out of ${healthData.summary?.total || 0}`,
|
|
2559
|
-
// },
|
|
2560
|
-
// {
|
|
2561
|
-
// name: 'Overall Score',
|
|
2562
|
-
// value: Math.round(overallScore),
|
|
2563
|
-
// status:
|
|
2564
|
-
// Math.round(overallScore) >= 80
|
|
2565
|
-
// ? 'healthy'
|
|
2566
|
-
// : Math.round(overallScore) >= 60
|
|
2567
|
-
// ? 'warning'
|
|
2568
|
-
// : 'error',
|
|
2569
|
-
// description: `Average health score: ${Math.round(overallScore)}/100`,
|
|
2570
|
-
// },
|
|
2571
|
-
// {
|
|
2572
|
-
// name: 'Unhealthy Packages',
|
|
2573
|
-
// value: healthData.summary?.unhealthy || 0,
|
|
2574
|
-
// status:
|
|
2575
|
-
// (healthData.summary?.unhealthy || 0) === 0
|
|
2576
|
-
// ? 'healthy'
|
|
2577
|
-
// : (healthData.summary?.unhealthy || 0) <= 2
|
|
2578
|
-
// ? 'warning'
|
|
2579
|
-
// : 'error',
|
|
2580
|
-
// description: `${healthData.summary?.unhealthy || 0} packages need attention`,
|
|
2581
|
-
// },
|
|
2582
|
-
// ];
|
|
2583
|
-
|
|
2584
|
-
// // Transform package health data
|
|
2585
|
-
// const packageHealth = healthData.packages.map((pkg: any) => ({
|
|
2586
|
-
// package: pkg.packageName,
|
|
2587
|
-
// score: pkg.health?.overallScore || 0,
|
|
2588
|
-
// issues: pkg.error
|
|
2589
|
-
// ? [pkg.error]
|
|
2590
|
-
// : (pkg.health?.overallScore || 0) < 80
|
|
2591
|
-
// ? ['Needs improvement']
|
|
2592
|
-
// : [],
|
|
2593
|
-
// }));
|
|
2594
|
-
|
|
2595
|
-
// return {
|
|
2596
|
-
// overallScore,
|
|
2597
|
-
// metrics,
|
|
2598
|
-
// packageHealth,
|
|
2599
|
-
// };
|
|
2600
|
-
// }
|
|
2601
|
-
|
|
2602
|
-
// Add this helper method (RENAMED to avoid conflict)
|
|
2603
|
-
// private calculateHealthStatus(
|
|
2604
|
-
// healthy: number,
|
|
2605
|
-
// total: number
|
|
2606
|
-
// ): 'healthy' | 'warning' | 'error' {
|
|
2607
|
-
// if (total === 0) return 'healthy';
|
|
2608
|
-
// const ratio = healthy / total;
|
|
2609
|
-
// if (ratio >= 0.8) return 'healthy';
|
|
2610
|
-
// if (ratio >= 0.6) return 'warning';
|
|
2611
|
-
// return 'error';
|
|
2612
|
-
// }
|
|
2613
|
-
|
|
2614
|
-
// Add this method to your MonorepoService class
|
|
2615
|
-
async updatePackageConfiguration(
|
|
2616
|
-
packageName: string,
|
|
2617
|
-
config: string,
|
|
2618
|
-
packagePath: string
|
|
2619
|
-
): Promise<{
|
|
2620
|
-
success: boolean;
|
|
2621
|
-
message: string;
|
|
2622
|
-
package: any;
|
|
2623
|
-
healthRefreshed?: boolean;
|
|
2624
|
-
preservedFields?: boolean;
|
|
2625
|
-
}> {
|
|
2626
|
-
try {
|
|
2627
|
-
console.log(
|
|
2628
|
-
'📤 Updating package configuration via MonorepoService:',
|
|
2629
|
-
packageName
|
|
2630
|
-
);
|
|
2631
|
-
|
|
2632
|
-
const response = await fetch(`${API_BASE}/packages/update`, {
|
|
2633
|
-
method: 'PUT',
|
|
2634
|
-
headers: {
|
|
2635
|
-
'Content-Type': 'application/json',
|
|
2636
|
-
},
|
|
2637
|
-
body: JSON.stringify({
|
|
2638
|
-
packageName,
|
|
2639
|
-
config,
|
|
2640
|
-
packagePath,
|
|
2641
|
-
}),
|
|
2642
|
-
});
|
|
2643
|
-
|
|
2644
|
-
console.log('📥 Response status:', response.status);
|
|
2645
|
-
|
|
2646
|
-
if (!response.ok) {
|
|
2647
|
-
const errorText = await response.text();
|
|
2648
|
-
console.error('📥 Error response:', errorText);
|
|
2649
|
-
|
|
2650
|
-
let errorMessage = `HTTP error ${response.status}`;
|
|
2651
|
-
if (errorText) {
|
|
2652
|
-
try {
|
|
2653
|
-
const errorData = JSON.parse(errorText);
|
|
2654
|
-
errorMessage = errorData.error || <span class="branch-1 cbranch-no" title="branch not covered" >errorData.message </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >errorMessage;</span>
|
|
2655
|
-
} catch {
|
|
2656
|
-
<span class="cstat-no" title="statement not covered" > errorMessage = errorText || errorMessage;</span>
|
|
2657
|
-
}
|
|
2658
|
-
}
|
|
2659
|
-
throw new Error(errorMessage);
|
|
2660
|
-
}
|
|
2661
|
-
|
|
2662
|
-
const result = await response.json();
|
|
2663
|
-
console.log('📥 Success response:', result);
|
|
2664
|
-
|
|
2665
|
-
return result;
|
|
2666
|
-
} catch (error) {
|
|
2667
|
-
console.error('❌ Error updating package configuration:', error);
|
|
2668
|
-
throw error;
|
|
2669
|
-
}
|
|
2670
|
-
}
|
|
2671
|
-
|
|
2672
|
-
async getBuildStatus(): Promise<BuildStatus[]> {
|
|
2673
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
2674
|
-
|
|
2675
|
-
const builds: BuildStatus[] = [];
|
|
2676
|
-
|
|
2677
|
-
for (const pkg of this.mockPackages) {
|
|
2678
|
-
const hasBuildScript = <span class="cstat-no" title="statement not covered" >pkg.scripts && pkg.scripts.build;</span>
|
|
2679
|
-
const hasTestScript = <span class="cstat-no" title="statement not covered" >pkg.scripts && pkg.scripts.test;</span>
|
|
2680
|
-
|
|
2681
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (hasBuildScript || hasTestScript) {</span>
|
|
2682
|
-
const startTime = <span class="cstat-no" title="statement not covered" >new Date(</span>
|
|
2683
|
-
Date.now() - Math.random() * 86400000
|
|
2684
|
-
).toISOString();
|
|
2685
|
-
const status: 'success' | 'failed' | 'building' | 'queued' =
|
|
2686
|
-
<span class="cstat-no" title="statement not covered" > Math.random() > 0.8</span>
|
|
2687
|
-
? 'failed'
|
|
2688
|
-
: Math.random() > 0.6
|
|
2689
|
-
? 'building'
|
|
2690
|
-
: Math.random() > 0.4
|
|
2691
|
-
? 'queued'
|
|
2692
|
-
: 'success';
|
|
2693
|
-
|
|
2694
|
-
<span class="cstat-no" title="statement not covered" > builds.push({</span>
|
|
2695
|
-
id: `build-${pkg.name}-${Date.now()}`,
|
|
2696
|
-
package: pkg.name,
|
|
2697
|
-
status,
|
|
2698
|
-
startTime,
|
|
2699
|
-
endTime:
|
|
2700
|
-
status !== 'building'
|
|
2701
|
-
? new Date(Date.now() - Math.random() * 3600000).toISOString()
|
|
2702
|
-
: undefined,
|
|
2703
|
-
duration:
|
|
2704
|
-
status !== 'building'
|
|
2705
|
-
? Math.floor(Math.random() * 300) + 60
|
|
2706
|
-
: undefined,
|
|
2707
|
-
stages: this.generateBuildStages(pkg, status),
|
|
2708
|
-
});
|
|
2709
|
-
}
|
|
2710
|
-
}
|
|
2711
|
-
|
|
2712
|
-
return builds;
|
|
2713
|
-
}
|
|
2714
|
-
|
|
2715
|
-
// async getConfigurationFiles(): Promise<ConfigFile[]> {
|
|
2716
|
-
// await new Promise(resolve => setTimeout(resolve, 300));
|
|
2717
|
-
|
|
2718
|
-
// const configFiles: ConfigFile[] = [
|
|
2719
|
-
// {
|
|
2720
|
-
// id: 'config-package.json',
|
|
2721
|
-
// name: 'package.json',
|
|
2722
|
-
// path: 'package.json',
|
|
2723
|
-
// type: 'json',
|
|
2724
|
-
// content: JSON.stringify(
|
|
2725
|
-
// {
|
|
2726
|
-
// name: 'monodog',
|
|
2727
|
-
// version: '1.0.0',
|
|
2728
|
-
// description: 'Self-hosted monorepo package manager dashboard',
|
|
2729
|
-
// private: true,
|
|
2730
|
-
// workspaces: ['apps/*', 'packages/*', 'libs/*'],
|
|
2731
|
-
// scripts: {
|
|
2732
|
-
// dev: 'pnpm --filter @monodog/dashboard dev',
|
|
2733
|
-
// build: 'pnpm --filter @monodog/dashboard build',
|
|
2734
|
-
// test: 'pnpm run test --recursive',
|
|
2735
|
-
// },
|
|
2736
|
-
// },
|
|
2737
|
-
// null,
|
|
2738
|
-
// 2
|
|
2739
|
-
// ),
|
|
2740
|
-
// lastModified: new Date().toISOString(),
|
|
2741
|
-
// size: 1024,
|
|
2742
|
-
// hasSecrets: false,
|
|
2743
|
-
// },
|
|
2744
|
-
// {
|
|
2745
|
-
// id: 'config-pnpm-workspace.yaml',
|
|
2746
|
-
// name: 'pnpm-workspace.yaml',
|
|
2747
|
-
// path: 'pnpm-workspace.yaml',
|
|
2748
|
-
// type: 'yaml',
|
|
2749
|
-
// content: `packages:
|
|
2750
|
-
// - 'apps/*'
|
|
2751
|
-
// - 'packages/*'
|
|
2752
|
-
// - 'libs/*'`,
|
|
2753
|
-
// lastModified: new Date().toISOString(),
|
|
2754
|
-
// size: 64,
|
|
2755
|
-
// hasSecrets: false,
|
|
2756
|
-
// },
|
|
2757
|
-
// {
|
|
2758
|
-
// id: 'config-turbo.json',
|
|
2759
|
-
// name: 'turbo.json',
|
|
2760
|
-
// path: 'turbo.json',
|
|
2761
|
-
// type: 'json',
|
|
2762
|
-
// content: JSON.stringify(
|
|
2763
|
-
// {
|
|
2764
|
-
// $schema: 'https://turbo.build/schema.json',
|
|
2765
|
-
// pipeline: {
|
|
2766
|
-
// build: {
|
|
2767
|
-
// dependsOn: ['^build'],
|
|
2768
|
-
// outputs: ['dist/**'],
|
|
2769
|
-
// },
|
|
2770
|
-
// test: {
|
|
2771
|
-
// dependsOn: ['^build'],
|
|
2772
|
-
// },
|
|
2773
|
-
// dev: {
|
|
2774
|
-
// cache: false,
|
|
2775
|
-
// persistent: true,
|
|
2776
|
-
// },
|
|
2777
|
-
// },
|
|
2778
|
-
// },
|
|
2779
|
-
// null,
|
|
2780
|
-
// 2
|
|
2781
|
-
// ),
|
|
2782
|
-
// lastModified: new Date().toISOString(),
|
|
2783
|
-
// size: 512,
|
|
2784
|
-
// hasSecrets: false,
|
|
2785
|
-
// },
|
|
2786
|
-
// {
|
|
2787
|
-
// id: 'config-tsconfig.json',
|
|
2788
|
-
// name: 'tsconfig.json',
|
|
2789
|
-
// path: 'tsconfig.json',
|
|
2790
|
-
// type: 'json',
|
|
2791
|
-
// content: JSON.stringify(
|
|
2792
|
-
// {
|
|
2793
|
-
// compilerOptions: {
|
|
2794
|
-
// target: 'ES2020',
|
|
2795
|
-
// useDefineForClassFields: true,
|
|
2796
|
-
// lib: ['ES2020', 'DOM', 'DOM.Iterable'],
|
|
2797
|
-
// module: 'ESNext',
|
|
2798
|
-
// skipLibCheck: true,
|
|
2799
|
-
// moduleResolution: 'bundler',
|
|
2800
|
-
// allowImportingTsExtensions: true,
|
|
2801
|
-
// resolveJsonModule: true,
|
|
2802
|
-
// isolatedModules: true,
|
|
2803
|
-
// noEmit: true,
|
|
2804
|
-
// jsx: 'react-jsx',
|
|
2805
|
-
// strict: true,
|
|
2806
|
-
// noUnusedLocals: true,
|
|
2807
|
-
// noUnusedParameters: true,
|
|
2808
|
-
// noFallthroughCasesInSwitch: true,
|
|
2809
|
-
// },
|
|
2810
|
-
// include: ['src'],
|
|
2811
|
-
// references: [{ path: './tsconfig.node.json' }],
|
|
2812
|
-
// },
|
|
2813
|
-
// null,
|
|
2814
|
-
// 2
|
|
2815
|
-
// ),
|
|
2816
|
-
// lastModified: new Date().toISOString(),
|
|
2817
|
-
// size: 768,
|
|
2818
|
-
// hasSecrets: false,
|
|
2819
|
-
// },
|
|
2820
|
-
// {
|
|
2821
|
-
// id: 'config-vite.config.ts',
|
|
2822
|
-
// name: 'vite.config.ts',
|
|
2823
|
-
// path: 'vite.config.ts',
|
|
2824
|
-
// type: 'ts',
|
|
2825
|
-
// content: `import { defineConfig } from 'vite';
|
|
2826
|
-
// import react from '@vitejs/plugin-react';
|
|
2827
|
-
|
|
2828
|
-
// export default defineConfig({
|
|
2829
|
-
// plugins: [react()],
|
|
2830
|
-
// });`,
|
|
2831
|
-
// lastModified: new Date().toISOString(),
|
|
2832
|
-
// size: 256,
|
|
2833
|
-
// hasSecrets: false,
|
|
2834
|
-
// },
|
|
2835
|
-
// {
|
|
2836
|
-
// id: 'config-tailwind.config.js',
|
|
2837
|
-
// name: 'tailwind.config.js',
|
|
2838
|
-
// path: 'tailwind.config.js',
|
|
2839
|
-
// type: 'js',
|
|
2840
|
-
// content: `/** @type {import('tailwindcss').Config} */
|
|
2841
|
-
// export default {
|
|
2842
|
-
// content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
|
|
2843
|
-
// theme: {
|
|
2844
|
-
// extend: {},
|
|
2845
|
-
// },
|
|
2846
|
-
// plugins: [],
|
|
2847
|
-
// }`,
|
|
2848
|
-
// lastModified: new Date().toISOString(),
|
|
2849
|
-
// size: 192,
|
|
2850
|
-
// hasSecrets: false,
|
|
2851
|
-
// },
|
|
2852
|
-
// {
|
|
2853
|
-
// id: 'config-env',
|
|
2854
|
-
// name: '.env.example',
|
|
2855
|
-
// path: '.env.example',
|
|
2856
|
-
// type: 'env',
|
|
2857
|
-
// content: `# Environment variables for monodog
|
|
2858
|
-
// DATABASE_URL=postgresql://username:password@localhost:5432/monodog
|
|
2859
|
-
// JWT_SECRET=your-jwt-secret-key-here
|
|
2860
|
-
// API_KEY=your-api-key-here
|
|
2861
|
-
// GITHUB_TOKEN=ghp_your-github-token-here`,
|
|
2862
|
-
// lastModified: new Date().toISOString(),
|
|
2863
|
-
// size: 256,
|
|
2864
|
-
// hasSecrets: true,
|
|
2865
|
-
// },
|
|
2866
|
-
// ];
|
|
2867
|
-
|
|
2868
|
-
// return configFiles;
|
|
2869
|
-
// }
|
|
2870
|
-
|
|
2871
|
-
async getConfigurationFiles(): Promise<ConfigFile[]> {
|
|
2872
|
-
try {
|
|
2873
|
-
console.log('Fetching configuration files from backend...');
|
|
2874
|
-
|
|
2875
|
-
// Call your real backend API
|
|
2876
|
-
const res = await fetch(`${API_BASE}/config/files`);
|
|
2877
|
-
|
|
2878
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!res.ok) {
|
|
2879
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
2880
|
-
`Failed to fetch config files: ${res.status} ${res.statusText}`
|
|
2881
|
-
);
|
|
2882
|
-
}
|
|
2883
|
-
|
|
2884
|
-
const response = await res.json();
|
|
2885
|
-
|
|
2886
|
-
console.log('Response from config files API:', response);
|
|
2887
|
-
|
|
2888
|
-
if (response.success && response.files) {
|
|
2889
|
-
console.log(
|
|
2890
|
-
`Successfully fetched ${response.files.length} configuration files`
|
|
2891
|
-
);
|
|
2892
|
-
return response.files;
|
|
2893
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
2894
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Invalid response format from config files API');</span>
|
|
2895
|
-
}
|
|
2896
|
-
} catch (error) {
|
|
2897
|
-
console.error('Error fetching configuration files from backend:', error);
|
|
2898
|
-
|
|
2899
|
-
// Fallback to empty array if backend call fails
|
|
2900
|
-
console.log('Returning empty config files list due to error...');
|
|
2901
|
-
return [];
|
|
2902
|
-
}
|
|
2903
|
-
}
|
|
2904
|
-
|
|
2905
|
-
async saveConfigurationFile(
|
|
2906
|
-
fileId: string,
|
|
2907
|
-
content: string
|
|
2908
|
-
): Promise<ConfigFile> {
|
|
2909
|
-
try {
|
|
2910
|
-
console.log('Saving configuration file:', fileId);
|
|
2911
|
-
|
|
2912
|
-
const res = await fetch(
|
|
2913
|
-
`${API_BASE}/config/files/${encodeURIComponent(fileId)}`,
|
|
2914
|
-
{
|
|
2915
|
-
method: 'PUT',
|
|
2916
|
-
headers: {
|
|
2917
|
-
'Content-Type': 'application/json',
|
|
2918
|
-
},
|
|
2919
|
-
body: JSON.stringify({ content }),
|
|
2920
|
-
}
|
|
2921
|
-
);
|
|
2922
|
-
|
|
2923
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!res.ok) {
|
|
2924
|
-
const errorData = <span class="cstat-no" title="statement not covered" >await res.json();</span>
|
|
2925
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
2926
|
-
errorData.error ||
|
|
2927
|
-
`Failed to save file: ${res.status} ${res.statusText}`
|
|
2928
|
-
);
|
|
2929
|
-
}
|
|
2930
|
-
|
|
2931
|
-
const response = await res.json();
|
|
2932
|
-
|
|
2933
|
-
if (response.success && response.file) {
|
|
2934
|
-
console.log('File saved successfully:', fileId);
|
|
2935
|
-
return response.file;
|
|
2936
|
-
} else {
|
|
2937
|
-
throw new Error('Invalid response format from save file API');
|
|
2938
|
-
}
|
|
2939
|
-
} catch (error) {
|
|
2940
|
-
console.error('Error saving configuration file:', error);
|
|
2941
|
-
throw error; // Re-throw to let the component handle it
|
|
2942
|
-
}
|
|
2943
|
-
}
|
|
2944
|
-
|
|
2945
|
-
private <span class="fstat-no" title="function not covered" >generateBuildStages(</span>pkg: Package, status: string): BuildStage[] {
|
|
2946
|
-
const stages: BuildStage[] = <span class="cstat-no" title="statement not covered" >[</span>
|
|
2947
|
-
{
|
|
2948
|
-
name: 'Install',
|
|
2949
|
-
status: 'success',
|
|
2950
|
-
duration: Math.floor(Math.random() * 30) + 10,
|
|
2951
|
-
logs: [
|
|
2952
|
-
'Installing dependencies...',
|
|
2953
|
-
'Dependencies installed successfully',
|
|
2954
|
-
],
|
|
2955
|
-
},
|
|
2956
|
-
{
|
|
2957
|
-
name: 'Lint',
|
|
2958
|
-
status:
|
|
2959
|
-
status === 'failed' && Math.random() > 0.7 ? 'failed' : 'success',
|
|
2960
|
-
duration: Math.floor(Math.random() * 20) + 5,
|
|
2961
|
-
logs: ['Running ESLint...', 'Linting completed'],
|
|
2962
|
-
},
|
|
2963
|
-
{
|
|
2964
|
-
name: 'Test',
|
|
2965
|
-
status:
|
|
2966
|
-
status === 'failed' && Math.random() > 0.5 ? 'failed' : 'success',
|
|
2967
|
-
duration: Math.floor(Math.random() * 60) + 30,
|
|
2968
|
-
logs: ['Running tests...', 'Test suite completed'],
|
|
2969
|
-
},
|
|
2970
|
-
{
|
|
2971
|
-
name: 'Build',
|
|
2972
|
-
status: status === 'failed' ? 'failed' : 'success',
|
|
2973
|
-
duration: Math.floor(Math.random() * 120) + 60,
|
|
2974
|
-
logs: ['Building package...', 'Build completed successfully'],
|
|
2975
|
-
},
|
|
2976
|
-
];
|
|
2977
|
-
|
|
2978
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (status === 'building') {</span>
|
|
2979
|
-
const buildingStage = <span class="cstat-no" title="statement not covered" >Math.floor(Math.random() * stages.length);</span>
|
|
2980
|
-
<span class="cstat-no" title="statement not covered" > stages[buildingStage].status = 'running';</span>
|
|
2981
|
-
<span class="cstat-no" title="statement not covered" > stages</span>
|
|
2982
|
-
.slice(buildingStage + 1)
|
|
2983
|
-
.forEach(<span class="fstat-no" title="function not covered" >stage </span>=> (<span class="cstat-no" title="statement not covered" >stage.status = 'pending')</span>);
|
|
2984
|
-
}
|
|
2985
|
-
|
|
2986
|
-
<span class="cstat-no" title="statement not covered" > return stages;</span>
|
|
2987
|
-
}
|
|
2988
|
-
}
|
|
2989
|
-
|
|
2990
|
-
export const monorepoService = new MonorepoService();
|
|
2991
|
-
</pre></td></tr></table></pre>
|
|
2992
|
-
|
|
2993
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
2994
|
-
</div><!-- /wrapper -->
|
|
2995
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
2996
|
-
Code coverage generated by
|
|
2997
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
2998
|
-
at 2025-12-19T08:58:26.640Z
|
|
2999
|
-
</div>
|
|
3000
|
-
<script src="../../../prettify.js"></script>
|
|
3001
|
-
<script>
|
|
3002
|
-
window.onload = function () {
|
|
3003
|
-
prettyPrint();
|
|
3004
|
-
};
|
|
3005
|
-
</script>
|
|
3006
|
-
<script src="../../../sorter.js"></script>
|
|
3007
|
-
<script src="../../../block-navigation.js"></script>
|
|
3008
|
-
</body>
|
|
3009
|
-
</html>
|
|
3010
|
-
|